[dracut] dracut-019-16.git20120611

Harald Hoyer harald at fedoraproject.org
Mon Jun 11 15:19:59 UTC 2012


commit 18c19d34cc28e42717da78e7d9d33774c854443b
Author: Harald Hoyer <harald at redhat.com>
Date:   Mon Jun 11 17:19:26 2012 +0200

    dracut-019-16.git20120611
    
    new upstream version

 0001-get-rid-of-libdir-and-usrlibdir.patch         |  138 +++++++++++++
 ...ange-rd.dasd-to-dasd_mod-kernel-parameter.patch |   85 ++++++++
 ...les-module-setup.sh-include-omapdrm-in-th.patch |   23 +++
 ...ying-warnings-when-pkg-config-is-not-inst.patch |   43 ++++
 ...r-systemdutildir-systemdsystemunitdir-glo.patch |  127 ++++++++++++
 ...-now-only-handled-with-sys-modules-and-mo.patch |  207 ++++++++++++++++++++
 ...ip-down-the-installation-of-some-unused-t.patch |   35 ++++
 ...p.sh-do-not-default-to-dhcp-for-interface.patch |   35 ++++
 ...cut-initqueue.sh-remove-pre-trigger-sourc.patch |   22 ++
 ...hutdown.sh-wait-until-md-devices-are-clea.patch |   33 +++
 ...ble-to-process-initqueue-Could-not-boot-g.patch |   36 ++++
 0012-dracut.sh-mkdir-of-libdirs-at-then-end.patch  |   30 +++
 0013-dm-check-for-presence-of-dmsetup.patch        |   37 ++++
 ...d-shutdown.sh-check-for-presence-of-mdadm.patch |   23 +++
 ...etwork-ifup.sh-default-to-dhcp-for-BOOTIF.patch |   27 +++
 dracut.spec                                        |   23 ++-
 16 files changed, 921 insertions(+), 3 deletions(-)
---
diff --git a/0001-get-rid-of-libdir-and-usrlibdir.patch b/0001-get-rid-of-libdir-and-usrlibdir.patch
new file mode 100644
index 0000000..1e550ab
--- /dev/null
+++ b/0001-get-rid-of-libdir-and-usrlibdir.patch
@@ -0,0 +1,138 @@
+From d77540c8e4caf557d472786711ef17838a4a24f1 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 4 Jun 2012 15:23:15 +0200
+Subject: [PATCH] get rid of libdir and usrlibdir
+
+---
+ dracut.sh                                        |   23 ++++++++--------------
+ modules.d/01fips/module-setup.sh                 |    2 +-
+ modules.d/50plymouth/plymouth-populate-initrd.sh |   12 ++++-------
+ modules.d/95nfs/module-setup.sh                  |    8 +++-----
+ 4 files changed, 16 insertions(+), 29 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index c9e412e..65398a8 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -527,22 +527,15 @@ ddebug "Executing $0 $dracut_args"
+ }
+ 
+ # Detect lib paths
+-if ! [[ $libdir ]] || ! [[ $usrlibdir ]] ; then
++if ! [[ $libdirs ]] ; then
+     if strstr "$(ldd /bin/sh)" "/lib64/" &>/dev/null \
+         && [[ -d /lib64 ]]; then
+-        libdir=/lib64
+-        usrlibdir=/usr/lib64
++        libdirs+=" /lib64"
++        [[ -d /usr/lib64 ]] && libdirs+=" /usr/lib64"
+     else
+-        libdir=/lib
+-        usrlibdir=/usr/lib
++        libdirs+=" /lib"
++        [[ -d /usr/lib ]] && libdirs+=" /usr/lib"
+     fi
+-    for i in $libdir $usrlibdir; do
+-        if [[ -d $i ]]; then
+-            libdirs+=" $i"
+-        else
+-            dwarn 'No $i directory??!!'
+-        fi
+-    done
+ fi
+ 
+ # This is kinda legacy -- eventually it should go away.
+@@ -660,7 +653,7 @@ done
+ export initdir dracutbasedir dracutmodules drivers \
+     fw_dir drivers_dir debug no_kernel kernel_only \
+     add_drivers omit_drivers mdadmconf lvmconf filesystems \
+-    use_fstab fstab_lines libdir usrlibdir fscks nofscks \
++    use_fstab fstab_lines libdirs fscks nofscks \
+     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
+     debug host_fs_types host_devs sshkey add_fstab \
+     DRACUT_VERSION
+@@ -672,13 +665,13 @@ export initdir dracutbasedir dracutmodules drivers \
+ [[ $prefix ]] && ln -sfn "${prefix#/}/lib" "$initdir/lib"
+ 
+ if [[ $prefix ]]; then
+-    for d in bin etc lib "$libdir" sbin tmp usr var; do
++    for d in bin etc lib $libdirs sbin tmp usr var; do
+         ln -sfn "${prefix#/}/${d#/}" "$initdir/$d"
+     done
+ fi
+ 
+ if [[ $kernel_only != yes ]]; then
+-    for d in usr/bin usr/sbin bin etc lib "$libdir" sbin tmp usr var var/log var/run var/lock; do
++    for d in usr/bin usr/sbin bin etc lib $libdirs sbin tmp usr var var/log var/run var/lock; do
+         [[ -e "${initdir}${prefix}/$d" ]] && continue
+         if [ -L "/$d" ]; then
+             inst_symlink "/$d" "${prefix}/$d"
+diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
+index 075fc24..a576a4a 100755
+--- a/modules.d/01fips/module-setup.sh
++++ b/modules.d/01fips/module-setup.sh
+@@ -41,7 +41,7 @@ install() {
+     inst_libdir_file libfreebl3.so
+     inst_libdir_file libfreebl3.chk
+ 
+-    dracut_install $usrlibdir/hmaccalc/sha512hmac.hmac
++    inst_libdir_file 'hmaccalc/sha512hmac.hmac'
+     if command -v prelink >/dev/null; then
+         dracut_install prelink
+     fi
+diff --git a/modules.d/50plymouth/plymouth-populate-initrd.sh b/modules.d/50plymouth/plymouth-populate-initrd.sh
+index 25657ae..7ab1a5d 100755
+--- a/modules.d/50plymouth/plymouth-populate-initrd.sh
++++ b/modules.d/50plymouth/plymouth-populate-initrd.sh
+@@ -12,8 +12,8 @@ dracut_install /bin/plymouth \
+ mkdir -m 0755 -p "${initdir}/usr/share/plymouth"
+ 
+ if [[ $hostonly ]]; then
+-    dracut_install "${usrlibdir}/plymouth/text.so" \
+-        "${usrlibdir}/plymouth/details.so" \
++    inst_libdir_file "plymouth/text.so" "plymouth/details.so"
++    dracut_install \
+         "/usr/share/plymouth/themes/details/details.plymouth" \
+         "/usr/share/plymouth/themes/text/text.plymouth" \
+ 
+@@ -28,7 +28,7 @@ if [[ $hostonly ]]; then
+         inst /usr/share/plymouth/themes/default.plymouth
+         # Install plugin for this theme
+         PLYMOUTH_PLUGIN=$(grep "^ModuleName=" /usr/share/plymouth/themes/default.plymouth | while read a b c; do echo $b; done;)
+-        inst "${usrlibdir}/plymouth/${PLYMOUTH_PLUGIN}.so"
++        inst_libdir_file "plymouth/${PLYMOUTH_PLUGIN}.so"
+     fi
+ else
+     for x in /usr/share/plymouth/themes/{text,details}/* ; do
+@@ -37,11 +37,7 @@ else
+         mkdir -m 0755 -p "${initdir}/$THEME_DIR"
+         dracut_install "$x"
+     done
+-    for x in "${usrlibdir}"/plymouth/{text,details}.so ; do
+-        [[ -f "$x" ]] || continue
+-        [[ "$x" != "${x%%/label.so}" ]] && continue
+-        dracut_install "$x"
+-    done
++    inst_libdir_file "/plymouth/{text,details}.so"
+     (
+         cd ${initdir}/usr/share/plymouth/themes;
+         ln -s text/text.plymouth default.plymouth 2>&1;
+diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
+index 1d62e95..bf87762 100755
+--- a/modules.d/95nfs/module-setup.sh
++++ b/modules.d/95nfs/module-setup.sh
+@@ -43,11 +43,9 @@ install() {
+     dracut_install rpc.idmapd
+     dracut_install sed
+ 
+-    for _i in {"$libdir","$usrlibdir"}/libnfsidmap_nsswitch.so* \
+-        {"$libdir","$usrlibdir"}/libnfsidmap/*.so \
+-        {"$libdir","$usrlibdir"}/libnfsidmap*.so*; do
+-        [ -e "$_i" ] && dracut_install "$_i"
+-    done
++    inst_libdir_file 'libnfsidmap_nsswitch.so*'
++    inst_libdir_file 'libnfsidmap/*.so'
++    inst_libdir_file 'libnfsidmap*.so*'
+ 
+     _nsslibs=$(sed -e '/^#/d' -e 's/^.*://' -e 's/\[NOTFOUND=return\]//' /etc/nsswitch.conf \
+         |  tr -s '[:space:]' '\n' | sort -u | tr -s '[:space:]' '|')
diff --git a/0002-dasd_mod-change-rd.dasd-to-dasd_mod-kernel-parameter.patch b/0002-dasd_mod-change-rd.dasd-to-dasd_mod-kernel-parameter.patch
new file mode 100644
index 0000000..ae0eb6a
--- /dev/null
+++ b/0002-dasd_mod-change-rd.dasd-to-dasd_mod-kernel-parameter.patch
@@ -0,0 +1,85 @@
+From 4d76a85df17b600553af1f58ced1dc7bea8a0e7c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 5 Jun 2012 20:23:35 +0200
+Subject: [PATCH] dasd_mod: change rd.dasd to dasd_mod kernel parameter
+
+---
+ dracut.cmdline.7.asc                   |    9 ++-------
+ modules.d/95dasd_mod/parse-dasd-mod.sh |   34 --------------------------------
+ 2 files changed, 2 insertions(+), 41 deletions(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 8a74cf5..9fa0ee8 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -434,14 +434,9 @@ NBD
+ 
+ DASD
+ ~~~~
+-**rd.dasd_mod.dasd=**....::
++**rd.dasd=**....::
+     same syntax as the kernel module parameter (s390 only)
+ 
+-**rd.dasd=**_<dasd_adaptor device bus ID>_[,readonly=_X_][,use_diag=_X_][,erplog=_X_]::
+-    activate DASD device with the given adaptor device bus ID and setting the
+-    sysfs attributes to the specified values. This parameter can be specified
+-    multiple times.
+-
+ ZFCP
+ ~~~~
+ **rd.zfcp=**_<zfcp adaptor device bus ID>_,_<WWPN>_,_<FCPLUN>_::
+@@ -510,7 +505,7 @@ rdbreak:: rd.break
+ 
+ rd_CCW:: rd.ccw
+ 
+-rd_DASD_MOD:: rd.dasd_mod.dasd
++rd_DASD_MOD:: rd.dasd
+ 
+ rd_DASD:: rd.dasd
+ 
+diff --git a/modules.d/95dasd_mod/parse-dasd-mod.sh b/modules.d/95dasd_mod/parse-dasd-mod.sh
+index 7b197d1..c37aca8 100755
+--- a/modules.d/95dasd_mod/parse-dasd-mod.sh
++++ b/modules.d/95dasd_mod/parse-dasd-mod.sh
+@@ -3,41 +3,7 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ mod_args=""
+ 
+-convert_dasd_param() {
+-    local bus_id params
+-    params=""
+-    bus_id=$1; shift
+-    while [ $# -gt 0 ]; do
+-        case "$1" in
+-            use_diag\=1)
+-                params="$params,diag"
+-                ;;
+-            readonly\=1)
+-                params="$params,ro"
+-                ;;
+-            erplog\=1)
+-                params="$params,erplog"
+-                ;;
+-            failfast\=1)
+-                params="$params,failfast"
+-                ;;
+-        esac
+-        shift
+-    done
+-    params="${params#*,}"
+-    if [ -n "$params" ]; then
+-        echo "$bus_id($params)"
+-    else
+-        echo "$bus_id"
+-    fi
+-}
+-
+ for dasd_arg in $(getargs rd.dasd= rd_DASD= DASD=); do
+-    OLD_IFS=$IFS
+-    IFS=","
+-    set -- $dasd_arg
+-    IFS=$OLD_IFS
+-    dasd_arg=$(convert_dasd_param "$@")
+     mod_args="$mod_args,$dasd_arg"
+ done
+ 
diff --git a/0003-kernel-modules-module-setup.sh-include-omapdrm-in-th.patch b/0003-kernel-modules-module-setup.sh-include-omapdrm-in-th.patch
new file mode 100644
index 0000000..998dc6b
--- /dev/null
+++ b/0003-kernel-modules-module-setup.sh-include-omapdrm-in-th.patch
@@ -0,0 +1,23 @@
+From b6fd45163a18d19434de33de3f3ed324bc560a97 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 6 Jun 2012 11:45:30 +0200
+Subject: [PATCH] kernel-modules/module-setup.sh: include omapdrm in the arm
+ modules to include
+
+---
+ modules.d/90kernel-modules/module-setup.sh |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 4df180b..1d39c85 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -36,7 +36,7 @@ installkernel() {
+         hostonly='' instmods usb_storage sdhci sdhci-pci
+ 
+         # arm specific modules
+-        hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap sdhci_dove ahci_platform pata_imx sata_mv
++        hostonly='' instmods sdhci_esdhc_imx mmci sdhci_tegra mvsdio omap omapdrm sdhci_dove ahci_platform pata_imx sata_mv
+ 
+         # install keyboard support
+         hostonly='' instmods atkbd i8042 usbhid hid-apple hid-sunplus hid-cherry hid-logitech hid-logitech-dj hid-microsoft ehci-hcd ohci-hcd uhci-hcd xhci-hcd
diff --git a/0004-Avoid-annonying-warnings-when-pkg-config-is-not-inst.patch b/0004-Avoid-annonying-warnings-when-pkg-config-is-not-inst.patch
new file mode 100644
index 0000000..836d483
--- /dev/null
+++ b/0004-Avoid-annonying-warnings-when-pkg-config-is-not-inst.patch
@@ -0,0 +1,43 @@
+From 2cf4f4fb747803ff31d53507bc047232c4ef99ea Mon Sep 17 00:00:00 2001
+From: Juan RP <xtraeme at gmail.com>
+Date: Wed, 6 Jun 2012 14:19:59 +0200
+Subject: [PATCH] Avoid annonying warnings when pkg-config is not installed.
+
+---
+ dracut-functions.sh                    |    2 +-
+ modules.d/95udev-rules/module-setup.sh |    4 ++--
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index f788878..4180f03 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -531,7 +531,7 @@ inst_symlink() {
+     ln -sfn $(convert_abs_rel "${_target}" "${_realsrc}") "$initdir/$_target"
+ }
+ 
+-udevdir=$(pkg-config udev --variable=udevdir)
++udevdir=$(pkg-config udev --variable=udevdir 2>/dev/null)
+ if ! [[ -d "$udevdir" ]]; then
+     [[ -d /lib/udev ]] && udevdir=/lib/udev
+     [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
+diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
+index e8c1c04..ff47021 100755
+--- a/modules.d/95udev-rules/module-setup.sh
++++ b/modules.d/95udev-rules/module-setup.sh
+@@ -5,13 +5,13 @@
+ install() {
+     local _i
+ 
+-    systemdutildir=$(pkg-config systemd --variable=systemdutildir)
++    systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
+     if ! [[ -d "$systemdutildir" ]]; then
+         [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd
+         [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd
+     fi
+ 
+-    udevdir=$(pkg-config udev --variable=udevdir)
++    udevdir=$(pkg-config udev --variable=udevdir 2>/dev/null)
+     if ! [[ -d "$udevdir" ]]; then
+         [[ -d /lib/udev ]] && udevdir=/lib/udev
+         [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
diff --git a/0005-make-udevdir-systemdutildir-systemdsystemunitdir-glo.patch b/0005-make-udevdir-systemdutildir-systemdsystemunitdir-glo.patch
new file mode 100644
index 0000000..7c77ad1
--- /dev/null
+++ b/0005-make-udevdir-systemdutildir-systemdsystemunitdir-glo.patch
@@ -0,0 +1,127 @@
+From d161561290909523818e5ec16271e5f88b6152de Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 6 Jun 2012 15:12:59 +0200
+Subject: [PATCH] make udevdir systemdutildir systemdsystemunitdir global vars
+
+your distribution should ship those settings in
+/etc/dracut.conf.d/01-distro.conf
+
+see dracut.conf.d/fedora.conf.example
+---
+ dracut-functions.sh                    |    6 ------
+ dracut.conf.d/fedora.conf.example      |    3 +++
+ dracut.sh                              |   20 +++++++++++++++++++-
+ modules.d/95udev-rules/module-setup.sh |   12 ------------
+ modules.d/98systemd/module-setup.sh    |   11 -----------
+ 5 files changed, 22 insertions(+), 30 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 4180f03..8aba88d 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -531,12 +531,6 @@ inst_symlink() {
+     ln -sfn $(convert_abs_rel "${_target}" "${_realsrc}") "$initdir/$_target"
+ }
+ 
+-udevdir=$(pkg-config udev --variable=udevdir 2>/dev/null)
+-if ! [[ -d "$udevdir" ]]; then
+-    [[ -d /lib/udev ]] && udevdir=/lib/udev
+-    [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
+-fi
+-
+ # attempt to install any programs specified in a udev rule
+ inst_rule_programs() {
+     local _prog _bin
+diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example
+index e362e73..f3f57f1 100644
+--- a/dracut.conf.d/fedora.conf.example
++++ b/dracut.conf.d/fedora.conf.example
+@@ -8,3 +8,6 @@ stdloglvl=3
+ realinitpath="/usr/lib/systemd/systemd"
+ install_items+=" vi /etc/virc ps grep cat rm "
+ prefix="/"
++systemdutildir=/usr/lib/systemd
++systemdsystemunitdir=/usr/lib/systemd/system
++udevdir=/usr/lib/udev
+diff --git a/dracut.sh b/dracut.sh
+index 65398a8..49ea503 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -650,13 +650,31 @@ for dev in "${host_devs[@]}"; do
+     done
+ done
+ 
++[[ -d $udevdir ]] \
++    || udevdir=$(pkg-config udev --variable=udevdir 2>/dev/null)
++if ! [[ -d "$udevdir" ]]; then
++    [[ -d /lib/udev ]] && udevdir=/lib/udev
++    [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
++fi
++
++[[ -d $systemdutildir ]] \
++    || systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
++[[ -d $systemdsystemunitdir ]] \
++    || systemdsystemunitdir=$(pkg-config systemd --variable=systemdsystemunitdir 2>/dev/null)
++
++if ! [[ -d "$systemdutildir" ]]; then
++    [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd
++    [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd
++fi
++[[ -d "$systemdsystemunitdir" ]] || systemdsystemunitdir=${systemdutildir}/system
++
+ export initdir dracutbasedir dracutmodules drivers \
+     fw_dir drivers_dir debug no_kernel kernel_only \
+     add_drivers omit_drivers mdadmconf lvmconf filesystems \
+     use_fstab fstab_lines libdirs fscks nofscks \
+     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
+     debug host_fs_types host_devs sshkey add_fstab \
+-    DRACUT_VERSION
++    DRACUT_VERSION udevdir systemdutildir systemdsystemunitdir
+ 
+ # Create some directory structure first
+ [[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}"
+diff --git a/modules.d/95udev-rules/module-setup.sh b/modules.d/95udev-rules/module-setup.sh
+index ff47021..a48b0cb 100755
+--- a/modules.d/95udev-rules/module-setup.sh
++++ b/modules.d/95udev-rules/module-setup.sh
+@@ -5,18 +5,6 @@
+ install() {
+     local _i
+ 
+-    systemdutildir=$(pkg-config systemd --variable=systemdutildir 2>/dev/null)
+-    if ! [[ -d "$systemdutildir" ]]; then
+-        [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd
+-        [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd
+-    fi
+-
+-    udevdir=$(pkg-config udev --variable=udevdir 2>/dev/null)
+-    if ! [[ -d "$udevdir" ]]; then
+-        [[ -d /lib/udev ]] && udevdir=/lib/udev
+-        [[ -d /usr/lib/udev ]] && udevdir=/usr/lib/udev
+-    fi
+-
+     # Fixme: would be nice if we didn't have to know 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
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index 1d8aefc..4fda2a2 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -16,17 +16,6 @@ depends() {
+ }
+ 
+ install() {
+-    local systemdutildir systemdsystemunitdir
+-
+-    systemdutildir=$(pkg-config systemd --variable=systemdutildir)
+-    systemdsystemunitdir=$(pkg-config systemd --variable=systemdsystemunitdir)
+-
+-    if ! [[ -d "$systemdutildir" ]]; then
+-        [[ -d /lib/systemd ]] && systemdutildir=/lib/systemd
+-        [[ -d /usr/lib/systemd ]] && systemdutildir=/usr/lib/systemd
+-    fi
+-    [[ -d "$systemdsystemunitdir" ]] || systemdsystemunitdir=${systemdutildir}/system
+-
+     dracut_install -o "$i" \
+         $systemdutildir/systemd \
+         $systemdutildir/systemd-cgroups-agent \
diff --git a/0006-modules-are-now-only-handled-with-sys-modules-and-mo.patch b/0006-modules-are-now-only-handled-with-sys-modules-and-mo.patch
new file mode 100644
index 0000000..18fd766
--- /dev/null
+++ b/0006-modules-are-now-only-handled-with-sys-modules-and-mo.patch
@@ -0,0 +1,207 @@
+From fe1484f3db0c7fe7fe8e6d5cc1e6e4d8f0b17052 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Wed, 6 Jun 2012 18:20:35 +0200
+Subject: [PATCH] modules are now only handled with /sys/modules and
+ modules.dep
+
+No more "find" and /proc/modules checking. We now rely entirely on
+depmod and modules.dep
+---
+ TODO                                 |    3 +-
+ dracut-functions.sh                  |   56 +++++++-----------------------
+ dracut.sh                            |    5 +++
+ modules.d/50plymouth/module-setup.sh |   62 +++++++++++++++++++++++++---------
+ 4 files changed, 65 insertions(+), 61 deletions(-)
+
+diff --git a/TODO b/TODO
+index acbb0a2..095ec97 100644
+--- a/TODO
++++ b/TODO
+@@ -17,7 +17,8 @@ INITRAMFS TODO
+ 
+ GENERATOR TODO
+ 
+-- remove /proc/modules use /sys/module
++- add interpreter/plugin-scripts to be sourced at the beginning or end (can use dracut-functions)
++- provide "installkernel" and "new-kernel-pkg"
+ - add mechanism for module specific command line options
+ - pkg-config integration, to make it easy for other packages to use us.
+ - add recovery image creator (mkrecovery)
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 8aba88d..6a72fce 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -1053,7 +1053,7 @@ install_kmod_with_fw() {
+             fi
+         done
+         if [[ $_found != yes ]]; then
+-            if ! grep -qe "\<${_modname//-/_}\>" /proc/modules; then
++            if ! [[ -d $(echo /sys/module/${_modname//-/_}|{ read a b; echo $a; }) ]]; then
+                 dinfo "Possible missing firmware \"${_fw}\" for kernel module" \
+                     "\"${_modname}.ko\""
+             else
+@@ -1086,54 +1086,21 @@ for_each_kmod_dep() {
+     )
+ }
+ 
+-# filter kernel modules to install certain modules that meet specific
+-# requirements.
+-# $1 = search only in subdirectory of /kernel/$1
+-# $2 = function to call with module name to filter.
+-#      This function will be passed the full path to the module to test.
+-# The behaviour of this function can vary depending on whether $hostonly is set.
+-# If it is, we will only look at modules that are already in memory.
+-# If it is not, we will look at all kernel modules
+-# This function returns the full filenames of modules that match $1
+-filter_kernel_modules_by_path () (
+-    local _modname _filtercmd
+-    if ! [[ $hostonly ]]; then
+-        _filtercmd='find "$srcmods/kernel/$1" "$srcmods/extra"'
+-        _filtercmd+=' "$srcmods/weak-updates" -name "*.ko" -o -name "*.ko.gz"'
+-        _filtercmd+=' -o -name "*.ko.xz"'
+-        _filtercmd+=' 2>/dev/null'
+-    else
+-        _filtercmd='cut -d " " -f 1 </proc/modules|xargs modinfo -F filename '
+-        _filtercmd+='-k $kernel 2>/dev/null'
+-    fi
+-    for _modname in $(eval $_filtercmd); do
+-        case $_modname in
+-            *.ko) "$2" "$_modname" && echo "$_modname";;
+-            *.ko.gz) gzip -dc "$_modname" > $initdir/$$.ko
+-                $2 $initdir/$$.ko && echo "$_modname"
+-                rm -f $initdir/$$.ko
+-                ;;
+-            *.ko.xz) xz -dc "$_modname" > $initdir/$$.ko
+-                $2 $initdir/$$.ko && echo "$_modname"
+-                rm -f $initdir/$$.ko
+-                ;;
+-        esac
+-    done
+-)
++
+ find_kernel_modules_by_path () (
+     if ! [[ $hostonly ]]; then
+-        find "$srcmods/kernel/$1" "$srcmods/extra" "$srcmods/weak-updates" \
+-          -name "*.ko" -o -name "*.ko.gz" -o -name "*.ko.xz" 2>/dev/null
++        while read a rest; do
++            if [[ "${a##kernel}" != "$a" ]]; then
++                [[ "${a##kernel/$1}" != "$a" ]] || continue
++            fi
++            echo $srcmods/${a%:}
++        done < $srcmods/modules.dep
+     else
+-        cut -d " " -f 1 </proc/modules \
++        ( cd /sys/module; echo *; ) \
+         | xargs modinfo -F filename -k $kernel 2>/dev/null
+     fi
+ )
+ 
+-filter_kernel_modules () {
+-    filter_kernel_modules_by_path  drivers  "$1"
+-}
+-
+ find_kernel_modules () {
+     find_kernel_modules_by_path  drivers
+ }
+@@ -1180,8 +1147,9 @@ instmods() {
+                 fi
+                 # If we are building a host-specific initramfs and this
+                 # module is not already loaded, move on to the next one.
+-                [[ $hostonly ]] && ! grep -qe "\<${_mod//-/_}\>" /proc/modules \
+-                    && ! echo $add_drivers | grep -qe "\<${_mod}\>" \
++                [[ $hostonly ]] \
++                    && ! [[ -d $(echo /sys/module/${_mod//-/_}|{ read a b; echo $a; }) ]] \
++                    && ! [[ "$add_drivers" =~ " ${_mod} " ]] \
+                     && return
+ 
+                 # We use '-d' option in modprobe only if modules prefix path
+diff --git a/dracut.sh b/dracut.sh
+index 49ea503..78e7ac8 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -555,6 +555,11 @@ srcmods="/lib/modules/$kernel/"
+ }
+ export srcmods
+ 
++[[ -f $srcmods/modules.dep ]] || {
++    dfatal "$srcmods/modules.dep is missing. Did you run depmod?"
++    exit 1
++}
++
+ if [[ -f $outfile && ! $force ]]; then
+     dfatal "Will not override existing initramfs ($outfile) without --force"
+     exit 1
+diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
+index 8a675ec..69f1bc7 100755
+--- a/modules.d/50plymouth/module-setup.sh
++++ b/modules.d/50plymouth/module-setup.sh
+@@ -14,23 +14,53 @@ depends() {
+ installkernel() {
+     local _modname
+     # Include KMS capable drm drivers
+-    for _modname in $(find "$srcmods/kernel/drivers/gpu/drm" "$srcmods/extra" \( -name '*.ko' -o -name '*.ko.gz' -o -name '*.ko.xz' \) 2>/dev/null); do
+-        case $_modname in
+-            *.ko)      grep -q drm_crtc_init $_modname ;;
+-            *.ko.gz)  zgrep -q drm_crtc_init $_modname ;;
+-            *.ko.xz) xzgrep -q drm_crtc_init $_modname ;;
+-        esac
+-        if test $? -eq 0; then
+-            # if the hardware is present, include module even if it is not currently loaded,
+-            # as we could e.g. be in the installer; nokmsboot boot parameter will disable
+-            # loading of the driver if needed
+-            if [[ $hostonly ]] && modinfo -F alias $_modname | sed -e 's,\?,\.,g' -e 's,\*,\.\*,g' \
+-                                  | grep -qxf - /sys/bus/pci/devices/*/modalias; then
+-                hostonly='' instmods $_modname
+-                continue
+-            fi
+-            instmods $_modname
++
++    drm_module_filter() {
++        local _drm_drivers='drm_crtc_init'
++        local _ret
++        # subfunctions inherit following FDs
++        local _merge=8 _side2=9
++        function nmf1() {
++            local _fname _fcont
++            while read _fname; do
++                case "$_fname" in
++                    *.ko)    _fcont="$(<        $_fname)" ;;
++                    *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
++                    *.ko.xz) _fcont="$(xz -dc   $_fname)" ;;
++                esac
++                [[   $_fcont =~ $_drm_drivers
++                && ! $_fcont =~ iw_handler_get_spy ]] \
++                && echo "$_fname"
++            done
++        }
++        function rotor() {
++            local _f1 _f2
++            while read _f1; do
++                echo "$_f1"
++                if read _f2; then
++                    echo "$_f2" 1>&${_side2}
++                fi
++            done | nmf1 1>&${_merge}
++        }
++        # Use two parallel streams to filter alternating modules.
++        set +x
++        eval "( ( rotor ) ${_side2}>&1 | nmf1 ) ${_merge}>&1"
++        _ret=$?
++        [[ $debug ]] && set -x
++        return $_ret
++    }
++
++    for _modname in $(find_kernel_modules_by_path drivers/gpu/drm \
++        | drm_module_filter) ; do
++        # if the hardware is present, include module even if it is not currently loaded,
++        # as we could e.g. be in the installer; nokmsboot boot parameter will disable
++        # loading of the driver if needed
++        if [[ $hostonly ]] && modinfo -F alias $_modname | sed -e 's,\?,\.,g' -e 's,\*,\.\*,g' \
++            | grep -qxf - /sys/bus/pci/devices/*/modalias; then
++            hostonly='' instmods $_modname
++            continue
+         fi
++        instmods $_modname
+     done
+ }
+ 
diff --git a/0007-systemd-strip-down-the-installation-of-some-unused-t.patch b/0007-systemd-strip-down-the-installation-of-some-unused-t.patch
new file mode 100644
index 0000000..9e406cb
--- /dev/null
+++ b/0007-systemd-strip-down-the-installation-of-some-unused-t.patch
@@ -0,0 +1,35 @@
+From 547bbe4876f2cc8b3eab47dd0ca25b481c54731b Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 7 Jun 2012 10:38:31 +0200
+Subject: [PATCH] systemd: strip down the installation of some unused tools
+
+---
+ modules.d/98systemd/module-setup.sh |    5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index 4fda2a2..dbb9063 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -20,21 +20,16 @@ install() {
+         $systemdutildir/systemd \
+         $systemdutildir/systemd-cgroups-agent \
+         $systemdutildir/systemd-initctl \
+-        $systemdutildir/systemd-shutdownd \
+         $systemdutildir/systemd-shutdown \
+         $systemdutildir/systemd-modules-load \
+         $systemdutildir/systemd-remount-fs \
+         $systemdutildir/systemd-reply-password \
+         $systemdutildir/systemd-fsck \
+-        $systemdutildir/systemd-timestamp \
+-        $systemdutildir/systemd-ac-power \
+         $systemdutildir/systemd-sysctl \
+         $systemdutildir/systemd-udevd \
+         $systemdutildir/systemd-journald \
+-        $systemdutildir/systemd-coredump \
+         $systemdutildir/systemd-vconsole-setup \
+         $systemdutildir/systemd-cryptsetup \
+-        $systemdutildir/systemd-localed \
+         $systemdsystemunitdir/emergency.target \
+         $systemdsystemunitdir/sysinit.target \
+         $systemdsystemunitdir/basic.target \
diff --git a/0008-network-ifup.sh-do-not-default-to-dhcp-for-interface.patch b/0008-network-ifup.sh-do-not-default-to-dhcp-for-interface.patch
new file mode 100644
index 0000000..0f470e3
--- /dev/null
+++ b/0008-network-ifup.sh-do-not-default-to-dhcp-for-interface.patch
@@ -0,0 +1,35 @@
+From ede0532c580fdbace548511b07857fb2e004b299 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 29 May 2012 16:34:58 +0200
+Subject: [PATCH] network/ifup.sh: do not default to dhcp, for interfaces
+ without ip=...
+
+Don't try to be smarter than the admin configuring the machine.
+Does also conflict with other methods trying to setup the interfaces,
+like cmsifup.sh from the cms module.
+---
+ modules.d/40network/ifup.sh |   11 -----------
+ 1 file changed, 11 deletions(-)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index c9516bb..f785968 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -213,17 +213,6 @@ if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then
+     ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname; echo $?)"
+ fi
+ 
+-# No ip lines default to dhcp
+-ip=$(getarg ip)
+-
+-if [ -z "$ip" ]; then
+-    if [ "$netroot" = "dhcp6" ]; then
+-        do_dhcp -6
+-    else
+-        do_dhcp -4
+-    fi
+-fi
+-
+ # Specific configuration, spin through the kernel command line
+ # looking for ip= lines
+ for p in $(getargs ip=); do
diff --git a/0009-systemd-dracut-initqueue.sh-remove-pre-trigger-sourc.patch b/0009-systemd-dracut-initqueue.sh-remove-pre-trigger-sourc.patch
new file mode 100644
index 0000000..ec0f155
--- /dev/null
+++ b/0009-systemd-dracut-initqueue.sh-remove-pre-trigger-sourc.patch
@@ -0,0 +1,22 @@
+From 521c57aca554f72c7e51ddf22f9c36bfc202cecd Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 7 Jun 2012 11:31:45 +0200
+Subject: [PATCH] systemd/dracut-initqueue.sh: remove pre-trigger sourcing
+
+Thanks ms77 on #dracut!
+---
+ modules.d/98systemd/dracut-initqueue.sh |    1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh
+index 52b9cf5..5544e71 100755
+--- a/modules.d/98systemd/dracut-initqueue.sh
++++ b/modules.d/98systemd/dracut-initqueue.sh
+@@ -8,7 +8,6 @@ if [ -f /dracut-state.sh ]; then
+ fi
+ . /lib/dracut-lib.sh
+ source_conf /etc/conf.d
+-source_hook pre-trigger
+ 
+ getarg 'rd.break=initqueue' 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
+ 
diff --git a/0010-mdraid-md-shutdown.sh-wait-until-md-devices-are-clea.patch b/0010-mdraid-md-shutdown.sh-wait-until-md-devices-are-clea.patch
new file mode 100644
index 0000000..6b8f645
--- /dev/null
+++ b/0010-mdraid-md-shutdown.sh-wait-until-md-devices-are-clea.patch
@@ -0,0 +1,33 @@
+From 57038a41fac7db2ae90a6cbc10cf9b737768a115 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 8 Jun 2012 10:28:31 +0200
+Subject: [PATCH] mdraid/md-shutdown.sh: wait until md devices are clean
+
+---
+ modules.d/90mdraid/md-shutdown.sh |   11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/modules.d/90mdraid/md-shutdown.sh b/modules.d/90mdraid/md-shutdown.sh
+index 0d41008..1e6c9f6 100755
+--- a/modules.d/90mdraid/md-shutdown.sh
++++ b/modules.d/90mdraid/md-shutdown.sh
+@@ -5,12 +5,15 @@ _do_md_shutdown() {
+     local ret
+     local final=$1
+     local _offroot=$(strstr "$(mdadm --help-options 2>&1)" offroot && echo --offroot)
+-    info "Disassembling mdraid devices."
+-    mdadm $_offroot -v --stop --scan
++    info "Waiting for mdraid devices to be clean."
++    mdadm $_offroot -vv --wait-clean --scan| vinfo
+     ret=$?
++    info "Disassembling mdraid devices."
++    mdadm $_offroot -vv --stop --scan | vinfo
++    ret=$(($ret+$?))
+     if [ "x$final" != "x" ]; then
+-        info "cat /proc/mdstat"
+-        cat /proc/mdstat | vinfo
++        info "/proc/mdstat:"
++        vinfo < /proc/mdstat
+     fi
+     return $ret
+ }
diff --git a/0011-s-Unable-to-process-initqueue-Could-not-boot-g.patch b/0011-s-Unable-to-process-initqueue-Could-not-boot-g.patch
new file mode 100644
index 0000000..9a66025
--- /dev/null
+++ b/0011-s-Unable-to-process-initqueue-Could-not-boot-g.patch
@@ -0,0 +1,36 @@
+From fbaf1517c352e34ede77613536ce12bd14b7ec2c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 8 Jun 2012 10:29:35 +0200
+Subject: [PATCH] s/Unable to process initqueue/Could not boot/g
+
+---
+ modules.d/98systemd/dracut-initqueue.sh |    2 +-
+ modules.d/99base/init.sh                |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh
+index 5544e71..5d51a80 100755
+--- a/modules.d/98systemd/dracut-initqueue.sh
++++ b/modules.d/98systemd/dracut-initqueue.sh
+@@ -61,7 +61,7 @@ while :; do
+ 
+     main_loop=$(($main_loop+1))
+     [ $main_loop -gt $RDRETRY ] \
+-        && { flock -s 9 ; emergency_shell "Unable to process initqueue"; } 9>/.console_lock
++        && { flock -s 9 ; emergency_shell "Could not boot."; } 9>/.console_lock
+ done
+ 
+ unset job
+diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
+index 7f8370e..5c693e4 100755
+--- a/modules.d/99base/init.sh
++++ b/modules.d/99base/init.sh
+@@ -180,7 +180,7 @@ while :; do
+ 
+     main_loop=$(($main_loop+1))
+     [ $main_loop -gt $RDRETRY ] \
+-        && { flock -s 9 ; emergency_shell "Unable to process initqueue"; } 9>/.console_lock
++        && { flock -s 9 ; emergency_shell "Could not boot."; } 9>/.console_lock
+ done
+ unset job
+ unset queuetriggered
diff --git a/0012-dracut.sh-mkdir-of-libdirs-at-then-end.patch b/0012-dracut.sh-mkdir-of-libdirs-at-then-end.patch
new file mode 100644
index 0000000..e725041
--- /dev/null
+++ b/0012-dracut.sh-mkdir-of-libdirs-at-then-end.patch
@@ -0,0 +1,30 @@
+From d2a9c4a8e7920cc01107b7cbab953da5c6cab100 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 8 Jun 2012 10:41:59 +0200
+Subject: [PATCH] dracut.sh: mkdir of $libdirs at then end
+
+---
+ dracut.sh |    5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 78e7ac8..a1b39e3 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -688,13 +688,14 @@ export initdir dracutbasedir dracutmodules drivers \
+ [[ $prefix ]] && ln -sfn "${prefix#/}/lib" "$initdir/lib"
+ 
+ if [[ $prefix ]]; then
+-    for d in bin etc lib $libdirs sbin tmp usr var; do
++    for d in bin etc lib sbin tmp usr var $libdirs; do
++        strstr "$d" "/" && continue
+         ln -sfn "${prefix#/}/${d#/}" "$initdir/$d"
+     done
+ fi
+ 
+ if [[ $kernel_only != yes ]]; then
+-    for d in usr/bin usr/sbin bin etc lib $libdirs sbin tmp usr var var/log var/run var/lock; do
++    for d in usr/bin usr/sbin bin etc lib sbin tmp usr var var/log var/run var/lock $libdirs; do
+         [[ -e "${initdir}${prefix}/$d" ]] && continue
+         if [ -L "/$d" ]; then
+             inst_symlink "/$d" "${prefix}/$d"
diff --git a/0013-dm-check-for-presence-of-dmsetup.patch b/0013-dm-check-for-presence-of-dmsetup.patch
new file mode 100644
index 0000000..2c8fb0f
--- /dev/null
+++ b/0013-dm-check-for-presence-of-dmsetup.patch
@@ -0,0 +1,37 @@
+From df96787019aadea63f6398a8ca8ba0a1e4d10202 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 8 Jun 2012 12:41:49 +0200
+Subject: [PATCH] dm: check for presence of dmsetup
+
+---
+ modules.d/90dm/dm-shutdown.sh  |    7 ++++++-
+ modules.d/90dm/module-setup.sh |    1 +
+ 2 files changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/90dm/dm-shutdown.sh b/modules.d/90dm/dm-shutdown.sh
+index 80d80d0..bf97637 100755
+--- a/modules.d/90dm/dm-shutdown.sh
++++ b/modules.d/90dm/dm-shutdown.sh
+@@ -13,4 +13,9 @@ _do_dm_shutdown() {
+     fi
+     return $ret
+ }
+-_do_dm_shutdown $1
++
++if command -v dmsetup >/dev/null; then
++    _do_dm_shutdown $1
++else
++    :
++fi
+diff --git a/modules.d/90dm/module-setup.sh b/modules.d/90dm/module-setup.sh
+index bac854a..4209537 100755
+--- a/modules.d/90dm/module-setup.sh
++++ b/modules.d/90dm/module-setup.sh
+@@ -3,6 +3,7 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ check() {
++    type -P dmsetup >/dev/null || return 1
+     return 255
+ }
+ 
diff --git a/0014-mdraid-md-shutdown.sh-check-for-presence-of-mdadm.patch b/0014-mdraid-md-shutdown.sh-check-for-presence-of-mdadm.patch
new file mode 100644
index 0000000..b1fea4f
--- /dev/null
+++ b/0014-mdraid-md-shutdown.sh-check-for-presence-of-mdadm.patch
@@ -0,0 +1,23 @@
+From b4692ce3889d5e165a9aa51db7732baf2996fd7a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 8 Jun 2012 12:42:12 +0200
+Subject: [PATCH] mdraid/md-shutdown.sh: check for presence of mdadm
+
+---
+ modules.d/90mdraid/md-shutdown.sh |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/90mdraid/md-shutdown.sh b/modules.d/90mdraid/md-shutdown.sh
+index 1e6c9f6..17eafa5 100755
+--- a/modules.d/90mdraid/md-shutdown.sh
++++ b/modules.d/90mdraid/md-shutdown.sh
+@@ -18,4 +18,8 @@ _do_md_shutdown() {
+     return $ret
+ }
+ 
+-_do_md_shutdown $1
++if command -v mdadm >/dev/null; then
++    _do_md_shutdown $1
++else
++    :
++fi
diff --git a/0015-network-ifup.sh-default-to-dhcp-for-BOOTIF.patch b/0015-network-ifup.sh-default-to-dhcp-for-BOOTIF.patch
new file mode 100644
index 0000000..8faaae6
--- /dev/null
+++ b/0015-network-ifup.sh-default-to-dhcp-for-BOOTIF.patch
@@ -0,0 +1,27 @@
+From bebb12fd0ec3cbb88006e384a9a277391a2f3a37 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 11 Jun 2012 17:11:49 +0200
+Subject: [PATCH] network/ifup.sh: default to dhcp for BOOTIF
+
+---
+ modules.d/40network/ifup.sh |    7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/modules.d/40network/ifup.sh b/modules.d/40network/ifup.sh
+index f785968..35ae3c6 100755
+--- a/modules.d/40network/ifup.sh
++++ b/modules.d/40network/ifup.sh
+@@ -213,6 +213,13 @@ if [ "$netif" = "$vlanname" ] && [ ! -e /tmp/net.$vlanname.up ]; then
+     ip link add dev "$vlanname" link "$phydevice" type vlan id "$(get_vid $vlanname; echo $?)"
+ fi
+ 
++# BOOTIF= defaults to dhcpv4
++bootif=$(getargs BOOTIF=)
++if [ -n "$bootif" ] ; then
++    do_dhcp -4
++    exit 0
++fi
++
+ # Specific configuration, spin through the kernel command line
+ # looking for ip= lines
+ for p in $(getargs ip=); do
diff --git a/dracut.spec b/dracut.spec
index 0d72e6a..e1d9bca 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 019
-Release: 2%{?dist}
+Release: 16.git20120611%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -24,7 +24,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
-Patch0: dracut-0.19-omapdrm.patch
+Patch1: 0001-get-rid-of-libdir-and-usrlibdir.patch
+Patch2: 0002-dasd_mod-change-rd.dasd-to-dasd_mod-kernel-parameter.patch
+Patch3: 0003-kernel-modules-module-setup.sh-include-omapdrm-in-th.patch
+Patch4: 0004-Avoid-annonying-warnings-when-pkg-config-is-not-inst.patch
+Patch5: 0005-make-udevdir-systemdutildir-systemdsystemunitdir-glo.patch
+Patch6: 0006-modules-are-now-only-handled-with-sys-modules-and-mo.patch
+Patch7: 0007-systemd-strip-down-the-installation-of-some-unused-t.patch
+Patch8: 0008-network-ifup.sh-do-not-default-to-dhcp-for-interface.patch
+Patch9: 0009-systemd-dracut-initqueue.sh-remove-pre-trigger-sourc.patch
+Patch10: 0010-mdraid-md-shutdown.sh-wait-until-md-devices-are-clea.patch
+Patch11: 0011-s-Unable-to-process-initqueue-Could-not-boot-g.patch
+Patch12: 0012-dracut.sh-mkdir-of-libdirs-at-then-end.patch
+Patch13: 0013-dm-check-for-presence-of-dmsetup.patch
+Patch14: 0014-mdraid-md-shutdown.sh-check-for-presence-of-mdadm.patch
+Patch15: 0015-network-ifup.sh-default-to-dhcp-for-BOOTIF.patch
+
 
 BuildArch: noarch
 BuildRequires: dash bash git
@@ -152,7 +167,6 @@ This package contains tools to assemble the local initrd and host configuration.
 
 %prep
 %setup -q -n %{name}-%{version}
-%patch0 -p1
 
 %if %{defined PATCH1}
 git init
@@ -344,6 +358,9 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Mon Jun 11 2012 Harald Hoyer <harald at redhat.com> 019-16.git20120611
+- new upstream version
+
 * Tue Jun 05 2012 Dennis Gilmore <dennis at ausil.us> 019-2
 - include omapdrm with the arm modules
 


More information about the scm-commits mailing list