[dracut] dracut-036-16.git20140206

Harald Hoyer harald at fedoraproject.org
Thu Feb 6 16:06:00 UTC 2014


commit bcb5fa941de5cd6112bfe17aba128e85ef7a4af8
Author: Harald Hoyer <harald at redhat.com>
Date:   Thu Feb 6 17:06:12 2014 +0100

    dracut-036-16.git20140206
    
    - version 036
    - parse dns information on "ip=" command line arg
    - preserve ownership of files, if root creates the initramfs
    - parse ibft nameserver settings
    - do not run dhcp twice on an interface
    - try to not reload systemd

 .gitignore                                         |    1 +
 0001-NEWS-update-for-version-036.patch             |   21 +
 0001-lvm-install-thin-utils-for-non-hostonly.patch |   38 -
 ...p.sh-add-comments-for-dracut-called-funct.patch | 1781 -----------
 0002-network-understand-ip-.-dns1-dns2.patch       |   50 +
 ...e-i18n.sh-parse-rd.vconsole-and-rd.locale.patch |   48 -
 ...nly-set-the-owner-of-files-to-0-0-if-gene.patch |   36 +
 ...tions.sh-also-search-in-the-updates-direc.patch |   22 +
 ...o-not-bail-out-if-kernel-modules-dir-is-m.patch |   38 -
 0005-Doc-cleanup-extend-and-split-and-reuse.patch  | 3212 --------------------
 ...net-lib.sh-parse-ibft-nameserver-settings.patch |   34 +
 0006-dmsquash-live-add-dev-mapper-live-base.patch  |   47 -
 ...p.sh-handle-dns1-and-dns2-from-ip-setting.patch |   72 +
 0007-base-init.sh-also-mkdir-run-lock.patch        |   21 -
 ...eport.sh-add-dracut-version-to-rdsosrepor.patch |   43 +
 0008-resume-fix-swap-detection-in-hostonly.patch   |   28 -
 0008-test-include-the-same-Makefile.testdir.patch  |  297 ++
 ...p-do-not-ifup-an-already-setup-network-in.patch |   26 +
 0009-resume-remove-resume-genrules.sh.patch        |   88 -
 ...-lz4-compression-and-read-INITRD_COMPRESS.patch |  105 -
 ...p-do-not-run-dhclient-twice-on-the-same-i.patch |   23 +
 0011-lvm-fix-thin-recognition.patch                |   37 -
 ...-symlink-dev-null-to-dev-nfs-as-a-marker-.patch |   23 +
 ...sh-also-mkdir-run-lock-which-is-copied-to.patch |   22 -
 ...cut-pre-pivot-run-for-dev-nfs-root-and-cl.patch |   37 +
 0013-Do-not-reload-systemd-with-wait_for_dev.patch |  102 +
 ...-dracut.sh-no-need-to-make-subdirs-in-run.patch |   22 -
 ...e-only-redirect-output-to-loginit.pipe-if.patch |   36 -
 0014-systemd-add-sys-kernel-config.mount.patch     |   31 +
 0015-Factor-out-all-the-type-V-commands.patch      |  735 +++++
 0015-mkdir-basic-dirs-in-run.patch                 |   83 -
 ...tions.sh-check_block_and_slaves-skip-LVM-.patch |   50 -
 ...les-ARM-add-mmc_block-usb_storage-to-stat.patch |   23 -
 0018-lvm-always-install-thin-utils-for-lvm.patch   |   76 -
 0019-usrmount-module-setup.sh-fixed-typo.patch     |   22 -
 ...rypto-modules-with-and-without-modaliases.patch |   85 -
 0021-fips-include-crct10dif_generic.patch          |   23 -
 ...o-not-try-to-mount-the-whole-disk-if-root.patch |   61 -
 ....spec-move-sbin-dracut-to-usr-sbin-dracut.patch |   33 -
 0024-dracut.sh-fixed-PATH-shortener.patch          |   22 -
 ...racut.modules.7.asc-removed-empty-section.patch |   21 -
 ...-install-etc-system-fips-in-the-initramfs.patch |   20 -
 ...tions.sh-Avoid-loading-unnecessary-32-bit.patch |   43 -
 0028-iscsi-nbd-do-not-fail-in-hostonly-mode.patch  |   36 -
 ...not-exit-the-initqueue-if-systemd-asks-a-.patch |   27 -
 0030-Run-xz-and-lzma-with-multiple-threads.patch   |   35 -
 ...les-add-ohci-pci-to-the-list-of-forced-mo.patch |   30 -
 ...-lvm-do-not-run-pvscan-for-lvmetad-update.patch |   36 -
 0033-fips-fix-RHEV-vmlinuz-check.patch             |   39 -
 ...ine.7.asc-document-server-ip-of-ip-parame.patch |   28 -
 ...get_fs_type-if-block-device-exists-return.patch |   31 -
 ...t-lib.sh-wait_for_if_up-wait-for-state-UP.patch |   23 -
 0037-network-net-lib.sh-iface_has_link-fixup.patch |   73 -
 ...p.sh-before-doing-dhcp-check-if-the-link-.patch |   25 -
 ...cut-lib.sh-wait_for_dev-relax-requirement.patch |   39 -
 0040-resume-autoconf-resume.patch                  |   37 -
 0041-resume-no-more-autoresume.patch               |   98 -
 ...t.sh-skip-crypt-swaps-with-password-files.patch |   22 -
 ...tions.sh-do-not-force-require-modules.bui.patch |   41 -
 ...e-i18n.sh-fixed-vconsole.conf-locale.conf.patch |   56 -
 0045-95dasd-Install-kernel-modules-only-once.patch |   34 -
 ...-install-module-if-normalize_dasd_arg-is-.patch |   25 -
 0047-95dasd_mod-make-dasd_cio_free-optional.patch  |   38 -
 0048-95zfcp-Make-installation-optional.patch       |   35 -
 0049-95znet-Make-installation-optional.patch       |   25 -
 0050-Add-DASD-configuration-for-SuSE.patch         |  152 -
 0051-Add-zfcp-scripts-for-SUSE.patch               |  118 -
 0052-Make-logfile-configurable.patch               |   67 -
 ...se-Add-SUSE-compability-wrapper-for-dracu.patch |  375 ---
 ...se.8.asc-Add-manpage-for-SUSE-compat-mkin.patch |  136 -
 0055-Fixup-keymap-setting-for-openSUSE.patch       |   26 -
 0056-Fixup-script-permissions.patch                |   46 -
 ...emove-shebang-from-shell-completion-files.patch |   34 -
 ...l-thin-tools-only-when-needed-in-hostonly.patch |   27 -
 ...uce-i18n_install_all-to-install-everythin.patch |  127 -
 0060-dracut.spec-add-new-modules.patch             |   24 -
 0061-dracut.spec-remove-suse-man-pages.patch       |   35 -
 0062-TODO-update.patch                             |   21 -
 ...cut-initqueue.sh-fixed-waiting-in-the-loo.patch |   25 -
 0064-base-rdsosreport.sh-add-ip-a-output.patch     |   22 -
 0065-usrmount-always-install.patch                 |   25 -
 ...coe-move-uefi-parsing-to-fcoe-uefi-module.patch |   57 -
 0067-move-uefi-lib-to-a-seperate-module.patch      |   92 -
 0068-lvm-fixed-lvm-thin-check.patch                |   31 -
 ...racut.spec-add-95fcoe-uefi-and-99uefi-lib.patch |   22 -
 ...7-LVM-THIN-add-test-case-for-lvm-thin-poo.patch |  232 --
 0071-test-TEST-17-LVM-THIN-remove-.testdir.patch   |   17 -
 ...i-do-iscsi_firmware-regardless-of-network.patch |   66 -
 ...wait_for_dev-prevent-systemd-daemon-reloa.patch |  127 -
 dracut.spec                                        |  128 +-
 sources                                            |    2 +-
 91 files changed, 1604 insertions(+), 8901 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 0ad93dd..5766766 100644
--- a/.gitignore
+++ b/.gitignore
@@ -21,3 +21,4 @@
 /dracut-032.tar.bz2
 /dracut-033.tar.bz2
 /dracut-034.tar.bz2
+/dracut-036.tar.xz
diff --git a/0001-NEWS-update-for-version-036.patch b/0001-NEWS-update-for-version-036.patch
new file mode 100644
index 0000000..40de065
--- /dev/null
+++ b/0001-NEWS-update-for-version-036.patch
@@ -0,0 +1,21 @@
+From d50a99c5ceeb7107f624c5d3238d37509b2217a8 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 29 Jan 2014 08:37:43 +0100
+Subject: [PATCH] NEWS: update for version 036
+
+---
+ NEWS | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/NEWS b/NEWS
+index 5b88600..ccf279f 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,7 @@
++dracut-036
++==========
++- fixed skipcpio signature checking
++
+ dracut-035
+ ==========
+ - changed dracut tarball compression to xz
diff --git a/0002-network-understand-ip-.-dns1-dns2.patch b/0002-network-understand-ip-.-dns1-dns2.patch
new file mode 100644
index 0000000..ef256e0
--- /dev/null
+++ b/0002-network-understand-ip-.-dns1-dns2.patch
@@ -0,0 +1,50 @@
+From 66bfe863f551389add3a3a53067264ce32eba302 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 30 Jan 2014 13:50:02 +0100
+Subject: [PATCH] network: understand ip=.....:<dns1>:<dns2>
+
+---
+ modules.d/40network/net-lib.sh | 23 +++++++++++++++++------
+ 1 file changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index 7544401..36fad12 100755
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -339,7 +339,7 @@ ip_to_var() {
+         fi
+     done
+ 
+-    unset ip srv gw mask hostname dev autoconf macaddr mtu
++    unset ip srv gw mask hostname dev autoconf macaddr mtu dns1 dns2
+     case $# in
+         0)  autoconf="error" ;;
+         1)  autoconf=$1 ;;
+@@ -347,11 +347,22 @@ ip_to_var() {
+         3)  [ -n "$1" ] && dev=$1; [ -n "$2" ] && autoconf=$2; [ -n "$3" ] && mtu=$3 ;;
+         4)  [ -n "$1" ] && dev=$1; [ -n "$2" ] && autoconf=$2; [ -n "$3" ] && mtu=$3; [ -n "$4" ] && macaddr=$4 ;;
+         *)  [ -n "$1" ] && ip=$1; [ -n "$2" ] && srv=$2; [ -n "$3" ] && gw=$3; [ -n "$4" ] && mask=$4;
+-            [ -n "$5" ] && hostname=$5; [ -n "$6" ] && dev=$6; [ -n "$7" ] && autoconf=$7; [ -n "$8" ] && mtu=$8;
+-            if [ -n "${9}" -a -n "${10}" -a -n "${11}" -a -n "${12}" -a -n "${13}" -a -n "${14}" ]; then
+-                macaddr="${9}:${10}:${11}:${12}:${13}:${14}"
+-            fi
+-	    ;;
++            [ -n "$5" ] && hostname=$5; [ -n "$6" ] && dev=$6; [ -n "$7" ] && autoconf=$7;
++            case "$8" in
++                [0-9]*:*|[0-9]*.[0-9]*.[0-9]*.[0-9]*)
++                    dns1="$mtu"; unset $mtu
++                    [ -n "$9" ] && dns2="$9"
++                    ;;
++                [0-9]*)
++                    mtu="$8"
++                    ;;
++                *)
++                    if [ -n "${9}" -a -n "${10}" -a -n "${11}" -a -n "${12}" -a -n "${13}" -a -n "${14}" ]; then
++                        macaddr="${9}:${10}:${11}:${12}:${13}:${14}"
++                    fi
++	            ;;
++            esac
++            ;;
+     esac
+ 
+     # ip=<ipv4-address> means anaconda-style static config argument cluster:
diff --git a/0003-dracut.sh-only-set-the-owner-of-files-to-0-0-if-gene.patch b/0003-dracut.sh-only-set-the-owner-of-files-to-0-0-if-gene.patch
new file mode 100644
index 0000000..3c59bae
--- /dev/null
+++ b/0003-dracut.sh-only-set-the-owner-of-files-to-0-0-if-gene.patch
@@ -0,0 +1,36 @@
+From c8a9a6b4a7dff76c66e84f65b2717632e1bb4505 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 30 Jan 2014 16:11:40 +0100
+Subject: [PATCH] dracut.sh: only set the owner of files to 0:0, if generated
+ as non-root
+
+If the root user generates the initramfs image, preserve the ownership
+of the files. This of course cannot be done for non-root users
+generating an initramfs image.
+---
+ dracut.sh | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 9b715ab..ccff358 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -1462,13 +1462,16 @@ fi
+ 
+ rm -f -- "$outfile"
+ dinfo "*** Creating image file ***"
++
++[[ "$UID" != 0 ]] && cpio_owner_root="-R 0:0"
++
+ if [[ $create_early_cpio = yes ]]; then
+     echo 1 > "$early_cpio_dir/d/early_cpio"
+     # The microcode blob is _before_ the initramfs blob, not after
+-    (cd "$early_cpio_dir/d";     find . -print0 | cpio --null -R 0:0 -H newc -o --quiet >../early.cpio)
++    (cd "$early_cpio_dir/d";     find . -print0 | cpio --null $cpio_owner_root -H newc -o --quiet >../early.cpio)
+     mv $early_cpio_dir/early.cpio $outfile.$$
+ fi
+-if ! ( umask 077; cd "$initdir"; find . -print0 | cpio --null -R 0:0 -H newc -o --quiet | \
++if ! ( umask 077; cd "$initdir"; find . -print0 | cpio --null $cpio_owner_root -H newc -o --quiet | \
+     $compress >> "$outfile.$$"; ); then
+     dfatal "dracut: creation of $outfile.$$ failed"
+     exit 1
diff --git a/0004-dracut-functions.sh-also-search-in-the-updates-direc.patch b/0004-dracut-functions.sh-also-search-in-the-updates-direc.patch
new file mode 100644
index 0000000..8a50d04
--- /dev/null
+++ b/0004-dracut-functions.sh-also-search-in-the-updates-direc.patch
@@ -0,0 +1,22 @@
+From f57850d7e8800cc28c766c77ad0a881a9b6a1f36 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 30 Jan 2014 14:27:18 +0100
+Subject: [PATCH] dracut-functions.sh: also search in the updates directory
+
+---
+ dracut-functions.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 7cfa097..c766ca3 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -1551,7 +1551,7 @@ find_kernel_modules_by_path () {
+     _OLDIFS=$IFS
+     IFS=:
+     while read a rest; do
+-        [[ $a = */$1/* ]] || continue
++        [[ $a = */$1/* ]] || [[ $a = */updates/* ]] || continue
+         printf "%s\n" "$srcmods/$a"
+     done < "$srcmods/modules.dep"
+     IFS=$_OLDIFS
diff --git a/0005-network-net-lib.sh-parse-ibft-nameserver-settings.patch b/0005-network-net-lib.sh-parse-ibft-nameserver-settings.patch
new file mode 100644
index 0000000..e4aab1c
--- /dev/null
+++ b/0005-network-net-lib.sh-parse-ibft-nameserver-settings.patch
@@ -0,0 +1,34 @@
+From e95e48c6eee46ea0d3cbaa9e28576f795204018a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 30 Jan 2014 17:11:43 +0100
+Subject: [PATCH] network/net-lib.sh: parse ibft nameserver settings
+
+---
+ modules.d/40network/net-lib.sh | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index 36fad12..1b51c85 100755
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -185,6 +185,7 @@ ibft_to_cmdline() {
+         for iface in /sys/firmware/ibft/ethernet*; do
+             local mac="" dev=""
+             local dhcp="" ip="" gw="" mask="" hostname=""
++            local dns1 dns2
+ 
+             [ -e ${iface}/mac ] || continue
+             mac=$(read a < ${iface}/mac; echo $a)
+@@ -203,9 +204,11 @@ ibft_to_cmdline() {
+                 [ "$ip" = "0.0.0.0" ] && continue
+                 [ -e ${iface}/gateway ] && gw=$(read a < ${iface}/gateway; echo $a)
+                 [ -e ${iface}/subnet-mask ] && mask=$(read a < ${iface}/subnet-mask; echo $a)
++                [ -e ${iface}/primary-dns ] && dns1=$(read a < ${iface}/primary-dns; echo $a)
++                [ -e ${iface}/secondary-dns ] && dns2=$(read a < ${iface}/secondary-dns; echo $a)
+                 [ -e ${iface}/hostname ] && hostname=$(read a < ${iface}/hostname; echo $a)
+                 if [ -n "$ip" ] && [ -n "$mask" ]; then
+-                    echo "ip=$ip::$gw:$mask:$hostname:$dev:none"
++                    echo "ip=$ip::$gw:$mask:$hostname:$dev:none${dns1:+:$dns1}${dns2:+:$dns2}"
+                 else
+                     warn "${iface} does not contain a valid iBFT configuration"
+                     warn "ip-addr=$ip"
diff --git a/0006-network-ifup.sh-handle-dns1-and-dns2-from-ip-setting.patch b/0006-network-ifup.sh-handle-dns1-and-dns2-from-ip-setting.patch
new file mode 100644
index 0000000..69e8ea9
--- /dev/null
+++ b/0006-network-ifup.sh-handle-dns1-and-dns2-from-ip-setting.patch
@@ -0,0 +1,72 @@
+From 1982098e00a545894d7aabba13a99c324e56ed52 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 30 Jan 2014 17:12:24 +0100
+Subject: [PATCH] network/ifup.sh: handle $dns1 and $dns2 from "ip=" settings
+
+---
+ dracut.cmdline.7.asc        |  7 +++++++
+ modules.d/40network/ifup.sh | 21 ++++++++++++---------
+ 2 files changed, 19 insertions(+), 9 deletions(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 963ba07..985285b 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -472,6 +472,13 @@ cannot be used in conjunction with the **ifname** argument for the
+ same <interface>.
+ =====================
+ 
++**ip=**__<client-IP>__:[__<peer>__]:__<gateway-IP>__:__<netmask>__:__<client_hostname>__:__<interface>__:__{none|off|dhcp|on|any|dhcp6|auto6|ibft}__[:[__<dns1>__][:__<dns2>__]]::
++    explicit network configuration. If you want do define a IPv6 address, put it
++    in brackets (e.g. [2001:DB8::1]). This parameter can be specified multiple
++    times. __<peer>__ is optional and is the address of the remote endpoint
++    for pointopoint interfaces and it may be followed by a slash and a decimal
++    number, encoding the network prefix length.
++
+ **ifname=**__<interface>__:__<MAC>__::
+     Assign network device name <interface> (ie "bootnet") to the NIC with
+     MAC <MAC>.
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index 2edcfe6..b33981b 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -264,18 +264,15 @@ if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then
+     ip link set "$vlanname" up
+ fi
+ 
+-# setup nameserver
+-namesrv=$(getargs nameserver)
+-if  [ -n "$namesrv" ] ; then
+-    for s in $namesrv; do
+-        echo nameserver $s
+-    done
+-fi >> /tmp/net.$netif.resolv.conf
+-
+ # No ip lines default to dhcp
+ ip=$(getarg ip)
+ 
+ if [ -z "$ip" ]; then
++    namesrv=$(getargs nameserver)
++    for s in $namesrv; do
++        echo nameserver $s >> /tmp/net.$netif.resolv.conf
++    done
++
+     if [ "$netroot" = "dhcp6" ]; then
+         do_dhcp -6
+     else
+@@ -307,8 +304,14 @@ for p in $(getargs ip=); do
+     [ "$use_bridge" != 'true' ] && \
+     [ "$use_vlan" != 'true' ] && continue
+ 
++    # setup nameserver
++    namesrv="$dns1 $dns2 $(getargs nameserver)"
++    for s in $namesrv; do
++        echo nameserver $s >> /tmp/net.$netif.resolv.conf
++    done
++
+     # Store config for later use
+-    for i in ip srv gw mask hostname macaddr; do
++    for i in ip srv gw mask hostname macaddr dns1 dns2; do
+         eval '[ "$'$i'" ] && echo '$i'="$'$i'"'
+     done > /tmp/net.$netif.override
+ 
diff --git a/0007-base-rdsosreport.sh-add-dracut-version-to-rdsosrepor.patch b/0007-base-rdsosreport.sh-add-dracut-version-to-rdsosrepor.patch
new file mode 100644
index 0000000..83c2edd
--- /dev/null
+++ b/0007-base-rdsosreport.sh-add-dracut-version-to-rdsosrepor.patch
@@ -0,0 +1,43 @@
+From c8608373039e66768d34bcf8d43da48d68c5be2a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 31 Jan 2014 15:33:05 +0100
+Subject: [PATCH] base/rdsosreport.sh: add dracut version to rdsosreport
+
+---
+ modules.d/99base/rdsosreport.sh | 16 +++++++++-------
+ 1 file changed, 9 insertions(+), 7 deletions(-)
+
+diff --git a/modules.d/99base/rdsosreport.sh b/modules.d/99base/rdsosreport.sh
+index 5e11166..3e2ac87 100755
+--- a/modules.d/99base/rdsosreport.sh
++++ b/modules.d/99base/rdsosreport.sh
+@@ -8,13 +8,7 @@ exec >/run/initramfs/rdsosreport.txt 2>&1
+ 
+ set -x
+ 
+-cat /proc/self/mountinfo
+-cat /proc/mounts
+-
+-blkid
+-blkid -o udev
+-
+-ls -l /dev/disk/by*
++cat /lib/dracut/dracut-*
+ 
+ cat /proc/cmdline
+ 
+@@ -26,6 +20,14 @@ for _i in /etc/cmdline.d/*.conf; do
+     cat $_i
+ done
+ 
++cat /proc/self/mountinfo
++cat /proc/mounts
++
++blkid
++blkid -o udev
++
++ls -l /dev/disk/by*
++
+ for _i in /etc/conf.d/*.conf; do
+     [ -f "$_i" ] || break
+     echo $_i
diff --git a/0008-test-include-the-same-Makefile.testdir.patch b/0008-test-include-the-same-Makefile.testdir.patch
new file mode 100644
index 0000000..8b4562a
--- /dev/null
+++ b/0008-test-include-the-same-Makefile.testdir.patch
@@ -0,0 +1,297 @@
+From f52759131bd8d0c118106de9c1f0ddb68bf16521 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 4 Feb 2014 12:01:11 +0100
+Subject: [PATCH] test: include the same Makefile.testdir
+
+---
+ test/TEST-01-BASIC/Makefile        | 11 +----------
+ test/TEST-02-SYSTEMD/Makefile      | 11 +----------
+ test/TEST-03-USR-MOUNT/Makefile    | 11 +----------
+ test/TEST-04-FULL-SYSTEMD/Makefile | 11 +----------
+ test/TEST-10-RAID/Makefile         | 11 +----------
+ test/TEST-11-LVM/Makefile          | 11 +----------
+ test/TEST-12-RAID-DEG/Makefile     | 11 +----------
+ test/TEST-13-ENC-RAID-LVM/Makefile | 11 +----------
+ test/TEST-14-IMSM/Makefile         | 11 +----------
+ test/TEST-15-BTRFSRAID/Makefile    | 11 +----------
+ test/TEST-16-DMSQUASH/Makefile     | 11 +----------
+ test/TEST-17-LVM-THIN/Makefile     | 11 +----------
+ test/TEST-20-NFS/Makefile          | 11 +----------
+ test/TEST-30-ISCSI/Makefile        | 11 +----------
+ test/TEST-40-NBD/Makefile          | 11 +----------
+ test/TEST-50-MULTINIC/Makefile     | 11 +----------
+ test/TEST-99-RPM/Makefile          | 11 +----------
+ 17 files changed, 17 insertions(+), 170 deletions(-)
+
+diff --git a/test/TEST-01-BASIC/Makefile b/test/TEST-01-BASIC/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-01-BASIC/Makefile
++++ b/test/TEST-01-BASIC/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-02-SYSTEMD/Makefile b/test/TEST-02-SYSTEMD/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-02-SYSTEMD/Makefile
++++ b/test/TEST-02-SYSTEMD/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-03-USR-MOUNT/Makefile b/test/TEST-03-USR-MOUNT/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-03-USR-MOUNT/Makefile
++++ b/test/TEST-03-USR-MOUNT/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-04-FULL-SYSTEMD/Makefile b/test/TEST-04-FULL-SYSTEMD/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-04-FULL-SYSTEMD/Makefile
++++ b/test/TEST-04-FULL-SYSTEMD/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-10-RAID/Makefile b/test/TEST-10-RAID/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-10-RAID/Makefile
++++ b/test/TEST-10-RAID/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-11-LVM/Makefile b/test/TEST-11-LVM/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-11-LVM/Makefile
++++ b/test/TEST-11-LVM/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-12-RAID-DEG/Makefile b/test/TEST-12-RAID-DEG/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-12-RAID-DEG/Makefile
++++ b/test/TEST-12-RAID-DEG/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-13-ENC-RAID-LVM/Makefile b/test/TEST-13-ENC-RAID-LVM/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-13-ENC-RAID-LVM/Makefile
++++ b/test/TEST-13-ENC-RAID-LVM/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-14-IMSM/Makefile b/test/TEST-14-IMSM/Makefile
+index bc0ddb6..2dcab81 100644
+--- a/test/TEST-14-IMSM/Makefile
++++ b/test/TEST-14-IMSM/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@make -s --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@make --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-15-BTRFSRAID/Makefile b/test/TEST-15-BTRFSRAID/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-15-BTRFSRAID/Makefile
++++ b/test/TEST-15-BTRFSRAID/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-16-DMSQUASH/Makefile b/test/TEST-16-DMSQUASH/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-16-DMSQUASH/Makefile
++++ b/test/TEST-16-DMSQUASH/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-17-LVM-THIN/Makefile b/test/TEST-17-LVM-THIN/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-17-LVM-THIN/Makefile
++++ b/test/TEST-17-LVM-THIN/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-20-NFS/Makefile b/test/TEST-20-NFS/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-20-NFS/Makefile
++++ b/test/TEST-20-NFS/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-30-ISCSI/Makefile b/test/TEST-30-ISCSI/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-30-ISCSI/Makefile
++++ b/test/TEST-30-ISCSI/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-40-NBD/Makefile b/test/TEST-40-NBD/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-40-NBD/Makefile
++++ b/test/TEST-40-NBD/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-50-MULTINIC/Makefile b/test/TEST-50-MULTINIC/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-50-MULTINIC/Makefile
++++ b/test/TEST-50-MULTINIC/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
+diff --git a/test/TEST-99-RPM/Makefile b/test/TEST-99-RPM/Makefile
+index aad2705..2dcab81 100644
+--- a/test/TEST-99-RPM/Makefile
++++ b/test/TEST-99-RPM/Makefile
+@@ -1,10 +1 @@
+-all:
+-	@$(MAKE) -s --no-print-directory -C ../.. all
+-	@V=$(V) basedir=../.. testdir=../ ./test.sh --all
+-setup:
+-	@$(MAKE) --no-print-directory -C ../.. all
+-	@basedir=../.. testdir=../ ./test.sh --setup
+-clean:
+-	@basedir=../.. testdir=../ ./test.sh --clean
+-run:
+-	@basedir=../.. testdir=../ ./test.sh --run
++-include ../Makefile.testdir
diff --git a/0009-network-ifup-do-not-ifup-an-already-setup-network-in.patch b/0009-network-ifup-do-not-ifup-an-already-setup-network-in.patch
new file mode 100644
index 0000000..88fcb53
--- /dev/null
+++ b/0009-network-ifup-do-not-ifup-an-already-setup-network-in.patch
@@ -0,0 +1,26 @@
+From d61a423f7cb326848e952d9e13a8cbf25ca06631 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 4 Feb 2014 12:02:05 +0100
+Subject: [PATCH] network/ifup: do not ifup an already setup network interface
+
+---
+ modules.d/40network/ifup.sh | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index b33981b..3a03d05 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -80,7 +80,11 @@ fi
+ # in netroot case we prefer netroot to bringup $netif automaticlly
+ [ -n "$2" -a "$2" = "-m" ] && [ -z "$netroot" ] && manualup="$2"
+ [ -z "$netroot" ] && [ -z "$manualup" ] && exit 0
+-[ -n "$manualup" ] && >/tmp/net.$netif.manualup
++if [ -n "$manualup" ]; then
++    >/tmp/net.$netif.manualup
++else
++    [ -f /tmp/net.${iface}.did-setup ] && exit 0
++fi
+ 
+ # Run dhclient
+ do_dhcp() {
diff --git a/0010-network-ifup-do-not-run-dhclient-twice-on-the-same-i.patch b/0010-network-ifup-do-not-run-dhclient-twice-on-the-same-i.patch
new file mode 100644
index 0000000..b049c3a
--- /dev/null
+++ b/0010-network-ifup-do-not-run-dhclient-twice-on-the-same-i.patch
@@ -0,0 +1,23 @@
+From c84618d7ac5cf87c6efaaca00e52f69dcff954e1 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 4 Feb 2014 12:02:34 +0100
+Subject: [PATCH] network/ifup: do not run dhclient twice on the same interface
+
+---
+ modules.d/40network/ifup.sh | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index 3a03d05..33ec81d 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -91,6 +91,9 @@ do_dhcp() {
+     # dhclient-script will mark the netif up and generate the online
+     # event for nfsroot
+     # XXX add -V vendor class and option parsing per kernel
++
++    [ -e /tmp/dhclient.$netif.pid ] && return 0
++
+     if ! iface_has_link $netif; then
+         echo "No carrier detected"
+         return 1
diff --git a/0011-nfs-nfsroot-symlink-dev-null-to-dev-nfs-as-a-marker-.patch b/0011-nfs-nfsroot-symlink-dev-null-to-dev-nfs-as-a-marker-.patch
new file mode 100644
index 0000000..b7c761f
--- /dev/null
+++ b/0011-nfs-nfsroot-symlink-dev-null-to-dev-nfs-as-a-marker-.patch
@@ -0,0 +1,23 @@
+From 81aed4f28eca81b151e2f0ee307a2a487fb2bfcc Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 5 Feb 2014 13:06:29 +0100
+Subject: [PATCH] nfs/nfsroot: symlink /dev/null to /dev/nfs, as a marker for
+ root=/dev/nfs
+
+---
+ modules.d/95nfs/nfsroot.sh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/95nfs/nfsroot.sh b/modules.d/95nfs/nfsroot.sh
+index f04159e..d0719ef 100755
+--- a/modules.d/95nfs/nfsroot.sh
++++ b/modules.d/95nfs/nfsroot.sh
+@@ -16,7 +16,7 @@ NEWROOT="$3"
+ nfs_to_var $root $netif
+ [ -z "$server" ] && die "Required parameter 'server' is missing"
+ 
+-mount_nfs $root $NEWROOT $netif && { [ -e /dev/root ] || ln -s null /dev/root ; }
++mount_nfs $root $NEWROOT $netif && { [ -e /dev/root ] || ln -s null /dev/root ; [ -e /dev/nfs ] || ln -s null /dev/nfs; }
+ 
+ [ -f $NEWROOT/etc/fstab ] && cat $NEWROOT/etc/fstab > /dev/null
+ 
diff --git a/0012-systemd-dracut-pre-pivot-run-for-dev-nfs-root-and-cl.patch b/0012-systemd-dracut-pre-pivot-run-for-dev-nfs-root-and-cl.patch
new file mode 100644
index 0000000..8ff664e
--- /dev/null
+++ b/0012-systemd-dracut-pre-pivot-run-for-dev-nfs-root-and-cl.patch
@@ -0,0 +1,37 @@
+From 751c7de98af289970e4f827245647080cf2595b3 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 5 Feb 2014 13:08:54 +0100
+Subject: [PATCH] systemd/dracut-pre-pivot: run for /dev/{nfs,root} and cleanup
+ /dev/nfs
+
+dracut-pre-pivot was not cleaning up /dev/nfs and did not run to clean
+up /dev/root.
+---
+ modules.d/98systemd/dracut-pre-pivot.service | 2 ++
+ modules.d/98systemd/dracut-pre-pivot.sh      | 1 +
+ 2 files changed, 3 insertions(+)
+
+diff --git a/modules.d/98systemd/dracut-pre-pivot.service b/modules.d/98systemd/dracut-pre-pivot.service
+index dd4e49b..6db1f2c 100644
+--- a/modules.d/98systemd/dracut-pre-pivot.service
++++ b/modules.d/98systemd/dracut-pre-pivot.service
+@@ -19,6 +19,8 @@ ConditionDirectoryNotEmpty=|/lib/dracut/hooks/cleanup
+ ConditionKernelCommandLine=|rd.break=pre-pivot
+ ConditionKernelCommandLine=|rd.break=cleanup
+ ConditionKernelCommandLine=|rd.break
++ConditionPathExists=|/dev/root
++ConditionPathExists=|/dev/nfs
+ 
+ [Service]
+ Environment=DRACUT_SYSTEMD=1
+diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh
+index 8c7554e..e62a1ce 100755
+--- a/modules.d/98systemd/dracut-pre-pivot.sh
++++ b/modules.d/98systemd/dracut-pre-pivot.sh
+@@ -24,5 +24,6 @@ getarg rd.break -d rdbreak && emergency_shell -n switch_root "Break before switc
+ 
+ # remove helper symlink
+ [ -h /dev/root ] && rm -f -- /dev/root
++[ -h /dev/nfs ] && rm -f -- /dev/nfs
+ 
+ exit 0
diff --git a/0013-Do-not-reload-systemd-with-wait_for_dev.patch b/0013-Do-not-reload-systemd-with-wait_for_dev.patch
new file mode 100644
index 0000000..d537781
--- /dev/null
+++ b/0013-Do-not-reload-systemd-with-wait_for_dev.patch
@@ -0,0 +1,102 @@
+From 352d557d4d94042e321b4acc81eeab8691e19f42 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 5 Feb 2014 13:12:29 +0100
+Subject: [PATCH] Do not reload systemd with wait_for_dev
+
+---
+ modules.d/90dmsquash-live/dmsquash-live-genrules.sh | 2 +-
+ modules.d/90dmsquash-live/parse-dmsquash-live.sh    | 2 +-
+ modules.d/90livenet/parse-livenet.sh                | 2 +-
+ modules.d/90lvm/parse-lvm.sh                        | 2 +-
+ modules.d/95iscsi/iscsiroot.sh                      | 2 +-
+ modules.d/95nbd/nbdroot.sh                          | 2 +-
+ modules.d/95nbd/parse-nbdroot.sh                    | 2 +-
+ 7 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh
+index b27fccc..0f51ed4 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-genrules.sh
++++ b/modules.d/90dmsquash-live/dmsquash-live-genrules.sh
+@@ -9,7 +9,7 @@ case "$root" in
+         printf 'SYMLINK=="%s", RUN+="/sbin/initqueue --settled --onetime --unique /sbin/dmsquash-live-root $env{DEVNAME}"\n' \
+             ${root#live:/dev/}
+     } >> /etc/udev/rules.d/99-live-squash.rules
+-    wait_for_dev "${root#live:}"
++    wait_for_dev -n "${root#live:}"
+   ;;
+   live:*)
+     if [ -f "${root#live:}" ]; then
+diff --git a/modules.d/90dmsquash-live/parse-dmsquash-live.sh b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
+index a5564e2..6e54dfe 100755
+--- a/modules.d/90dmsquash-live/parse-dmsquash-live.sh
++++ b/modules.d/90dmsquash-live/parse-dmsquash-live.sh
+@@ -56,4 +56,4 @@ info "root was $liveroot, is now $root"
+ # make sure that init doesn't complain
+ [ -z "$root" ] && root="live"
+ 
+-wait_for_dev /dev/mapper/live-rw
++wait_for_dev -n /dev/mapper/live-rw
+diff --git a/modules.d/90livenet/parse-livenet.sh b/modules.d/90livenet/parse-livenet.sh
+index 6c847ba..a6b2842 100755
+--- a/modules.d/90livenet/parse-livenet.sh
++++ b/modules.d/90livenet/parse-livenet.sh
+@@ -27,7 +27,7 @@ if get_url_handler "$liveurl" >/dev/null; then
+     netroot="livenet:$liveurl"
+     root="livenet" # quiet complaints from init
+     rootok=1
+-    wait_for_dev /dev/root
++    wait_for_dev -n /dev/root
+ else
+     info "livenet: no url handler for $liveurl"
+ fi
+diff --git a/modules.d/90lvm/parse-lvm.sh b/modules.d/90lvm/parse-lvm.sh
+index 74e1d43..d69cb45 100755
+--- a/modules.d/90lvm/parse-lvm.sh
++++ b/modules.d/90lvm/parse-lvm.sh
+@@ -13,7 +13,7 @@ if ! getargbool 1 rd.lvm -d -n rd_NO_LVM \
+     rm -f -- /etc/udev/rules.d/64-lvm*.rules
+ else
+     for dev in $LV_DEVS; do
+-        wait_for_dev "/dev/$dev"
++        wait_for_dev -n "/dev/$dev"
+     done
+ fi
+ 
+diff --git a/modules.d/95iscsi/iscsiroot.sh b/modules.d/95iscsi/iscsiroot.sh
+index 769124f..c56d54d 100755
+--- a/modules.d/95iscsi/iscsiroot.sh
++++ b/modules.d/95iscsi/iscsiroot.sh
+@@ -156,7 +156,7 @@ handle_netroot()
+         printf 'SYMLINK=="disk/by-path/*-iscsi-*-%s", SYMLINK+="root"\n' $iscsi_lun >> /etc/udev/rules.d/99-iscsi-root.rules
+         udevadm control --reload
+         write_fs_tab /dev/root
+-        wait_for_dev /dev/root
++        wait_for_dev -n /dev/root
+ 
+         # install mount script
+         [ -z "$DRACUT_SYSTEMD" ] && \
+diff --git a/modules.d/95nbd/nbdroot.sh b/modules.d/95nbd/nbdroot.sh
+index 2e9d917..32f346d 100755
+--- a/modules.d/95nbd/nbdroot.sh
++++ b/modules.d/95nbd/nbdroot.sh
+@@ -102,7 +102,7 @@ if [ "$root" = "block:/dev/root" -o "$root" = "dhcp" ]; then
+     udevadm control --reload
+     type write_fs_tab >/dev/null 2>&1 || . /lib/fs-lib.sh
+     write_fs_tab /dev/root "$nbdfstype" "$fsopts"
+-    wait_for_dev /dev/root
++    wait_for_dev -n /dev/root
+ 
+     if [ -z "$DRACUT_SYSTEMD" ]; then
+         printf '/bin/mount %s\n' \
+diff --git a/modules.d/95nbd/parse-nbdroot.sh b/modules.d/95nbd/parse-nbdroot.sh
+index 49c44b6..fe5a7fa 100755
+--- a/modules.d/95nbd/parse-nbdroot.sh
++++ b/modules.d/95nbd/parse-nbdroot.sh
+@@ -61,6 +61,6 @@ rootok=1
+ # Shut up init error check
+ if [ -z "$root" ]; then
+     root=block:/dev/root
+-    wait_for_dev /dev/root
++    wait_for_dev -n /dev/root
+ fi
+ 
diff --git a/0014-systemd-add-sys-kernel-config.mount.patch b/0014-systemd-add-sys-kernel-config.mount.patch
new file mode 100644
index 0000000..f197ea4
--- /dev/null
+++ b/0014-systemd-add-sys-kernel-config.mount.patch
@@ -0,0 +1,31 @@
+From 8d21728942b52f1fe258ab63acfa5a0542d8b1fc Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 5 Feb 2014 13:58:33 +0100
+Subject: [PATCH] systemd: add sys-kernel-config.mount
+
+---
+ modules.d/98systemd/module-setup.sh | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index d625ea0..036f1c1 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -44,6 +44,7 @@ install() {
+         $systemdutildir/systemd-modules-load \
+         $systemdutildir/systemd-vconsole-setup \
+         $systemdutildir/system-generators/systemd-fstab-generator \
++        \
+         $systemdsystemunitdir/cryptsetup.target \
+         $systemdsystemunitdir/emergency.target \
+         $systemdsystemunitdir/sysinit.target \
+@@ -72,6 +73,9 @@ install() {
+         $systemdsystemunitdir/timers.target \
+         $systemdsystemunitdir/paths.target \
+         $systemdsystemunitdir/umount.target \
++        \
++        $systemdsystemunitdir/sys-kernel-config.mount \
++        \
+         $systemdsystemunitdir/kmod-static-nodes.service \
+         $systemdsystemunitdir/systemd-tmpfiles-setup-dev.service \
+         $systemdsystemunitdir/systemd-ask-password-console.path \
diff --git a/0015-Factor-out-all-the-type-V-commands.patch b/0015-Factor-out-all-the-type-V-commands.patch
new file mode 100644
index 0000000..91ab727
--- /dev/null
+++ b/0015-Factor-out-all-the-type-V-commands.patch
@@ -0,0 +1,735 @@
+From 30e6e809ed8d189cc8374df3c28cfbcab5a299b9 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 6 Feb 2014 16:45:20 +0100
+Subject: [PATCH] Factor out all the "type -V" commands
+
+Add new functions require_binaries() and require_any_binary() to be used
+in the check() section of module-setup.sh.
+
+These functions print a warning line telling the user, which binary is
+missing for the specific dracut module.
+
+This unifies the way of checking for binaries and makes the life of an
+initramfs creator easier, if he wants to find out why a specific dracut
+module is not included in the initramfs.
+---
+ dracut-functions.sh                           | 57 ++++++++++++++++++++++++---
+ modules.d/00bash/module-setup.sh              |  2 +-
+ modules.d/00bootchart/module-setup.sh         |  2 +-
+ modules.d/00dash/module-setup.sh              |  2 +-
+ modules.d/00systemd-bootchart/module-setup.sh |  2 +-
+ modules.d/02caps/module-setup.sh              | 14 ++++---
+ modules.d/03modsign/module-setup.sh           |  2 +-
+ modules.d/05busybox/module-setup.sh           |  2 +-
+ modules.d/10i18n/module-setup.sh              |  4 +-
+ modules.d/40network/module-setup.sh           |  7 +---
+ modules.d/45url-lib/module-setup.sh           |  2 +-
+ modules.d/50plymouth/module-setup.sh          |  2 +-
+ modules.d/90btrfs/module-setup.sh             |  2 +-
+ modules.d/90crypt/module-setup.sh             |  2 +-
+ modules.d/90dm/module-setup.sh                |  2 +-
+ modules.d/90dmraid/module-setup.sh            |  2 +-
+ modules.d/90lvm/module-setup.sh               |  2 +-
+ modules.d/90mdraid/module-setup.sh            |  2 +-
+ modules.d/90multipath/module-setup.sh         |  2 +-
+ modules.d/91crypt-gpg/module-setup.sh         |  2 +-
+ modules.d/91crypt-loop/module-setup.sh        | 20 ++++++----
+ modules.d/95cifs/module-setup.sh              |  2 +-
+ modules.d/95dasd/module-setup.sh              |  2 +-
+ modules.d/95dasd_mod/module-setup.sh          |  1 +
+ modules.d/95dasd_rules/module-setup.sh        |  2 +-
+ modules.d/95fcoe-uefi/module-setup.sh         |  4 +-
+ modules.d/95fcoe/module-setup.sh              |  5 +--
+ modules.d/95iscsi/module-setup.sh             |  2 +-
+ modules.d/95nbd/module-setup.sh               |  2 +-
+ modules.d/95nfs/module-setup.sh               |  4 +-
+ modules.d/95ssh-client/module-setup.sh        |  6 +--
+ modules.d/95udev-rules/module-setup.sh        |  2 +-
+ modules.d/95zfcp/module-setup.sh              |  3 +-
+ modules.d/95zfcp_rules/module-setup.sh        |  2 +-
+ modules.d/95znet/module-setup.sh              |  3 +-
+ modules.d/97biosdevname/module-setup.sh       |  2 +-
+ modules.d/97masterkey/module-setup.sh         |  2 +-
+ modules.d/98systemd/module-setup.sh           |  2 +-
+ modules.d/99img-lib/module-setup.sh           |  4 +-
+ 39 files changed, 113 insertions(+), 71 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index c766ca3..32f264b 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -35,6 +35,51 @@ fi
+ # Generic substring function.  If $2 is in $1, return 0.
+ strstr() { [[ $1 = *$2* ]]; }
+ 
++# helper function for check() in module-setup.sh
++# to check for required installed binaries
++# issues a standardized warning message
++require_binaries() {
++    local _module_name="${moddir##*/}"
++    local _ret=0
++
++    if [[ "$1" = "-m" ]]; then
++        _module_name="$2"
++        shift 2
++    fi
++
++    for cmd in "$@"; do
++        if ! find_binary "$cmd" &>/dev/null; then
++            dwarning "$_module_name: Could not find command '$cmd'!"
++            ((_ret++))
++        fi
++    done
++    return $_ret
++}
++
++require_any_binary() {
++    local _module_name="${moddir##*/}"
++    local _ret=1
++
++    if [[ "$1" = "-m" ]]; then
++        _module_name="$2"
++        shift 2
++    fi
++
++    for cmd in "$@"; do
++        if find_binary "$cmd" &>/dev/null; then
++            _ret=0
++            break
++        fi
++    done
++
++    if (( $_ret != 0 )); then
++        dwarning "$_module_name: Could not find any command of '$@'!"
++        return 1
++    fi
++
++    return 0
++}
++
+ # find a binary.  If we were not passed the full path directly,
+ # search in the usual places to find the binary.
+ find_binary() {
+@@ -1084,7 +1129,7 @@ module_check() {
+         . $_moddir/module-setup.sh
+         is_func check || return 0
+         [ $_forced -ne 0 ] && unset hostonly
+-        check $hostonly
++        moddir=$_moddir check $hostonly
+         _ret=$?
+         unset check depends cmdline install installkernel
+     fi
+@@ -1110,7 +1155,7 @@ module_check_mount() {
+         unset check depends cmdline install installkernel
+         check() { false; }
+         . $_moddir/module-setup.sh
+-        check 0
++        moddir=$_moddir check 0
+         _ret=$?
+         unset check depends cmdline install installkernel
+     fi
+@@ -1134,7 +1179,7 @@ module_depends() {
+         unset check depends cmdline install installkernel
+         depends() { true; }
+         . $_moddir/module-setup.sh
+-        depends
++        moddir=$_moddir depends
+         _ret=$?
+         unset check depends cmdline install installkernel
+         return $_ret
+@@ -1155,7 +1200,7 @@ module_cmdline() {
+         unset check depends cmdline install installkernel
+         cmdline() { true; }
+         . $_moddir/module-setup.sh
+-        cmdline
++        moddir=$_moddir cmdline
+         _ret=$?
+         unset check depends cmdline install installkernel
+         return $_ret
+@@ -1176,7 +1221,7 @@ module_install() {
+         unset check depends cmdline install installkernel
+         install() { true; }
+         . $_moddir/module-setup.sh
+-        install
++        moddir=$_moddir install
+         _ret=$?
+         unset check depends cmdline install installkernel
+         return $_ret
+@@ -1197,7 +1242,7 @@ module_installkernel() {
+         unset check depends cmdline install installkernel
+         installkernel() { true; }
+         . $_moddir/module-setup.sh
+-        installkernel
++        moddir=$_moddir installkernel
+         _ret=$?
+         unset check depends cmdline install installkernel
+         return $_ret
+diff --git a/modules.d/00bash/module-setup.sh b/modules.d/00bash/module-setup.sh
+index f599940..e8fc115 100755
+--- a/modules.d/00bash/module-setup.sh
++++ b/modules.d/00bash/module-setup.sh
+@@ -4,7 +4,7 @@
+ 
+ # called by dracut
+ check() {
+-    [ -x /bin/bash ]
++    require_binaries /bin/bash
+ }
+ 
+ # called by dracut
+diff --git a/modules.d/00bootchart/module-setup.sh b/modules.d/00bootchart/module-setup.sh
+index 107ee5b..95e5c4b 100755
+--- a/modules.d/00bootchart/module-setup.sh
++++ b/modules.d/00bootchart/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     [[ "$mount_needs" ]] && return 1
+-    [ -x /sbin/bootchartd ] || return 1
++    require_binaries /sbin/bootchartd || return 1
+     return 255
+ }
+ 
+diff --git a/modules.d/00dash/module-setup.sh b/modules.d/00dash/module-setup.sh
+index 47f7b03..8f7deec 100755
+--- a/modules.d/00dash/module-setup.sh
++++ b/modules.d/00dash/module-setup.sh
+@@ -4,7 +4,7 @@
+ 
+ # called by dracut
+ check() {
+-    [ -x /bin/dash ]
++    require_binaries /bin/dash
+ }
+ 
+ # called by dracut
+diff --git a/modules.d/00systemd-bootchart/module-setup.sh b/modules.d/00systemd-bootchart/module-setup.sh
+index a897cef..5cca254 100755
+--- a/modules.d/00systemd-bootchart/module-setup.sh
++++ b/modules.d/00systemd-bootchart/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     [[ "$mount_needs" ]] && return 1
+-    [ -x $systemdutildir/systemd-bootchart ] || return 1
++    require_binaries $systemdutildir/systemd-bootchart || return 1
+     return 255
+ }
+ 
+diff --git a/modules.d/02caps/module-setup.sh b/modules.d/02caps/module-setup.sh
+index 6019188..46e35a0 100755
+--- a/modules.d/02caps/module-setup.sh
++++ b/modules.d/02caps/module-setup.sh
+@@ -4,7 +4,7 @@
+ 
+ # called by dracut
+ check() {
+-    type -P capsh >/dev/null 2>&1
++    require_binaries capsh
+ }
+ 
+ # called by dracut
+@@ -14,9 +14,13 @@ depends() {
+ 
+ # called by dracut
+ install() {
+-    inst_hook pre-pivot 00 "$moddir/caps.sh"
+-    inst $(type -P capsh 2>/dev/null) /usr/sbin/capsh
+-    # capsh wants bash and we need bash also
+-    inst /bin/bash
++    if ! dracut_module_included "systemd"; then
++        inst_hook pre-pivot 00 "$moddir/caps.sh"
++        inst $(type -P capsh 2>/dev/null) /usr/sbin/capsh
++        # capsh wants bash and we need bash also
++        inst /bin/bash
++    else
++        dwarning "caps: does not work with systemd in the initramfs"
++    fi
+ }
+ 
+diff --git a/modules.d/03modsign/module-setup.sh b/modules.d/03modsign/module-setup.sh
+index 5dfd90c..09285d3 100755
+--- a/modules.d/03modsign/module-setup.sh
++++ b/modules.d/03modsign/module-setup.sh
+@@ -9,7 +9,7 @@
+ 
+ # called by dracut
+ check() {
+-    [[ -x /usr/bin/keyctl ]] || return 1
++    require_binaries keyctl || return 1
+ 
+     # do not include module in hostonly mode,
+     # if no keys are present
+diff --git a/modules.d/05busybox/module-setup.sh b/modules.d/05busybox/module-setup.sh
+index 6e508a6..228ff8c 100755
+--- a/modules.d/05busybox/module-setup.sh
++++ b/modules.d/05busybox/module-setup.sh
+@@ -4,7 +4,7 @@
+ 
+ # called by dracut
+ check() {
+-    type -P busybox >/dev/null || return 1
++    require_binaries busybox || return 1
+ 
+     return 255
+ }
+diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
+index fcb18d1..a091f89 100755
+--- a/modules.d/10i18n/module-setup.sh
++++ b/modules.d/10i18n/module-setup.sh
+@@ -6,9 +6,7 @@
+ check() {
+     [[ "$mount_needs" ]] && return 1
+ 
+-    for i in setfont loadkeys kbd_mode; do
+-        type -P "$i" >/dev/null || return 1
+-    done
++    require_binaries setfont loadkeys kbd_mode || return 1
+ 
+     return 0
+ }
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index 48afc5a..1df4174 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -6,12 +6,7 @@
+ check() {
+     local _program
+ 
+-    for _program in ip arping dhclient ; do
+-        if ! type -P $_program >/dev/null; then
+-            derror "Could not find program \"$_program\" required by network."
+-            return 1
+-        fi
+-    done
++    require_binaries ip arping dhclient || return 1
+ 
+     return 255
+ }
+diff --git a/modules.d/45url-lib/module-setup.sh b/modules.d/45url-lib/module-setup.sh
+index 1ed97ac..1b785c2 100755
+--- a/modules.d/45url-lib/module-setup.sh
++++ b/modules.d/45url-lib/module-setup.sh
+@@ -3,7 +3,7 @@
+ 
+ # called by dracut
+ check() {
+-    command -v curl >/dev/null || return 1
++    require_binaries curl || return 1
+     return 255
+ }
+ 
+diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
+index 1360924..b818324 100755
+--- a/modules.d/50plymouth/module-setup.sh
++++ b/modules.d/50plymouth/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     [[ "$mount_needs" ]] && return 1
+-    type -P plymouthd >/dev/null && type -P plymouth >/dev/null
++    require_binaries plymouthd plymouth
+ }
+ 
+ # called by dracut
+diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
+index 80a538f..406fd6d 100755
+--- a/modules.d/90btrfs/module-setup.sh
++++ b/modules.d/90btrfs/module-setup.sh
+@@ -7,7 +7,7 @@ check() {
+     local _rootdev
+     # if we don't have btrfs installed on the host system,
+     # no point in trying to support it in the initramfs.
+-    type -P btrfs >/dev/null || return 1
++    require_binaries btrfs || return 1
+ 
+     [[ $hostonly ]] || [[ $mount_needs ]] && {
+         for fs in ${host_fs_types[@]}; do
+diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
+index 7d18e33..21d49c4 100755
+--- a/modules.d/90crypt/module-setup.sh
++++ b/modules.d/90crypt/module-setup.sh
+@@ -6,7 +6,7 @@
+ check() {
+     local _rootdev
+     # if cryptsetup is not installed, then we cannot support encrypted devices.
+-    type -P cryptsetup >/dev/null || return 1
++    require_binaries cryptsetup || return 1
+ 
+     [[ $hostonly ]] || [[ $mount_needs ]] && {
+         for fs in "${host_fs_types[@]}"; do
+diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
+index bafad67..829c24b 100755
+--- a/modules.d/90dm/module-setup.sh
++++ b/modules.d/90dm/module-setup.sh
+@@ -4,7 +4,7 @@
+ 
+ # called by dracut
+ check() {
+-    type -P dmsetup >/dev/null || return 1
++    require_binaries dmsetup || return 1
+     return 255
+ }
+ 
+diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
+index a9e27a6..d3888a4 100755
+--- a/modules.d/90dmraid/module-setup.sh
++++ b/modules.d/90dmraid/module-setup.sh
+@@ -7,7 +7,7 @@ check() {
+     local _rootdev
+     # if we don't have dmraid installed on the host system, no point
+     # in trying to support it in the initramfs.
+-    type -P dmraid >/dev/null || return 1
++    require_binaries dmraid || return 1
+ 
+     [[ $hostonly ]] || [[ $mount_needs ]] && {
+         for dev in "${!host_fs_types[@]}"; do
+diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
+index a64e5d6..357797f 100755
+--- a/modules.d/90lvm/module-setup.sh
++++ b/modules.d/90lvm/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     # No point trying to support lvm if the binaries are missing
+-    type -P lvm >/dev/null || return 1
++    require_binaries lvm || return 1
+ 
+     [[ $hostonly ]] || [[ $mount_needs ]] && {
+         for fs in "${host_fs_types[@]}"; do
+diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
+index 61483f2..7d72098 100755
+--- a/modules.d/90mdraid/module-setup.sh
++++ b/modules.d/90mdraid/module-setup.sh
+@@ -6,7 +6,7 @@
+ check() {
+     local _rootdev
+     # No mdadm?  No mdraid support.
+-    type -P mdadm >/dev/null || return 1
++    require_binaries mdadm || return 1
+ 
+     [[ $hostonly ]] || [[ $mount_needs ]] && {
+         for dev in "${!host_fs_types[@]}"; do
+diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
+index 261a957..b60cc60 100755
+--- a/modules.d/90multipath/module-setup.sh
++++ b/modules.d/90multipath/module-setup.sh
+@@ -6,7 +6,7 @@
+ check() {
+     local _rootdev
+     # if there's no multipath binary, no go.
+-    type -P multipath >/dev/null || return 1
++    require_binaries multipath || return 1
+ 
+     is_mpath() {
+         local _dev=$1
+diff --git a/modules.d/91crypt-gpg/module-setup.sh b/modules.d/91crypt-gpg/module-setup.sh
+index 90c7bc2..b2154f0 100755
+--- a/modules.d/91crypt-gpg/module-setup.sh
++++ b/modules.d/91crypt-gpg/module-setup.sh
+@@ -5,7 +5,7 @@
+ # GPG support is optional
+ # called by dracut
+ check() {
+-    type -P gpg >/dev/null || return 1
++    require_binaries gpg || return 1
+ 
+     return 255
+ }
+diff --git a/modules.d/91crypt-loop/module-setup.sh b/modules.d/91crypt-loop/module-setup.sh
+index 00052d3..93ae92e 100644
+--- a/modules.d/91crypt-loop/module-setup.sh
++++ b/modules.d/91crypt-loop/module-setup.sh
+@@ -1,23 +1,27 @@
++#!/bin/bash
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
+ # called by dracut
+ check() {
+-	type -P losetup >/dev/null || return 1
+-	
+-	return 255
++    require_binaries losetup || return 1
++
++    return 255
+ }
+ 
+ # called by dracut
+ depends() {
+-	echo crypt
++    echo crypt
+ }
+ 
+ # called by dracut
+ installkernel() {
+-	    instmods loop
++    instmods loop
+ }
+ 
+ # called by dracut
+ install() {
+-	inst_multiple losetup
+-	inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh"
+-        dracut_need_initqueue
++    inst_multiple losetup
++    inst "$moddir/crypt-loop-lib.sh" "/lib/dracut-crypt-loop-lib.sh"
++    dracut_need_initqueue
+ }
+diff --git a/modules.d/95cifs/module-setup.sh b/modules.d/95cifs/module-setup.sh
+index 546d2ff..8f5a3bf 100755
+--- a/modules.d/95cifs/module-setup.sh
++++ b/modules.d/95cifs/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     # If our prerequisites are not met, fail anyways.
+-    type -P mount.cifs >/dev/null || return 1
++    require_binaries mount.cifs || return 1
+ 
+     [[ $hostonly ]] || [[ $mount_needs ]] && {
+         for fs in ${host_fs_types[@]}; do
+diff --git a/modules.d/95dasd/module-setup.sh b/modules.d/95dasd/module-setup.sh
+index 9c93d40..da0f3c0 100755
+--- a/modules.d/95dasd/module-setup.sh
++++ b/modules.d/95dasd/module-setup.sh
+@@ -5,8 +5,8 @@
+ # called by dracut
+ check() {
+     local _arch=$(uname -m)
+-    [ -x /sbin/normalize_dasd_arg ] || return 1
+     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
++    require_binaries normalize_dasd_arg || return 1
+     return 0
+ }
+ 
+diff --git a/modules.d/95dasd_mod/module-setup.sh b/modules.d/95dasd_mod/module-setup.sh
+index 8fde525..bee4998 100755
+--- a/modules.d/95dasd_mod/module-setup.sh
++++ b/modules.d/95dasd_mod/module-setup.sh
+@@ -6,6 +6,7 @@
+ check() {
+     local _arch=$(uname -m)
+     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
++    require_binaries grep sed seq
+ 
+     return 0
+ }
+diff --git a/modules.d/95dasd_rules/module-setup.sh b/modules.d/95dasd_rules/module-setup.sh
+index d313171..51c315d 100755
+--- a/modules.d/95dasd_rules/module-setup.sh
++++ b/modules.d/95dasd_rules/module-setup.sh
+@@ -5,8 +5,8 @@
+ # called by dracut
+ check() {
+     local _arch=$(uname -m)
+-    [ -x /sbin/dasd_configure ] || return 1
+     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
++    require_binaries dasd_configure /usr/lib/udev/collect || return 1
+     return 0
+ }
+ 
+diff --git a/modules.d/95fcoe-uefi/module-setup.sh b/modules.d/95fcoe-uefi/module-setup.sh
+index c91f775..0fb06e2 100755
+--- a/modules.d/95fcoe-uefi/module-setup.sh
++++ b/modules.d/95fcoe-uefi/module-setup.sh
+@@ -4,9 +4,7 @@
+ 
+ # called by dracut
+ check() {
+-    for i in dcbtool fipvlan lldpad ip readlink; do
+-        type -P $i >/dev/null || return 1
+-    done
++    require_binaries dcbtool fipvlan lldpad ip readlink || return 1
+     return 0
+ }
+ 
+diff --git a/modules.d/95fcoe/module-setup.sh b/modules.d/95fcoe/module-setup.sh
+index 539c464..c502ba0 100755
+--- a/modules.d/95fcoe/module-setup.sh
++++ b/modules.d/95fcoe/module-setup.sh
+@@ -4,10 +4,7 @@
+ 
+ # called by dracut
+ check() {
+-    for i in dcbtool fipvlan lldpad ip readlink; do
+-        type -P $i >/dev/null || return 1
+-    done
+-
++    require_binaries dcbtool fipvlan lldpad ip readlink || return 1
+     return 0
+ }
+ 
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index 8379f4b..1b0f292 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -6,7 +6,7 @@
+ check() {
+     local _rootdev
+     # If our prerequisites are not met, fail anyways.
+-    type -P iscsistart hostname iscsi-iname >/dev/null || return 1
++    require_binaries iscsistart hostname iscsi-iname || return 1
+ 
+     # If hostonly was requested, fail the check if we are not actually
+     # booting from root.
+diff --git a/modules.d/95nbd/module-setup.sh b/modules.d/95nbd/module-setup.sh
+index 37ace21..e62f290 100755
+--- a/modules.d/95nbd/module-setup.sh
++++ b/modules.d/95nbd/module-setup.sh
+@@ -6,7 +6,7 @@
+ check() {
+     local _rootdev
+     # If our prerequisites are not met, fail.
+-    type -P nbd-client >/dev/null || return 1
++    require_binaries nbd-client || return 1
+ 
+     # if an nbd device is not somewhere in the chain of devices root is
+     # mounted on, fail the hostonly check.
+diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
+index 345810a..dabf3b0 100755
+--- a/modules.d/95nfs/module-setup.sh
++++ b/modules.d/95nfs/module-setup.sh
+@@ -5,8 +5,8 @@
+ # called by dracut
+ check() {
+     # If our prerequisites are not met, fail anyways.
+-    type -P rpcbind >/dev/null || type -P portmap >/dev/null || return 1
+-    type -P rpc.statd mount.nfs mount.nfs4 umount >/dev/null || return 1
++    require_any_binary rpcbind portmap || return 1
++    require_binaries rpc.statd mount.nfs mount.nfs4 umount || return 1
+ 
+     [[ $hostonly ]] || [[ $mount_needs ]] && {
+         for fs in ${host_fs_types[@]}; do
+diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
+index 1f2b733..2e3c505 100755
+--- a/modules.d/95ssh-client/module-setup.sh
++++ b/modules.d/95ssh-client/module-setup.sh
+@@ -6,11 +6,11 @@
+ 
+ # called by dracut
+ check() {
+-    # If our prerequisites are not met, fail.
+-    type -P ssh >/dev/null || return 1
+-    type -P scp >/dev/null || return 1
+     [[ $mount_needs ]] && return 1
+ 
++    # If our prerequisites are not met, fail.
++    require_binaries ssh scp  || return 1
++
+     if [[ $sshkey ]]; then
+         [ ! -f $sshkey ] && {
+             derror "ssh key: $sshkey is not found!"
+diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
+index ebc4447..584d5c8 100755
+--- a/modules.d/95udev-rules/module-setup.sh
++++ b/modules.d/95udev-rules/module-setup.sh
+@@ -6,7 +6,7 @@
+ install() {
+     local _i
+ 
+-    # Fixme: would be nice if we didn't have to know which rules to grab....
++    # Fixme: would be nice if we didn't have to guess, which rules to grab....
+     # ultimately, /lib/initramfs/rules.d or somesuch which includes links/copies
+     # of the rules we want so that we just copy those in would be best
+     inst_multiple udevadm cat uname blkid \
+diff --git a/modules.d/95zfcp/module-setup.sh b/modules.d/95zfcp/module-setup.sh
+index dfbeed5..b96ccd2 100755
+--- a/modules.d/95zfcp/module-setup.sh
++++ b/modules.d/95zfcp/module-setup.sh
+@@ -5,9 +5,10 @@
+ # called by dracut
+ check() {
+     arch=$(uname -m)
+-    [ -x /sbin/zfcp_cio_free ] || return 1
+     [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
+ 
++    require_binaries zfcp_cio_free grep sed seq || return 1
++
+     return 0
+ }
+ 
+diff --git a/modules.d/95zfcp_rules/module-setup.sh b/modules.d/95zfcp_rules/module-setup.sh
+index 9a1ab20..d9879cb 100755
+--- a/modules.d/95zfcp_rules/module-setup.sh
++++ b/modules.d/95zfcp_rules/module-setup.sh
+@@ -5,8 +5,8 @@
+ # called by dracut
+ check() {
+     local _arch=$(uname -m)
+-    [ -x /sbin/zfcp_disk_configure ] || return 1
+     [ "$_arch" = "s390" -o "$_arch" = "s390x" ] || return 1
++    require_binaries zfcp_disk_configure /usr/lib/udev/collect || return 1
+     return 0
+ }
+ 
+diff --git a/modules.d/95znet/module-setup.sh b/modules.d/95znet/module-setup.sh
+index 5012b77..346f893 100755
+--- a/modules.d/95znet/module-setup.sh
++++ b/modules.d/95znet/module-setup.sh
+@@ -5,9 +5,10 @@
+ # called by dracut
+ check() {
+     arch=$(uname -m)
+-    [ -z /sbin/znet_cio_free ] || return 1
+     [ "$arch" = "s390" -o "$arch" = "s390x" ] || return 1
+ 
++    require_binaries znet_cio_free grep sed seq readlink || return 1
++
+     return 0
+ }
+ 
+diff --git a/modules.d/97biosdevname/module-setup.sh b/modules.d/97biosdevname/module-setup.sh
+index b51c472..e285a7f 100755
+--- a/modules.d/97biosdevname/module-setup.sh
++++ b/modules.d/97biosdevname/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     [[ "$mount_needs" ]] && return 1
+-    type -P biosdevname >/dev/null || return 1
++    require_binaries biosdevname || return 1
+     return 0
+ }
+ 
+diff --git a/modules.d/97masterkey/module-setup.sh b/modules.d/97masterkey/module-setup.sh
+index e6e3690..82a6515 100755
+--- a/modules.d/97masterkey/module-setup.sh
++++ b/modules.d/97masterkey/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     [[ $hostonly ]] && {
+-        [ -x "/bin/keyctl" ] || return 1
++        require_binaries keyctl uname || return 1
+     }
+ 
+     return 255
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index 036f1c1..badce3c 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -5,7 +5,7 @@
+ # called by dracut
+ check() {
+     [[ $mount_needs ]] && return 1
+-    if [[ -x $systemdutildir/systemd ]]; then
++    if require_binaries $systemdutildir/systemd; then
+         SYSTEMD_VERSION=$($systemdutildir/systemd --version | { read a b a; echo $b; })
+         (( $SYSTEMD_VERSION >= 198 )) && return 0
+        return 255
+diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh
+index 2c3c992..69346b2 100755
+--- a/modules.d/99img-lib/module-setup.sh
++++ b/modules.d/99img-lib/module-setup.sh
+@@ -3,9 +3,7 @@
+ 
+ # called by dracut
+ check() {
+-    for cmd in tar gzip dd; do
+-        command -v $cmd >/dev/null || return 1
+-    done
++    require_binaries tar gzip dd bash || return 1
+     return 255
+ }
+ 
diff --git a/dracut.spec b/dracut.spec
index d00dc9e..ab7d164 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -1,4 +1,5 @@
 %define dracutlibdir %{_prefix}/lib/dracut
+%bcond_without doc
 
 # Variables must be defined
 %define with_nbd                1
@@ -9,8 +10,8 @@
 %endif
 
 Name: dracut
-Version: 034
-Release: 74.git20131218%{?dist}
+Version: 036
+Release: 16.git20140206%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -28,80 +29,22 @@ URL: https://dracut.wiki.kernel.org/
 
 # Source can be generated by
 # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
-Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2
-Patch1: 0001-lvm-install-thin-utils-for-non-hostonly.patch
-Patch2: 0002-module-setup.sh-add-comments-for-dracut-called-funct.patch
-Patch3: 0003-10i18n-parse-i18n.sh-parse-rd.vconsole-and-rd.locale.patch
-Patch4: 0004-dracut.sh-do-not-bail-out-if-kernel-modules-dir-is-m.patch
-Patch5: 0005-Doc-cleanup-extend-and-split-and-reuse.patch
-Patch6: 0006-dmsquash-live-add-dev-mapper-live-base.patch
-Patch7: 0007-base-init.sh-also-mkdir-run-lock.patch
-Patch8: 0008-resume-fix-swap-detection-in-hostonly.patch
-Patch9: 0009-resume-remove-resume-genrules.sh.patch
-Patch10: 0010-Add-lzo-lz4-compression-and-read-INITRD_COMPRESS.patch
-Patch11: 0011-lvm-fix-thin-recognition.patch
-Patch12: 0012-dracut.sh-also-mkdir-run-lock-which-is-copied-to.patch
-Patch13: 0013-dracut.sh-no-need-to-make-subdirs-in-run.patch
-Patch14: 0014-network-fcoe-only-redirect-output-to-loginit.pipe-if.patch
-Patch15: 0015-mkdir-basic-dirs-in-run.patch
-Patch16: 0016-dracut-functions.sh-check_block_and_slaves-skip-LVM-.patch
-Patch17: 0017-kernel-modules-ARM-add-mmc_block-usb_storage-to-stat.patch
-Patch18: 0018-lvm-always-install-thin-utils-for-lvm.patch
-Patch19: 0019-usrmount-module-setup.sh-fixed-typo.patch
-Patch20: 0020-Handle-crypto-modules-with-and-without-modaliases.patch
-Patch21: 0021-fips-include-crct10dif_generic.patch
-Patch22: 0022-iscsi-nbd-do-not-try-to-mount-the-whole-disk-if-root.patch
-Patch23: 0023-dracut.spec-move-sbin-dracut-to-usr-sbin-dracut.patch
-Patch24: 0024-dracut.sh-fixed-PATH-shortener.patch
-Patch25: 0025-dracut.modules.7.asc-removed-empty-section.patch
-Patch26: 0026-fips-also-install-etc-system-fips-in-the-initramfs.patch
-Patch27: 0027-dracut-functions.sh-Avoid-loading-unnecessary-32-bit.patch
-Patch28: 0028-iscsi-nbd-do-not-fail-in-hostonly-mode.patch
-Patch29: 0029-systemd-do-not-exit-the-initqueue-if-systemd-asks-a-.patch
-Patch30: 0030-Run-xz-and-lzma-with-multiple-threads.patch
-Patch31: 0031-kernel-modules-add-ohci-pci-to-the-list-of-forced-mo.patch
-Patch32: 0032-lvm-do-not-run-pvscan-for-lvmetad-update.patch
-Patch33: 0033-fips-fix-RHEV-vmlinuz-check.patch
-Patch34: 0034-dracut.cmdline.7.asc-document-server-ip-of-ip-parame.patch
-Patch35: 0035-dracut.sh-_get_fs_type-if-block-device-exists-return.patch
-Patch36: 0036-network-net-lib.sh-wait_for_if_up-wait-for-state-UP.patch
-Patch37: 0037-network-net-lib.sh-iface_has_link-fixup.patch
-Patch38: 0038-network-ifup.sh-before-doing-dhcp-check-if-the-link-.patch
-Patch39: 0039-base-dracut-lib.sh-wait_for_dev-relax-requirement.patch
-Patch40: 0040-resume-autoconf-resume.patch
-Patch41: 0041-resume-no-more-autoresume.patch
-Patch42: 0042-dracut.sh-skip-crypt-swaps-with-password-files.patch
-Patch43: 0043-dracut-functions.sh-do-not-force-require-modules.bui.patch
-Patch44: 0044-10i18n-parse-i18n.sh-fixed-vconsole.conf-locale.conf.patch
-Patch45: 0045-95dasd-Install-kernel-modules-only-once.patch
-Patch46: 0046-95dasd-Only-install-module-if-normalize_dasd_arg-is-.patch
-Patch47: 0047-95dasd_mod-make-dasd_cio_free-optional.patch
-Patch48: 0048-95zfcp-Make-installation-optional.patch
-Patch49: 0049-95znet-Make-installation-optional.patch
-Patch50: 0050-Add-DASD-configuration-for-SuSE.patch
-Patch51: 0051-Add-zfcp-scripts-for-SUSE.patch
-Patch52: 0052-Make-logfile-configurable.patch
-Patch53: 0053-mkinitrd-suse-Add-SUSE-compability-wrapper-for-dracu.patch
-Patch54: 0054-mkinitrd-suse.8.asc-Add-manpage-for-SUSE-compat-mkin.patch
-Patch55: 0055-Fixup-keymap-setting-for-openSUSE.patch
-Patch56: 0056-Fixup-script-permissions.patch
-Patch57: 0057-Remove-shebang-from-shell-completion-files.patch
-Patch58: 0058-lvm-install-thin-tools-only-when-needed-in-hostonly.patch
-Patch59: 0059-i18n-introduce-i18n_install_all-to-install-everythin.patch
-Patch60: 0060-dracut.spec-add-new-modules.patch
-Patch61: 0061-dracut.spec-remove-suse-man-pages.patch
-Patch62: 0062-TODO-update.patch
-Patch63: 0063-systemd-dracut-initqueue.sh-fixed-waiting-in-the-loo.patch
-Patch64: 0064-base-rdsosreport.sh-add-ip-a-output.patch
-Patch65: 0065-usrmount-always-install.patch
-Patch66: 0066-fcoe-move-uefi-parsing-to-fcoe-uefi-module.patch
-Patch67: 0067-move-uefi-lib-to-a-seperate-module.patch
-Patch68: 0068-lvm-fixed-lvm-thin-check.patch
-Patch69: 0069-dracut.spec-add-95fcoe-uefi-and-99uefi-lib.patch
-Patch70: 0070-test-TEST-17-LVM-THIN-add-test-case-for-lvm-thin-poo.patch
-Patch71: 0071-test-TEST-17-LVM-THIN-remove-.testdir.patch
-Patch72: 0072-iscsi-do-iscsi_firmware-regardless-of-network.patch
-Patch73: 0073-dracut-lib-wait_for_dev-prevent-systemd-daemon-reloa.patch
+Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.xz
+Patch1: 0001-NEWS-update-for-version-036.patch
+Patch2: 0002-network-understand-ip-.-dns1-dns2.patch
+Patch3: 0003-dracut.sh-only-set-the-owner-of-files-to-0-0-if-gene.patch
+Patch4: 0004-dracut-functions.sh-also-search-in-the-updates-direc.patch
+Patch5: 0005-network-net-lib.sh-parse-ibft-nameserver-settings.patch
+Patch6: 0006-network-ifup.sh-handle-dns1-and-dns2-from-ip-setting.patch
+Patch7: 0007-base-rdsosreport.sh-add-dracut-version-to-rdsosrepor.patch
+Patch8: 0008-test-include-the-same-Makefile.testdir.patch
+Patch9: 0009-network-ifup-do-not-ifup-an-already-setup-network-in.patch
+Patch10: 0010-network-ifup-do-not-run-dhclient-twice-on-the-same-i.patch
+Patch11: 0011-nfs-nfsroot-symlink-dev-null-to-dev-nfs-as-a-marker-.patch
+Patch12: 0012-systemd-dracut-pre-pivot-run-for-dev-nfs-root-and-cl.patch
+Patch13: 0013-Do-not-reload-systemd-with-wait_for_dev.patch
+Patch14: 0014-systemd-add-sys-kernel-config.mount.patch
+Patch15: 0015-Factor-out-all-the-type-V-commands.patch
 
 
 BuildRequires: bash git
@@ -119,6 +62,7 @@ BuildRequires: pkgconfig
 BuildRoot: %{_tmppath}/%{name}-%{version}-build
 %endif
 
+%if %{with doc}
 %if 0%{?fedora} || 0%{?rhel}
 BuildRequires: docbook-style-xsl docbook-dtds libxslt
 %endif
@@ -128,6 +72,8 @@ BuildRequires: docbook-style-xsl docbook-dtds libxslt
 %endif
 
 BuildRequires: asciidoc
+%endif
+
 
 %if 0%{?fedora} > 12 || 0%{?rhel}
 # no "provides", because dracut does not offer
@@ -277,7 +223,10 @@ git am -p1 %{patches}
 %endif
 
 %build
-%configure --systemdsystemunitdir=%{_unitdir} --bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) --libdir=%{_prefix}/lib
+%configure --systemdsystemunitdir=%{_unitdir} --bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) --libdir=%{_prefix}/lib \
+%if %{without doc}
+     --disable-documentation
+%endif
 
 make %{?_smp_mflags}
 
@@ -359,7 +308,9 @@ rm -rf -- $RPM_BUILD_ROOT
 
 %files
 %defattr(-,root,root,0755)
+%if %{with doc}
 %doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg
+%endif
 %{_bindir}/dracut
 # compat symlink
 %{_sbindir}/dracut
@@ -377,12 +328,15 @@ rm -rf -- $RPM_BUILD_ROOT
 %{dracutlibdir}/dracut-logger.sh
 %{dracutlibdir}/dracut-initramfs-restore
 %{dracutlibdir}/dracut-install
+%{dracutlibdir}/skipcpio
 %config(noreplace) %{_sysconfdir}/dracut.conf
 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel}
 %{dracutlibdir}/dracut.conf.d/01-dist.conf
 %endif
 %dir %{_sysconfdir}/dracut.conf.d
 %dir %{dracutlibdir}/dracut.conf.d
+
+%if %{with doc}
 %{_mandir}/man8/dracut.8*
 %{_mandir}/man8/*service.8*
 %if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
@@ -394,6 +348,8 @@ rm -rf -- $RPM_BUILD_ROOT
 %{_mandir}/man7/dracut.modules.7*
 %{_mandir}/man7/dracut.bootup.7*
 %{_mandir}/man5/dracut.conf.5*
+%endif
+
 %if %{defined _unitdir}
 %{dracutlibdir}/modules.d/00systemd-bootchart
 %else
@@ -501,7 +457,11 @@ rm -rf -- $RPM_BUILD_ROOT
 
 %files fips-aesni
 %defattr(-,root,root,0755)
+
+%if %{with doc}
 %doc COPYING
+%endif
+
 %{dracutlibdir}/modules.d/02fips-aesni
 
 %files caps
@@ -510,7 +470,11 @@ rm -rf -- $RPM_BUILD_ROOT
 
 %files tools
 %defattr(-,root,root,0755)
-%{_mandir}/man8/dracut-catimages.8*
+
+%if %{with doc}
+%doc %{_mandir}/man8/dracut-catimages.8*
+%endif
+
 %{_bindir}/dracut-catimages
 %dir /boot/dracut
 %dir /var/lib/dracut
@@ -529,6 +493,14 @@ rm -rf -- $RPM_BUILD_ROOT
 %endif
 
 %changelog
+* Thu Feb 06 2014 Harald Hoyer <harald at redhat.com> 036-16.git20140206
+- version 036
+- parse dns information on "ip=" command line arg
+- preserve ownership of files, if root creates the initramfs
+- parse ibft nameserver settings
+- do not run dhcp twice on an interface
+- try to not reload systemd
+
 * Wed Dec 18 2013 Harald Hoyer <harald at redhat.com> 034-74.git20131218
 - do not systemctl daemon-reload
 - do iscsistart for iscsi_firmware even without network
diff --git a/sources b/sources
index cf80095..d1380e4 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-23b0983d57a791c3d94ed13152226385  dracut-034.tar.bz2
+82c7cf082145493751fa31e5f955ce5b  dracut-036.tar.xz


More information about the scm-commits mailing list