[dracut] dracut-020-51.git20120706

Harald Hoyer harald at fedoraproject.org
Fri Jul 6 12:41:32 UTC 2012


commit 2d3fda91ea506fdeb88db19ff1065f4d8739db93
Author: Harald Hoyer <harald at redhat.com>
Date:   Fri Jul 6 14:41:00 2012 +0200

    dracut-020-51.git20120706
    
    - cope with systemd-udevd unit renaming
    - fixed network renaming
    - removed dash module

 ...tions.sh-find_kernel_modules_by_path-fixe.patch |   28 ++
 ...h-error-out-early-if-dev-proc-or-sys-cann.patch |   64 ++++
 0024-add-lsinitrd-and-mkinitrd-man-pages.patch     |  189 ++++++++++
 0025-manpages-simplify-AUTHORS.patch               |   66 ++++
 0026-dracut.sh-use-getopt-to-parse-arguments.patch |  365 ++++++++++++++++++++
 ...unt-usr.sh-check-the-right-path-with-ismo.patch |   22 ++
 ...-MOUNT-change-test-to-use-a-seperate-disk.patch |  105 ++++++
 ...0-ISCSI-put-back-in-hard-off.sh-for-tests.patch |   22 ++
 0030-lsinitrd.sh-print-usage-for-h.patch           |   35 ++
 0031-lsinitrd.sh-get-rid-of-awk-call.patch         |   22 ++
 ...lsinitrd.sh-fixed-version-file-extraction.patch |   22 ++
 0033-Makefile-mkinitrd-man-page-install-typo.patch |   22 ++
 0034-fips-change-module-list.patch                 |   22 ++
 ...-setup.sh-s-error-info-if-no-keymap-is-co.patch |   42 +++
 0036-fips-add-instmods-silent-check-mode-c-s.patch |   85 +++++
 0037-install-user-group-adm-for-journal.patch      |   25 ++
 ...tor-out-parse_ifname_opts-for-ifname-genr.patch |   75 ++++
 0039-systemd-exit-with-sane-state.patch            |  123 +++++++
 0040-dracut.asc-add-lsinitrd-and-mkinitrd.patch    |   26 ++
 0041-dracut.8.asc-fixup-NOTE-sections.patch        |   39 ++
 0042-dracut.cmdline.7.asc-fixup.patch              |   23 ++
 ...not-rename-other-interfaces-and-document-.patch |  152 ++++++++
 ...kinitrd.8.asc-mark-paragraph-as-important.patch |   21 ++
 ...ame-genrules.sh-check-for-multiple-ifname.patch |   38 ++
 ...cut.sh-keep-vim-syntax-highlighting-happy.patch |   21 ++
 ...md-check-that-prefix-does-not-contain-run.patch |   55 +++
 0048-fixed-bash-sh-requirements.patch              |   81 +++++
 ...-dracut.conf.d-fedora.conf.example-no-das.patch |   56 +++
 ...ule-setup.sh-also-include-systemd-udevd-u.patch |   51 +++
 dracut.spec                                        |   42 +++-
 30 files changed, 1937 insertions(+), 2 deletions(-)
---
diff --git a/0022-dracut-functions.sh-find_kernel_modules_by_path-fixe.patch b/0022-dracut-functions.sh-find_kernel_modules_by_path-fixe.patch
new file mode 100644
index 0000000..ebc58ce
--- /dev/null
+++ b/0022-dracut-functions.sh-find_kernel_modules_by_path-fixe.patch
@@ -0,0 +1,28 @@
+From 194b80f974751b2eb5e6f50075d150b9c8083b77 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 2 Jul 2012 22:51:24 +0200
+Subject: [PATCH] dracut-functions.sh:find_kernel_modules_by_path() fixed
+ hostonly part
+
+filter /sys/module/* modules by path
+---
+ dracut-functions.sh |    6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 2898c30..6de7c72 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -1277,7 +1277,11 @@ find_kernel_modules_by_path () (
+         IFS=$_OLDIFS
+     else
+         ( cd /sys/module; echo *; ) \
+-        | xargs -r modinfo -F filename -k $kernel 2>/dev/null
++        | xargs -r modinfo -F filename -k $kernel 2>/dev/null \
++        | while read a; do
++            [[ $a = kernel*/$1/* ]] || continue
++            echo $srcmods/$a
++        done
+     fi
+     return 0
+ )
diff --git a/0023-base-init.sh-error-out-early-if-dev-proc-or-sys-cann.patch b/0023-base-init.sh-error-out-early-if-dev-proc-or-sys-cann.patch
new file mode 100644
index 0000000..122e1cc
--- /dev/null
+++ b/0023-base-init.sh-error-out-early-if-dev-proc-or-sys-cann.patch
@@ -0,0 +1,64 @@
+From c204501e3eaf31a69ef69aa567f5d3c88f69c66a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 13:14:12 +0200
+Subject: [PATCH] base/init.sh: error out early, if /dev, /proc or /sys cannot
+ be mounted
+
+---
+ modules.d/99base/init.sh |   25 ++++++++++++++++++++-----
+ 1 file changed, 20 insertions(+), 5 deletions(-)
+
+diff --git a/modules.d/99base/init.sh b/modules.d/99base/init.sh
+index d395a99..3eb6424 100755
+--- a/modules.d/99base/init.sh
++++ b/modules.d/99base/init.sh
+@@ -20,14 +20,22 @@ export PATH
+ RD_DEBUG=""
+ . /lib/dracut-lib.sh
+ 
+-trap "emergency_shell Signal caught!" 0
+-
+ # mount some important things
+ [ ! -d /proc/self ] && \
+-    mount -t proc -o nosuid,noexec,nodev proc /proc >/dev/null 2>&1
++    mount -t proc -o nosuid,noexec,nodev proc /proc >/dev/null
++
++if [ "$?" != "0" ]; then
++    echo "Cannot mount proc on /proc! Compile the kernel with CONFIG_PROC_FS!"
++    exit 1
++fi
+ 
+ [ ! -d /sys/kernel ] && \
+-    mount -t sysfs -o nosuid,noexec,nodev sysfs /sys >/dev/null 2>&1
++    mount -t sysfs -o nosuid,noexec,nodev sysfs /sys >/dev/null
++
++if [ "$?" != "0" ]; then
++    echo "Cannot mount sysfs on /sys! Compile the kernel with CONFIG_SYSFS!"
++    exit 1
++fi
+ 
+ if [ -x /lib/systemd/systemd-timestamp ]; then
+     RD_TIMESTAMP=$(/lib/systemd/systemd-timestamp)
+@@ -39,7 +47,12 @@ fi
+ setdebug
+ 
+ if ! ismounted /dev; then
+-    mount -t devtmpfs -o mode=0755,nosuid,strictatime devtmpfs /dev >/dev/null 
++    mount -t devtmpfs -o mode=0755,nosuid,strictatime devtmpfs /dev >/dev/null
++fi
++
++if ! ismounted /dev; then
++    echo "Cannot mount devtmpfs on /dev! Compile the kernel with CONFIG_DEVTMPFS!"
++    exit 1
+ fi
+ 
+ # prepare the /dev directory
+@@ -66,6 +79,8 @@ if ! ismounted /run; then
+     rm -fr /newrun
+ fi
+ 
++trap "emergency_shell Signal caught!" 0
++
+ [ -d /run/initramfs ] || mkdir -p -m 0755 /run/initramfs
+ 
+ UDEVVERSION=$(udevadm --version)
diff --git a/0024-add-lsinitrd-and-mkinitrd-man-pages.patch b/0024-add-lsinitrd-and-mkinitrd-man-pages.patch
new file mode 100644
index 0000000..e6fe5a3
--- /dev/null
+++ b/0024-add-lsinitrd-and-mkinitrd-man-pages.patch
@@ -0,0 +1,189 @@
+From 0e14946a2032040899d792cf8eefd5db341074c8 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 14:18:55 +0200
+Subject: [PATCH] add lsinitrd and mkinitrd man pages
+
+---
+ Makefile       |   14 ++++++++++---
+ dracut.spec    |    2 ++
+ lsinitrd.1.asc |   43 +++++++++++++++++++++++++++++++++++++
+ mkinitrd.8.asc |   64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+ 4 files changed, 120 insertions(+), 3 deletions(-)
+ create mode 100644 lsinitrd.1.asc
+ create mode 100644 mkinitrd.8.asc
+
+diff --git a/Makefile b/Makefile
+index 1d5531d..78cf85d 100644
+--- a/Makefile
++++ b/Makefile
+@@ -9,7 +9,12 @@ sysconfdir ?= ${prefix}/etc
+ bindir ?= ${prefix}/bin
+ mandir ?= ${prefix}/share/man
+ 
+-manpages = dracut.8 dracut.cmdline.7 dracut.conf.5 dracut-catimages.8
++manpages = dracut.8 \
++	   dracut.cmdline.7 \
++	   dracut.conf.5 \
++	   dracut-catimages.8 \
++	   lsinitrd.1 \
++	   mkinitrd.8
+ 
+ .PHONY: install clean archive rpm testimage test all check AUTHORS doc
+ 
+@@ -55,7 +60,7 @@ install: doc dracut-version.sh
+ 	mkdir -p $(DESTDIR)$(bindir)
+ 	mkdir -p $(DESTDIR)$(sysconfdir)
+ 	mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
+-	mkdir -p $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
++	mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
+ 	install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
+ 	install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
+ 	install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
+@@ -68,8 +73,11 @@ install: doc dracut-version.sh
+ 	install -m 0755 dracut-logger.sh $(DESTDIR)$(pkglibdir)/dracut-logger.sh
+ 	install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
+ 	cp -arx modules.d $(DESTDIR)$(pkglibdir)
++	install -m 0644 lsinitrd.1 $(DESTDIR)$(mandir)/man1/lsinitrd.1
++	install -m 0644 mkdinitrd.8 $(DESTDIR)$(mandir)/man8/mkinitrd.8
+ 	install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
+-	install -m 0644 dracut-catimages.8 $(DESTDIR)$(mandir)/man8/dracut-catimages.8
++	install -m 0644 dracut-catimages.8 \
++                        $(DESTDIR)$(mandir)/man8/dracut-catimages.8
+ 	install -m 0644 dracut.conf.5 $(DESTDIR)$(mandir)/man5/dracut.conf.5
+ 	install -m 0644 dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.cmdline.7
+ 	ln -s dracut.cmdline.7 $(DESTDIR)$(mandir)/man7/dracut.kernel.7
+diff --git a/dracut.spec b/dracut.spec
+index 06d8139..b258121 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -255,9 +255,11 @@ rm -rf $RPM_BUILD_ROOT
+ %endif
+ %dir /etc/dracut.conf.d
+ %{_mandir}/man8/dracut.8*
++%{_mandir}/man8/mkinitrd.8*
+ %{_mandir}/man7/dracut.kernel.7*
+ %{_mandir}/man7/dracut.cmdline.7*
+ %{_mandir}/man5/dracut.conf.5*
++%{_mandir}/man1/lsinitrd.1*
+ %{dracutlibdir}/modules.d/00bootchart
+ %{dracutlibdir}/modules.d/00dash
+ %{dracutlibdir}/modules.d/04watchdog
+diff --git a/lsinitrd.1.asc b/lsinitrd.1.asc
+new file mode 100644
+index 0000000..5b0c62e
+--- /dev/null
++++ b/lsinitrd.1.asc
+@@ -0,0 +1,43 @@
++LSINITRD(1)
++=========
++:doctype: manpage
++:man source:   dracut
++:man manual:   dracut
++
++NAME
++----
++lsinitrd - tool to show the contents of an initramfs image
++
++SYNOPSIS
++--------
++*lsinit* ['OPTION...'] [<image>]
++
++DESCRIPTION
++-----------
++lsinitrd shows the contents of an initramfs image. if <image> is omitted, then
++lsinitrd uses the default image /boot/initramfs-<kernel version>.img.
++
++OPTIONS
++-------
++**-h, --help**::
++    print a help message and exit.
++
++**-s, --size**::
++    sort the contents of the initramfs by size.
++
++AVAILABILITY
++------------
++The lsinitrd command is part of the dracut package and is available from
++link:$$https://dracut.wiki.kernel.org$$[https://dracut.wiki.kernel.org]
++
++AUTHORS
++-------
++Harald Hoyer
++
++Amerigo Wang
++
++Nikoli
++
++SEE ALSO
++--------
++*dracut*(8)
+diff --git a/mkinitrd.8.asc b/mkinitrd.8.asc
+new file mode 100644
+index 0000000..2792915
+--- /dev/null
++++ b/mkinitrd.8.asc
+@@ -0,0 +1,64 @@
++MKINITRD(8)
++=========
++:doctype: manpage
++:man source:   dracut
++:man manual:   dracut
++
++NAME
++----
++mkinitrd - is a compat wrapper, which calls dracut to generate an initramfs
++
++SYNOPSIS
++--------
++*mkinitrd* ['OPTION...'] [<initrd-image>]  <kernel-version>
++
++DESCRIPTION
++-----------
++mkinitrd creates an initramfs image <initrd-image> for the kernel with
++version <kernel-version> by calling "dracut".
++
++If a more fine grained control over the resulting image is needed,
++"dracut" should be called directly.
++
++OPTIONS
++-------
++**--version**::
++    print info about the version
++
++**-v, --verbose**::
++    increase verbosity level
++
++**-f, --force**::
++    overwrite existing initramfs file.
++
++**--image-version*::
++    append the kernel version to the target image
++    <initrd-image>-<kernel-version>.
++
++**--with=<module>**::
++     add the kernel module <module> to the initramfs.
++
++**--preload=<module>**::
++     preload the kernel module <module> in the initramfs before any other kernel
++     modules are loaded. This can be used to ensure a certain device naming, which
++     should in theory be avoided and the use of symbolic links in /dev is
++     encouraged.
++
++**--nocompress**::
++     do not compress the resulting image.
++
++**--help**::
++    print a help message and exit.
++
++AVAILABILITY
++------------
++The mkinitrd command is part of the dracut package and is available from
++link:$$https://dracut.wiki.kernel.org$$[https://dracut.wiki.kernel.org]
++
++AUTHORS
++-------
++Harald Hoyer
++
++SEE ALSO
++--------
++*dracut*(8)
diff --git a/0025-manpages-simplify-AUTHORS.patch b/0025-manpages-simplify-AUTHORS.patch
new file mode 100644
index 0000000..4727834
--- /dev/null
+++ b/0025-manpages-simplify-AUTHORS.patch
@@ -0,0 +1,66 @@
+From 9f355169f454987405fcb79dc3eba6a280981a8c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 14:20:14 +0200
+Subject: [PATCH] manpages: simplify AUTHORS
+
+---
+ dracut.8.asc         |   24 ++++++++----------------
+ dracut.cmdline.7.asc |    3 +--
+ 2 files changed, 9 insertions(+), 18 deletions(-)
+
+diff --git a/dracut.8.asc b/dracut.8.asc
+index 196e2e8..3c0efb9 100644
+--- a/dracut.8.asc
++++ b/dracut.8.asc
+@@ -364,29 +364,21 @@ link:$$https://dracut.wiki.kernel.org$$[https://dracut.wiki.kernel.org]
+ 
+ AUTHORS
+ -------
+-*Harald Hoyer*::
+-    Project Leader and Developer
++Harald Hoyer
+ 
+-*Victor Lowther*::
+-    Developer
++Victor Lowther
+ 
+-*Philippe Seewer*::
+-    Developer
++Philippe Seewer
+ 
+-*Warren Togami*::
+-    Developer
++Warren Togami
+ 
+-*Amadeusz Żołnowski*::
+-    Developer
++Amadeusz Żołnowski
+ 
+-*Jeremy Katz*::
+-    Developer
++Jeremy Katz
+ 
+-*David Dillow*::
+-    Developer
++David Dillow
+ 
+-*Will Woods*::
+-    Developer
++Will Woods
+ 
+ SEE ALSO
+ --------
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 3bfb53a..997c513 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -650,8 +650,7 @@ _/etc/cmdline.d/*.conf_::
+ 
+ AUTHOR
+ ------
+-*Harald Hoyer*::
+-    Project Leader and Developer
++Harald Hoyer
+ 
+ SEE ALSO
+ --------
diff --git a/0026-dracut.sh-use-getopt-to-parse-arguments.patch b/0026-dracut.sh-use-getopt-to-parse-arguments.patch
new file mode 100644
index 0000000..9c2689f
--- /dev/null
+++ b/0026-dracut.sh-use-getopt-to-parse-arguments.patch
@@ -0,0 +1,365 @@
+From ffa71b4afa3e8865ab4f068f908ff8e05744a6ee Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 14:20:51 +0200
+Subject: [PATCH] dracut.sh: use getopt to parse arguments
+
+now we can put options and arguments anywhere we like.
+
+e.g.
+$ dracut test.img --force
+---
+ dracut.sh |  233 ++++++++++++++++++++++++++++++++++++++++++++-----------------
+ 1 file changed, 169 insertions(+), 64 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index 4a6d5c7..c1be619 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -24,7 +24,7 @@
+ #
+ 
+ # store for logging
+-dracut_args="$@"
++dracut_args=( "$@" )
+ 
+ set -o pipefail
+ 
+@@ -36,7 +36,32 @@ usage() {
+ 
+ #                                                       80x25 linebreak here ^
+     cat << EOF
+-Usage: $0 [OPTION]... <initramfs> <kernel-version>
++Usage: $0 [OPTION]... [<initramfs> [<kernel-version>]]
++
++Version: $DRACUT_VERSION
++
++Creates initial ramdisk images for preloading modules
++
++  -h, --help  Display all options
++
++If a [LIST] has multiple arguments, then you have to put these in quotes.
++
++For example:
++
++    # dracut --add-drivers "module1 module2"  ...
++
++EOF
++}
++
++long_usage() {
++    [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
++    if [[ -f $dracutbasedir/dracut-version.sh ]]; then
++        . $dracutbasedir/dracut-version.sh
++    fi
++
++#                                                       80x25 linebreak here ^
++    cat << EOF
++Usage: $0 [OPTION]... [<initramfs> [<kernel-version>]]
+ 
+ Version: $DRACUT_VERSION
+ 
+@@ -139,8 +164,11 @@ Creates initial ramdisk images for preloading modules
+   --sshkey [SSHKEY]     Add ssh key to initramfs (use with ssh-client module)
+ 
+ If [LIST] has multiple arguments, then you have to put these in quotes.
++
+ For example:
+-# dracut --add-drivers "module1 module2"  ...
++
++    # dracut --add-drivers "module1 module2"  ...
++
+ EOF
+ }
+ 
+@@ -151,9 +179,10 @@ EOF
+ # example:
+ # push stack 1 2 "3 4"
+ push() {
++    local _i
+     local __stack=$1; shift
+-    for i in "$@"; do
+-        eval ${__stack}'[${#'${__stack}'[@]}]="$i"'
++    for _i in "$@"; do
++        eval ${__stack}'[${#'${__stack}'[@]}]="$_i"'
+     done
+ }
+ 
+@@ -169,16 +198,16 @@ push() {
+ pop() {
+     local __stack=$1; shift
+     local __resultvar=$1
+-    local myresult;
++    local _value;
+     # check for empty stack
+     eval '[[ ${#'${__stack}'[@]} -eq 0 ]] && return 1'
+ 
+-    eval myresult='${'${__stack}'[${#'${__stack}'[@]}-1]}'
++    eval _value='${'${__stack}'[${#'${__stack}'[@]}-1]}'
+ 
+     if [[ "$__resultvar" ]]; then
+-        eval $__resultvar="'$myresult'"
++        eval $__resultvar="'$_value'"
+     else
+-        echo "$myresult"
++        echo "$_value"
+     fi
+     eval unset ${__stack}'[${#'${__stack}'[@]}-1]'
+     return 0
+@@ -202,52 +231,105 @@ read_arg() {
+     fi
+ }
+ 
+-# Little helper function for reading args from the commandline to a stack.
+-# it automatically handles -a b and -a=b variants, and returns 1 if
+-# we need to shift $3.
+-push_arg() {
+-    # $1 = arg name
+-    # $2 = arg value
+-    # $3 = arg parameter
+-    local rematch='^[^=]*=(.*)$'
+-    if [[ $2 =~ $rematch ]]; then
+-        push "$1" "${BASH_REMATCH[1]}"
+-    else
+-        push "$1" "$3"
+-        # There is no way to shift our callers args, so
+-        # return 1 to indicate they should do it instead.
+-        return 1
+-    fi
+-}
+-
+ verbosity_mod_l=0
+ unset kernel
+ unset outfile
+ 
+-while (($# > 0)); do
+-    case ${1%%=*} in
+-        -a|--add)      push_arg add_dracutmodules_l  "$@" || shift;;
+-        --force-add)   push_arg force_add_dracutmodules_l  "$@" || shift;;
+-        --add-drivers) push_arg add_drivers_l        "$@" || shift;;
+-        --omit-drivers) push_arg omit_drivers_l      "$@" || shift;;
+-        -m|--modules)  push_arg dracutmodules_l      "$@" || shift;;
+-        -o|--omit)     push_arg omit_dracutmodules_l "$@" || shift;;
+-        -d|--drivers)  push_arg drivers_l            "$@" || shift;;
+-        --filesystems) push_arg filesystems_l        "$@" || shift;;
+-        -I|--install)  push_arg install_items_l      "$@" || shift;;
+-        --fwdir)       push_arg fw_dir_l             "$@" || shift;;
+-        --libdirs)     push_arg libdirs_l            "$@" || shift;;
+-        --fscks)       push_arg fscks_l              "$@" || shift;;
+-        --add-fstab)   push_arg add_fstab_l          "$@" || shift;;
+-        --mount)       push_arg fstab_lines          "$@" || shift;;
++# Workaround -i, --include taking 2 arguments
++set -- "${@/--include/++include}"
++
++# This prevents any long argument ending with "-i"
++# -i, like --opt-i but I think we can just prevent that
++set -- "${@/%-i/++include}"
++
++TEMP=$(unset POSIXLY_CORRECT; getopt \
++    -o "a:m:o:d:I:k:c:L:fvqlHhM" \
++    --long add: \
++    --long force-add: \
++    --long add-drivers: \
++    --long omit-drivers: \
++    --long modules: \
++    --long omit: \
++    --long drivers: \
++    --long filesystems: \
++    --long install: \
++    --long fwdir: \
++    --long libdirs: \
++    --long fscks: \
++    --long add-fstab: \
++    --long mount: \
++    --long nofscks: \
++    --long kmoddir: \
++    --long conf: \
++    --long confdir: \
++    --long tmpdir: \
++    --long stdlog: \
++    --long compress: \
++    --long prefix: \
++    --long force \
++    --long kernel-only \
++    --long no-kernel \
++    --long strip \
++    --long nostrip \
++    --long hardlink \
++    --long nohardlink \
++    --long noprefix \
++    --long mdadmconf \
++    --long nomdadmconf \
++    --long lvmconf \
++    --long nolvmconf \
++    --long debug \
++    --long profile \
++    --long sshkey: \
++    --long verbose \
++    --long quiet \
++    --long local \
++    --long hostonly \
++    --long no-hostonly \
++    --long fstab \
++    --long help \
++    --long bzip2 \
++    --long lzma \
++    --long xz \
++    --long no-compress \
++    --long gzip \
++    --long list-modules \
++    --long show-modules \
++    --long keep \
++    --long printsize \
++    -- "$@")
++
++if (( $? != 0 )); then
++    usage
++    exit 1
++fi
++
++eval set -- "$TEMP"
++
++while :; do
++    case $1 in
++        -a|--add)      push add_dracutmodules_l  "$2"; shift;;
++        --force-add)   push force_add_dracutmodules_l  "$2"; shift;;
++        --add-drivers) push add_drivers_l        "$2"; shift;;
++        --omit-drivers) push omit_drivers_l      "$2"; shift;;
++        -m|--modules)  push dracutmodules_l      "$2"; shift;;
++        -o|--omit)     push omit_dracutmodules_l "$2"; shift;;
++        -d|--drivers)  push drivers_l            "$2"; shift;;
++        --filesystems) push filesystems_l        "$2"; shift;;
++        -I|--install)  push install_items_l      "$2"; shift;;
++        --fwdir)       push fw_dir_l             "$2"; shift;;
++        --libdirs)     push libdirs_l            "$2"; shift;;
++        --fscks)       push fscks_l              "$2"; shift;;
++        --add-fstab)   push add_fstab_l          "$2"; shift;;
++        --mount)       push fstab_lines          "$2"; shift;;
+         --nofscks)     nofscks_l="yes";;
+-        -k|--kmoddir)  read_arg drivers_dir_l        "$@" || shift;;
+-        -c|--conf)     read_arg conffile             "$@" || shift;;
+-        --confdir)     read_arg confdir              "$@" || shift;;
+-        --tmpdir)      read_arg tmpdir_l             "$@" || shift;;
+-        -L|--stdlog)   read_arg stdloglvl_l          "$@" || shift;;
+-        --compress)    read_arg compress_l           "$@" || shift;;
+-        --prefix)      read_arg prefix_l             "$@" || shift;;
++        -k|--kmoddir)  drivers_dir_l="$2"; shift;;
++        -c|--conf)     conffile="$2"; shift;;
++        --confdir)     confdir="$2"; shift;;
++        --tmpdir)      tmpdir_l="$2"; shift;;
++        -L|--stdlog)   stdloglvl_l="$2"; shift;;
++        --compress)    compress_l="$2"; shift;;
++        --prefix)      prefix_l="$2"; shift;;
+         -f|--force)    force=yes;;
+         --kernel-only) kernel_only="yes"; no_kernel="no";;
+         --no-kernel)   kernel_only="no"; no_kernel="yes";;
+@@ -262,7 +344,7 @@ while (($# > 0)); do
+         --nolvmconf)   lvmconf_l="no";;
+         --debug)       debug="yes";;
+         --profile)     profile="yes";;
+-        --sshkey)      read_arg sshkey   "$@" || shift;;
++        --sshkey)      sshkey="$2"; shift;;
+         -v|--verbose)  ((verbosity_mod_l++));;
+         -q|--quiet)    ((verbosity_mod_l--));;
+         -l|--local)
+@@ -273,48 +355,67 @@ while (($# > 0)); do
+         -H|--hostonly) hostonly_l="yes" ;;
+         --no-hostonly) hostonly_l="no" ;;
+         --fstab)       use_fstab_l="yes" ;;
+-        -h|--help)     usage; exit 1 ;;
++        -h|--help)     long_usage; exit 1 ;;
+         -i|--include)  push include_src "$2"
+-                       push include_target "$3"
+-                       shift 2;;
++                       shift;;
+         --bzip2)       compress_l="bzip2";;
+         --lzma)        compress_l="lzma";;
+         --xz)          compress_l="xz";;
+         --no-compress) _no_compress_l="cat";;
+         --gzip)        compress_l="gzip";;
+-        --list-modules)
+-            do_list="yes";
+-            ;;
++        --list-modules) do_list="yes";;
+         -M|--show-modules)
+                        show_modules_l="yes"
+                        ;;
+         --keep)        keep="yes";;
+         --printsize)   printsize="yes";;
+-        -*) printf "\nUnknown option: %s\n\n" "$1" >&2; usage; exit 1;;
++
++        --) shift; break;;
++
++        *)  # should not even reach this point
++            printf "\n!Unknown option: '%s'\n\n" "$1" >&2; usage; exit 1;;
++    esac
++    shift
++done
++
++# getopt cannot handle multiple arguments, so just handle "-I,--include"
++# the old fashioned way
++
++while (($# > 0)); do
++    case ${1%%=*} in
++        ++include) push include_src "$2"
++                       push include_target "$3"
++                       shift 2;;
+         *)
+             if ! [[ ${outfile+x} ]]; then
+                 outfile=$1
+             elif ! [[ ${kernel+x} ]]; then
+                 kernel=$1
+             else
+-                echo "Unknown argument: $1"
++                printf "\nUnknown arguments: %s\n\n" "$*" >&2
+                 usage; exit 1;
+             fi
+             ;;
+     esac
+     shift
+ done
++
+ if ! [[ $kernel ]]; then
+     kernel=$(uname -r)
+ fi
+-[[ $outfile ]] || outfile="/boot/initramfs-$kernel.img"
++
++if ! [[ $outfile ]]; then
++    outfile="/boot/initramfs-$kernel.img"
++fi
+ 
+ for i in /usr/sbin /sbin /usr/bin /bin; do
+     rl=$i
+     if [ -L "$i" ]; then
+         rl=$(readlink -f $i)
+     fi
+-    NPATH+=":$rl"
++    if [[ "$NPATH" != "*:$rl*" ]] ; then
++        NPATH+=":$rl"
++    fi
+ done
+ export PATH="${NPATH#:}"
+ unset NPATH
+@@ -536,8 +637,12 @@ done
+ omit_drivers="${omit_drivers_corrected%|}"
+ unset omit_drivers_corrected
+ 
+-
+-ddebug "Executing $0 $dracut_args"
++# prepare args for logging
++for ((i=0; i < ${#dracut_args[@]}; i++)); do
++    strstr "${dracut_args[$i]}" " " && \
++        dracut_args[$i]="\"${dracut_args[$i]}\""
++done
++ddebug "Executing: $0 ${dracut_args[@]}"
+ 
+ [[ $do_list = yes ]] && {
+     for mod in $dracutbasedir/modules.d/*; do
+@@ -573,7 +678,7 @@ if [[ ! -d "$outdir" ]]; then
+     dfatal "Can't write $outfile: Directory $outdir does not exist."
+     exit 1
+ elif [[ ! -w "$outdir" ]]; then
+-    dfatal "No permission to write $outdir."
++    dfatal "No permission to write to $outdir."
+     exit 1
+ elif [[ -f "$outfile" && ! -w "$outfile" ]]; then
+     dfatal "No permission to write $outfile."
diff --git a/0027-usrmount-mount-usr.sh-check-the-right-path-with-ismo.patch b/0027-usrmount-mount-usr.sh-check-the-right-path-with-ismo.patch
new file mode 100644
index 0000000..ac49480
--- /dev/null
+++ b/0027-usrmount-mount-usr.sh-check-the-right-path-with-ismo.patch
@@ -0,0 +1,22 @@
+From f0e10d9351be491f5ff703b6ba4ed230a5673609 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 18:20:46 +0200
+Subject: [PATCH] usrmount/mount-usr.sh: check the right path with ismounted
+
+---
+ modules.d/98usrmount/mount-usr.sh |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
+index 3173241..c277d74 100755
+--- a/modules.d/98usrmount/mount-usr.sh
++++ b/modules.d/98usrmount/mount-usr.sh
+@@ -84,7 +84,7 @@ mount_usr()
+             info "Mounting /usr"
+             mount "$NEWROOT/usr" 2>&1 | vinfo
+         fi
+-        if ! ismounted /usr; then
++        if ! ismounted "$NEWROOT/usr"; then
+             warn "Mounting /usr to $NEWROOT/usr failed"
+             warn "*** Dropping you to a shell; the system will continue"
+             warn "*** when you leave the shell."
diff --git a/0028-TEST-03-USR-MOUNT-change-test-to-use-a-seperate-disk.patch b/0028-TEST-03-USR-MOUNT-change-test-to-use-a-seperate-disk.patch
new file mode 100644
index 0000000..d6a4c86
--- /dev/null
+++ b/0028-TEST-03-USR-MOUNT-change-test-to-use-a-seperate-disk.patch
@@ -0,0 +1,105 @@
+From a128f03b305aebdce6a99a6b027c17ed58a1648e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 18:21:54 +0200
+Subject: [PATCH] TEST-03-USR-MOUNT: change test to use a seperate disk
+
+---
+ test/TEST-03-USR-MOUNT/create-root.sh |   14 ++++++++++++--
+ test/TEST-03-USR-MOUNT/fstab          |    2 +-
+ test/TEST-03-USR-MOUNT/test-init.sh   |    2 +-
+ test/TEST-03-USR-MOUNT/test.sh        |    8 ++++++--
+ 4 files changed, 20 insertions(+), 6 deletions(-)
+
+diff --git a/test/TEST-03-USR-MOUNT/create-root.sh b/test/TEST-03-USR-MOUNT/create-root.sh
+index 6662bca..9a3e561 100755
+--- a/test/TEST-03-USR-MOUNT/create-root.sh
++++ b/test/TEST-03-USR-MOUNT/create-root.sh
+@@ -12,13 +12,23 @@ sfdisk -C 5120 -H 2 -S 32 -L /dev/sda <<EOF
+ ,
+ EOF
+ 
++sfdisk -C 5120 -H 2 -S 32 -L /dev/sdb <<EOF
++,16
++,
++EOF
++
++
+ mkfs.btrfs -L dracut /dev/sda2
++mkfs.btrfs -L dracutusr /dev/sdb2
+ btrfs device scan /dev/sda2
++btrfs device scan /dev/sdb2
+ mkdir -p /root
+ mount -t btrfs /dev/sda2 /root
+-btrfs subvolume create /root/usr
+ [ -d /root/usr ] || mkdir /root/usr
+-mount -t btrfs -o subvol=usr /dev/sda2 /root/usr
++mount -t btrfs /dev/sdb2 /root/usr
++btrfs subvolume create /root/usr/usr
++umount /root/usr
++mount -t btrfs -o subvol=usr /dev/sdb2 /root/usr
+ cp -a -t /root /source/*
+ mkdir -p /root/run
+ umount /root/usr
+diff --git a/test/TEST-03-USR-MOUNT/fstab b/test/TEST-03-USR-MOUNT/fstab
+index 0e0a0e0..0cc3370 100644
+--- a/test/TEST-03-USR-MOUNT/fstab
++++ b/test/TEST-03-USR-MOUNT/fstab
+@@ -1,2 +1,2 @@
+ /dev/sda2	/                       btrfs   defaults         0 0
+-/dev/sda2	/usr                    btrfs   subvol=usr,ro    0 0
++/dev/sdb2	/usr                    btrfs   subvol=usr,ro    0 0
+diff --git a/test/TEST-03-USR-MOUNT/test-init.sh b/test/TEST-03-USR-MOUNT/test-init.sh
+index 494313b..63520ab 100755
+--- a/test/TEST-03-USR-MOUNT/test-init.sh
++++ b/test/TEST-03-USR-MOUNT/test-init.sh
+@@ -14,7 +14,7 @@ ismounted() {
+ }
+ 
+ if ismounted /usr; then
+-    echo "dracut-root-block-success" >/dev/sdb
++    echo "dracut-root-block-success" >/dev/sdc
+ fi
+ export TERM=linux
+ export PS1='initramfs-test:\w\$ '
+diff --git a/test/TEST-03-USR-MOUNT/test.sh b/test/TEST-03-USR-MOUNT/test.sh
+index 34a120f..d966c3c 100755
+--- a/test/TEST-03-USR-MOUNT/test.sh
++++ b/test/TEST-03-USR-MOUNT/test.sh
+@@ -16,7 +16,8 @@ client_run() {
+     dd if=/dev/zero of=$TESTDIR/result bs=1M count=1
+     $testdir/run-qemu \
+ 	-hda $TESTDIR/root.btrfs \
+-	-hdb $TESTDIR/result \
++	-hdb $TESTDIR/usr.btrfs \
++	-hdc $TESTDIR/result \
+ 	-m 256M -nographic \
+ 	-net none -kernel /boot/vmlinuz-$KVERSION \
+ 	-watchdog ib700 -watchdog-action poweroff \
+@@ -37,7 +38,7 @@ client_run() {
+ }
+ 
+ test_run() {
+-    client_run "no option specified, should fail" && return 1
++    client_run "no option specified" || return 1
+     client_run "readonly root" "ro" || return 1
+     client_run "writeable root" "rw" || return 1
+     return 0
+@@ -45,8 +46,10 @@ test_run() {
+ 
+ test_setup() {
+     rm -f $TESTDIR/root.btrfs
++    rm -f $TESTDIR/usr.btrfs
+     # Create the blank file to use as a root filesystem
+     dd if=/dev/null of=$TESTDIR/root.btrfs bs=1M seek=160
++    dd if=/dev/null of=$TESTDIR/usr.btrfs bs=1M seek=160
+ 
+     kernel=$KVERSION
+     # Create what will eventually be our root filesystem onto an overlay
+@@ -100,6 +103,7 @@ test_setup() {
+ 
+     $testdir/run-qemu \
+ 	-hda $TESTDIR/root.btrfs \
++	-hdb $TESTDIR/usr.btrfs \
+ 	-m 256M -nographic -net none \
+ 	-kernel "/boot/vmlinuz-$kernel" \
+ 	-append "root=/dev/dracut/root rw rootfstype=btrfs quiet console=ttyS0,115200n81 selinux=0" \
diff --git a/0029-TEST-30-ISCSI-put-back-in-hard-off.sh-for-tests.patch b/0029-TEST-30-ISCSI-put-back-in-hard-off.sh-for-tests.patch
new file mode 100644
index 0000000..f708c77
--- /dev/null
+++ b/0029-TEST-30-ISCSI-put-back-in-hard-off.sh-for-tests.patch
@@ -0,0 +1,22 @@
+From 38bbec3731b8e7b6b130debb4eed43bbdab75dea Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 18:22:29 +0200
+Subject: [PATCH] TEST-30-ISCSI: put back in hard-off.sh for tests
+
+---
+ test/TEST-30-ISCSI/test.sh |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/TEST-30-ISCSI/test.sh b/test/TEST-30-ISCSI/test.sh
+index cf4b6ec..5ebd9ac 100755
+--- a/test/TEST-30-ISCSI/test.sh
++++ b/test/TEST-30-ISCSI/test.sh
+@@ -155,7 +155,7 @@ test_setup() {
+         initdir=$TESTDIR/overlay
+         . $basedir/dracut-functions.sh
+         dracut_install poweroff shutdown
+-#        inst_hook emergency 000 ./hard-off.sh
++        inst_hook emergency 000 ./hard-off.sh
+         inst_simple ./99-idesymlinks.rules /etc/udev/rules.d/99-idesymlinks.rules
+     )
+     sudo $basedir/dracut.sh -l -i $TESTDIR/overlay / \
diff --git a/0030-lsinitrd.sh-print-usage-for-h.patch b/0030-lsinitrd.sh-print-usage-for-h.patch
new file mode 100644
index 0000000..220e0a9
--- /dev/null
+++ b/0030-lsinitrd.sh-print-usage-for-h.patch
@@ -0,0 +1,35 @@
+From f7bccf3724834ca42b2521f0367291219314a09a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 18:23:27 +0200
+Subject: [PATCH] lsinitrd.sh: print usage for -?, -h
+
+---
+ lsinitrd.sh |   10 ++++++++--
+ 1 file changed, 8 insertions(+), 2 deletions(-)
+
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index e6767dc..f27f755 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -19,13 +19,19 @@
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #
+ 
+-[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [-s] [<initramfs file> [<filename>]]" ; exit 1 ; }
++usage()
++{
++    echo "Usage: $(basename $0) [-s] [<initramfs file> [<filename>]]"
++}
++
++[[ $# -le 2 ]] || { usage ; exit 1 ; }
+ 
+ sorted=0
+ while getopts "s" opt; do
+     case $opt in
+         s)  sorted=1;;
+-        \?) exit 1;;
++        h)  usage; exit 0;;
++        \?) usage; exit 1;;
+     esac
+ done
+ shift $((OPTIND-1))
diff --git a/0031-lsinitrd.sh-get-rid-of-awk-call.patch b/0031-lsinitrd.sh-get-rid-of-awk-call.patch
new file mode 100644
index 0000000..08037e2
--- /dev/null
+++ b/0031-lsinitrd.sh-get-rid-of-awk-call.patch
@@ -0,0 +1,22 @@
+From d8caa679e06e779a04e2353cfeab80de47477d2a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 18:23:59 +0200
+Subject: [PATCH] lsinitrd.sh: get rid of awk call
+
+---
+ lsinitrd.sh |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index f27f755..fc4b8b0 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -63,7 +63,7 @@ if [[ $# -eq 2 ]]; then
+     exit $?
+ fi
+ 
+-echo "$image: $(du -h $image | awk '{print $1}')"
++echo "$image: $(du -h $image | while read a b; do echo $a;done)"
+ echo "========================================================================"
+ $CAT "$image" | cpio --extract --verbose --quiet --to-stdout 'lib/dracut/dracut-*' 2>/dev/null
+ echo "========================================================================"
diff --git a/0032-lsinitrd.sh-fixed-version-file-extraction.patch b/0032-lsinitrd.sh-fixed-version-file-extraction.patch
new file mode 100644
index 0000000..34d7fee
--- /dev/null
+++ b/0032-lsinitrd.sh-fixed-version-file-extraction.patch
@@ -0,0 +1,22 @@
+From a85ee030ab6b3b29833b10be6b83c89e8fc0c455 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Tue, 3 Jul 2012 18:24:21 +0200
+Subject: [PATCH] lsinitrd.sh: fixed version file extraction
+
+---
+ lsinitrd.sh |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index fc4b8b0..a844932 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -65,7 +65,7 @@ fi
+ 
+ echo "$image: $(du -h $image | while read a b; do echo $a;done)"
+ echo "========================================================================"
+-$CAT "$image" | cpio --extract --verbose --quiet --to-stdout 'lib/dracut/dracut-*' 2>/dev/null
++$CAT "$image" | cpio --extract --verbose --quiet --to-stdout '*lib/dracut/dracut-*' 2>/dev/null
+ echo "========================================================================"
+ if [ "$sorted" -eq 1 ]; then
+     $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5
diff --git a/0033-Makefile-mkinitrd-man-page-install-typo.patch b/0033-Makefile-mkinitrd-man-page-install-typo.patch
new file mode 100644
index 0000000..6d4f9ef
--- /dev/null
+++ b/0033-Makefile-mkinitrd-man-page-install-typo.patch
@@ -0,0 +1,22 @@
+From eaf4cb6bbb6367c967d1af3a00af5be3eba98a56 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 5 Jul 2012 06:57:11 +0200
+Subject: [PATCH] Makefile: mkinitrd man page install typo
+
+---
+ Makefile |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/Makefile b/Makefile
+index 78cf85d..07741d0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -74,7 +74,7 @@ install: doc dracut-version.sh
+ 	install -m 0755 dracut-initramfs-restore.sh $(DESTDIR)$(pkglibdir)/dracut-initramfs-restore
+ 	cp -arx modules.d $(DESTDIR)$(pkglibdir)
+ 	install -m 0644 lsinitrd.1 $(DESTDIR)$(mandir)/man1/lsinitrd.1
+-	install -m 0644 mkdinitrd.8 $(DESTDIR)$(mandir)/man8/mkinitrd.8
++	install -m 0644 mkinitrd.8 $(DESTDIR)$(mandir)/man8/mkinitrd.8
+ 	install -m 0644 dracut.8 $(DESTDIR)$(mandir)/man8/dracut.8
+ 	install -m 0644 dracut-catimages.8 \
+                         $(DESTDIR)$(mandir)/man8/dracut-catimages.8
diff --git a/0034-fips-change-module-list.patch b/0034-fips-change-module-list.patch
new file mode 100644
index 0000000..e4d787c
--- /dev/null
+++ b/0034-fips-change-module-list.patch
@@ -0,0 +1,22 @@
+From 0251fcd4003501f5a6a50fa31d640f4bf307c3de Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 5 Jul 2012 10:11:27 +0200
+Subject: [PATCH] fips: change module list
+
+---
+ modules.d/01fips/module-setup.sh |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
+index 3a35c9b..dbf51e3 100755
+--- a/modules.d/01fips/module-setup.sh
++++ b/modules.d/01fips/module-setup.sh
+@@ -13,7 +13,7 @@ depends() {
+ installkernel() {
+     local _fipsmodules _mod
+     _fipsmodules="aead aes_generic xts aes-x86_64 ansi_cprng cbc ccm chainiv ctr"
+-    _fipsmodules+=" des deflate ecb eseqiv hmac seqiv sha256 sha512"
++    _fipsmodules+=" des deflate ecb eseqiv hmac seqiv sha256_generic sha512"
+     _fipsmodules+=" cryptomgr crypto_null tcrypt dm-mod dm-crypt"
+ 
+     mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
diff --git a/0035-i18n-module-setup.sh-s-error-info-if-no-keymap-is-co.patch b/0035-i18n-module-setup.sh-s-error-info-if-no-keymap-is-co.patch
new file mode 100644
index 0000000..dd7f98e
--- /dev/null
+++ b/0035-i18n-module-setup.sh-s-error-info-if-no-keymap-is-co.patch
@@ -0,0 +1,42 @@
+From 394ffc1d979d47d6ec4c0419ea13e98e1b781bd5 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 5 Jul 2012 10:28:56 +0200
+Subject: [PATCH] i18n/module-setup.sh: s/error/info if no keymap is
+ configured
+
+https://bugzilla.redhat.com/show_bug.cgi?id=836418
+---
+ modules.d/10i18n/module-setup.sh |   11 +++++++----
+ 1 file changed, 7 insertions(+), 4 deletions(-)
+
+diff --git a/modules.d/10i18n/module-setup.sh b/modules.d/10i18n/module-setup.sh
+index a7ddc82..a1cf1c8 100755
+--- a/modules.d/10i18n/module-setup.sh
++++ b/modules.d/10i18n/module-setup.sh
+@@ -74,9 +74,11 @@ install() {
+             for map in ${item[1]//,/ }
+             do
+                 map=(${map//-/ })
+-                value=$(grep "^${map[0]}=" "${item[0]}")
+-                value=${value#*=}
+-                echo "${map[1]:-${map[0]}}=${value}"
++                if [[ -f "${item[0]}" ]]; then
++                    value=$(grep "^${map[0]}=" "${item[0]}")
++                    value=${value#*=}
++                    echo "${map[1]:-${map[0]}}=${value}"
++                fi
+             done
+         done
+     }
+@@ -155,9 +157,10 @@ install() {
+         EXT_KEYMAPS+=\ ${UNIKEYMAP}\ ${GRP_TOGGLE}
+ 
+         [[ ${KEYMAP} ]] || {
+-            derror 'No KEYMAP.'
++            dinfo 'No KEYMAP configured.'
+             return 1
+         }
++
+         findkeymap ${KEYMAP}
+ 
+         for map in ${EXT_KEYMAPS}
diff --git a/0036-fips-add-instmods-silent-check-mode-c-s.patch b/0036-fips-add-instmods-silent-check-mode-c-s.patch
new file mode 100644
index 0000000..3fd83d1
--- /dev/null
+++ b/0036-fips-add-instmods-silent-check-mode-c-s.patch
@@ -0,0 +1,85 @@
+From 338b43cd6a97cf767af2953ce5c69240d4c32290 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 5 Jul 2012 10:42:22 +0200
+Subject: [PATCH] fips: add instmods silent check mode "-c -s"
+
+---
+ dracut-functions.sh              |   18 ++++++++++++------
+ modules.d/01fips/module-setup.sh |    4 ++--
+ 2 files changed, 14 insertions(+), 8 deletions(-)
+
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 6de7c72..d91e2a4 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -1290,8 +1290,8 @@ find_kernel_modules () {
+     find_kernel_modules_by_path  drivers
+ }
+ 
+-# instmods [-c] <kernel module> [<kernel module> ... ]
+-# instmods [-c] <kernel subsystem>
++# instmods [-c [-s]] <kernel module> [<kernel module> ... ]
++# instmods [-c [-s]] <kernel subsystem>
+ # install kernel modules along with all their dependencies.
+ # <kernel subsystem> can be e.g. "=block" or "=drivers/usb/storage"
+ instmods() {
+@@ -1299,11 +1299,17 @@ instmods() {
+     # called [sub]functions inherit _fderr
+     local _fderr=9
+     local _check=no
++    local _silent=no
+     if [[ $1 = '-c' ]]; then
+         _check=yes
+         shift
+     fi
+ 
++    if [[ $1 = '-s' ]]; then
++        _silent=yes
++        shift
++    fi
++
+     function inst1mod() {
+         local _ret=0 _mod="$1"
+         case $_mod in
+@@ -1362,8 +1368,8 @@ instmods() {
+         if (($# == 0)); then  # filenames from stdin
+             while read _mod; do
+                 inst1mod "${_mod%.ko*}" || {
+-                    if [ "$_check" = "yes" ]; then
+-                        dfatal "Failed to install $_mod"
++                    if [[ "$_check" == "yes" ]]; then
++                        [[ "$_silent" == "no" ]] && dfatal "Failed to install $_mod"
+                         return 1
+                     fi
+                 }
+@@ -1371,8 +1377,8 @@ instmods() {
+         fi
+         while (($# > 0)); do  # filenames as arguments
+             inst1mod ${1%.ko*} || {
+-                if [ "$_check" = "yes" ]; then
+-                    dfatal "Failed to install $1"
++                if [[ "$_check" == "yes" ]]; then
++                    [[ "$_silent" == "no" ]] && dfatal "Failed to install $1"
+                     return 1
+                 fi
+             }
+diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
+index dbf51e3..2d238fb 100755
+--- a/modules.d/01fips/module-setup.sh
++++ b/modules.d/01fips/module-setup.sh
+@@ -13,13 +13,13 @@ depends() {
+ installkernel() {
+     local _fipsmodules _mod
+     _fipsmodules="aead aes_generic xts aes-x86_64 ansi_cprng cbc ccm chainiv ctr"
+-    _fipsmodules+=" des deflate ecb eseqiv hmac seqiv sha256_generic sha512"
++    _fipsmodules+=" des deflate ecb eseqiv hmac seqiv sha256 sha256_generic sha512 sha512_generic"
+     _fipsmodules+=" cryptomgr crypto_null tcrypt dm-mod dm-crypt"
+ 
+     mkdir -m 0755 -p "${initdir}/etc/modprobe.d"
+ 
+     for _mod in $_fipsmodules; do
+-        if hostonly='' instmods $_mod; then
++        if hostonly='' instmods -c -s $_mod; then
+             echo $_mod >> "${initdir}/etc/fipsmodules"
+             echo "blacklist $_mod" >> "${initdir}/etc/modprobe.d/fips.conf"
+         fi
diff --git a/0037-install-user-group-adm-for-journal.patch b/0037-install-user-group-adm-for-journal.patch
new file mode 100644
index 0000000..b4bb47b
--- /dev/null
+++ b/0037-install-user-group-adm-for-journal.patch
@@ -0,0 +1,25 @@
+From d04f16f60047b3d4c52fb4799aa34462f7fe62b7 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 5 Jul 2012 14:30:45 +0200
+Subject: [PATCH] install user/group adm for journal
+
+---
+ modules.d/98systemd/module-setup.sh |    5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index d712724..d20d18d 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -101,6 +101,11 @@ install() {
+         fi
+     fi
+ 
++    # install adm user/group for journald
++    dracut_install nologin
++    egrep '^adm:' "$initdir/etc/passwd" 2>/dev/null >> "$initdir/etc/passwd"
++    egrep '^adm:' /etc/group >> "$initdir/etc/group"
++
+     ln -fs $systemdutildir/systemd "$initdir/init"
+ 
+     rm -f "${initdir}${systemdsystemunitdir}/emergency.service"
diff --git a/0038-network-factor-out-parse_ifname_opts-for-ifname-genr.patch b/0038-network-factor-out-parse_ifname_opts-for-ifname-genr.patch
new file mode 100644
index 0000000..fd3b63b
--- /dev/null
+++ b/0038-network-factor-out-parse_ifname_opts-for-ifname-genr.patch
@@ -0,0 +1,75 @@
+From e7dc1e42cdf519c20c9f104153ef778462fcdbd9 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 5 Jul 2012 12:54:13 +0200
+Subject: [PATCH] network: factor out parse_ifname_opts() for ifname-genrules
+
+---
+ modules.d/40network/ifname-genrules.sh |    2 ++
+ modules.d/40network/net-lib.sh         |   16 ++++++++++++++++
+ modules.d/40network/parse-ifname.sh    |   16 +---------------
+ 3 files changed, 19 insertions(+), 15 deletions(-)
+
+diff --git a/modules.d/40network/ifname-genrules.sh b/modules.d/40network/ifname-genrules.sh
+index e188c88..b0b429c 100755
+--- a/modules.d/40network/ifname-genrules.sh
++++ b/modules.d/40network/ifname-genrules.sh
+@@ -7,6 +7,8 @@ if ! getarg ifname= >/dev/null ; then
+     return
+ fi
+ 
++command -v parse_ifname_opts >/dev/null || . /lib/net-lib.sh
++
+ {
+     for p in $(getargs ifname=); do
+         parse_ifname_opts $p
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index 9132e4d..9a1e004 100644
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -289,3 +289,19 @@ ip_to_var() {
+         esac
+     fi
+ }
++
++parse_ifname_opts() {
++    local IFS=:
++    set $1
++
++    case $# in
++        7)
++            ifname_if=$1
++            # udev requires MAC addresses to be lower case
++            ifname_mac=$(echo $2:$3:$4:$5:$6:$7 | sed 'y/ABCDEF/abcdef/')
++            ;;
++        *)
++            die "Invalid arguments for ifname="
++            ;;
++    esac
++}
+diff --git a/modules.d/40network/parse-ifname.sh b/modules.d/40network/parse-ifname.sh
+index ce73a72..d5156b3 100755
+--- a/modules.d/40network/parse-ifname.sh
++++ b/modules.d/40network/parse-ifname.sh
+@@ -18,21 +18,7 @@ if ! getarg ifname= >/dev/null ; then
+     return
+ fi
+ 
+-parse_ifname_opts() {
+-    local IFS=:
+-    set $1
+-
+-    case $# in
+-        7)
+-            ifname_if=$1
+-            # udev requires MAC addresses to be lower case
+-            ifname_mac=$(echo $2:$3:$4:$5:$6:$7 | sed 'y/ABCDEF/abcdef/')
+-            ;;
+-        *)
+-            die "Invalid arguments for ifname="
+-            ;;
+-    esac
+-}
++command -v parse_ifname_opts >/dev/null || . /lib/net-lib.sh
+ 
+ # Check ifname= lines
+ for p in $(getargs ifname=); do
diff --git a/0039-systemd-exit-with-sane-state.patch b/0039-systemd-exit-with-sane-state.patch
new file mode 100644
index 0000000..cb1efd8
--- /dev/null
+++ b/0039-systemd-exit-with-sane-state.patch
@@ -0,0 +1,123 @@
+From f1e9f613d9eea3105e906c114266d283ac898d44 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 12:28:17 +0200
+Subject: [PATCH] systemd: exit with sane state
+
+---
+ modules.d/98systemd/dracut-cmdline.sh     |    6 ++++--
+ modules.d/98systemd/dracut-initqueue.sh   |    6 ++++--
+ modules.d/98systemd/dracut-pre-pivot.sh   |    6 ++++--
+ modules.d/98systemd/dracut-pre-trigger.sh |    6 ++++--
+ modules.d/98systemd/dracut-pre-udev.sh    |    6 ++++--
+ 5 files changed, 20 insertions(+), 10 deletions(-)
+
+diff --git a/modules.d/98systemd/dracut-cmdline.sh b/modules.d/98systemd/dracut-cmdline.sh
+index e1a75ea..6a44815 100755
+--- a/modules.d/98systemd/dracut-cmdline.sh
++++ b/modules.d/98systemd/dracut-cmdline.sh
+@@ -8,9 +8,10 @@ NEWROOT="/sysroot"
+ [ -d /run/lock ] || mkdir -p -m 0755 /run/lock
+ 
+ if [ -f /dracut-state.sh ]; then
+-    . /dracut-state.sh || :
++    . /dracut-state.sh 2>/dev/null
+ fi
+-. /lib/dracut-lib.sh
++type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
++
+ source_conf /etc/conf.d
+ 
+ # run scriptlets to parse the command line
+@@ -23,3 +24,4 @@ source_hook cmdline
+ export root rflags fstype netroot NEWROOT
+ 
+ export -p > /dracut-state.sh
++exit 0
+diff --git a/modules.d/98systemd/dracut-initqueue.sh b/modules.d/98systemd/dracut-initqueue.sh
+index 03f1c9b..bc63582 100755
+--- a/modules.d/98systemd/dracut-initqueue.sh
++++ b/modules.d/98systemd/dracut-initqueue.sh
+@@ -3,9 +3,10 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ if [ -f /dracut-state.sh ]; then
+-    . /dracut-state.sh || :
++    . /dracut-state.sh 2>/dev/null
+ fi
+-. /lib/dracut-lib.sh
++type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
++
+ source_conf /etc/conf.d
+ 
+ getarg 'rd.break=initqueue' 'rdbreak=initqueue' && emergency_shell -n initqueue "Break before initqueue"
+@@ -106,3 +107,4 @@ done
+ export -p > /dracut-state.sh
+ 
+ systemctl isolate initrd-switch-root.target
++exit 0
+diff --git a/modules.d/98systemd/dracut-pre-pivot.sh b/modules.d/98systemd/dracut-pre-pivot.sh
+index 89d7e6d..29a8248 100755
+--- a/modules.d/98systemd/dracut-pre-pivot.sh
++++ b/modules.d/98systemd/dracut-pre-pivot.sh
+@@ -3,9 +3,10 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ if [ -f /dracut-state.sh ]; then
+-    . /dracut-state.sh || :
++    . /dracut-state.sh 2>/dev/null
+ fi
+-. /lib/dracut-lib.sh
++type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
++
+ source_conf /etc/conf.d
+ 
+ # pre pivot scripts are sourced just before we doing cleanup and switch over
+@@ -49,3 +50,4 @@ getarg rd.break rdbreak && emergency_shell -n switch_root "Break before switch_r
+ cp -avr /lib/systemd/system/dracut*.service /run/systemd/system/
+ 
+ export -p > /dracut-state.sh
++exit 0
+diff --git a/modules.d/98systemd/dracut-pre-trigger.sh b/modules.d/98systemd/dracut-pre-trigger.sh
+index 9521eaa..52ecfaf 100755
+--- a/modules.d/98systemd/dracut-pre-trigger.sh
++++ b/modules.d/98systemd/dracut-pre-trigger.sh
+@@ -3,9 +3,10 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ if [ -f /dracut-state.sh ]; then
+-    . /dracut-state.sh || :
++    . /dracut-state.sh 2>/dev/null
+ fi
+-. /lib/dracut-lib.sh
++type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
++
+ source_conf /etc/conf.d
+ 
+ getargbool 0 rd.udev.info -y rdudevinfo && udevadm control --log-priority=info
+@@ -17,3 +18,4 @@ source_hook pre-trigger
+ udevadm control --reload >/dev/null 2>&1 || :
+ 
+ export -p > /dracut-state.sh
++exit 0
+diff --git a/modules.d/98systemd/dracut-pre-udev.sh b/modules.d/98systemd/dracut-pre-udev.sh
+index 3b5ac37..2566ab9 100755
+--- a/modules.d/98systemd/dracut-pre-udev.sh
++++ b/modules.d/98systemd/dracut-pre-udev.sh
+@@ -3,9 +3,10 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ if [ -f /dracut-state.sh ]; then
+-    . /dracut-state.sh || :
++    . /dracut-state.sh 2>/dev/null
+ fi
+-. /lib/dracut-lib.sh
++type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
++
+ source_conf /etc/conf.d
+ 
+ # pre pivot scripts are sourced just before we doing cleanup and switch over
+@@ -14,3 +15,4 @@ getarg 'rd.break=pre-udev' 'rdbreak=pre-udev' && emergency_shell -n pre-udev "Br
+ source_hook pre-udev
+ 
+ export -p > /dracut-state.sh
++exit 0
diff --git a/0040-dracut.asc-add-lsinitrd-and-mkinitrd.patch b/0040-dracut.asc-add-lsinitrd-and-mkinitrd.patch
new file mode 100644
index 0000000..65ec320
--- /dev/null
+++ b/0040-dracut.asc-add-lsinitrd-and-mkinitrd.patch
@@ -0,0 +1,26 @@
+From e5efb6a798788195e2c1154deb582abf2dc0c6f5 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 12:29:44 +0200
+Subject: [PATCH] dracut.asc: add lsinitrd and mkinitrd
+
+---
+ dracut.asc |    6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/dracut.asc b/dracut.asc
+index 6d93379..e1f756c 100644
+--- a/dracut.asc
++++ b/dracut.asc
+@@ -1022,6 +1022,12 @@ include::dracut.conf.5.asc[]
+ [[dracutcmdline7]]
+ include::dracut.cmdline.7.asc[]
+ 
++[[lsinitrd1]]
++include::lsinitrd.1.asc[]
++
++[[mkinitrd8]]
++include::mkinitrd.8.asc[]
++
+ :leveloffset: 0
+ [appendix]
+ License
diff --git a/0041-dracut.8.asc-fixup-NOTE-sections.patch b/0041-dracut.8.asc-fixup-NOTE-sections.patch
new file mode 100644
index 0000000..a8d5a7d
--- /dev/null
+++ b/0041-dracut.8.asc-fixup-NOTE-sections.patch
@@ -0,0 +1,39 @@
+From 18595cede8d84212bc8f9055f5710f97998ed165 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 12:30:03 +0200
+Subject: [PATCH] dracut.8.asc: fixup NOTE sections
+
+---
+ dracut.8.asc |    5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/dracut.8.asc b/dracut.8.asc
+index 3c0efb9..619fcaf 100644
+--- a/dracut.8.asc
++++ b/dracut.8.asc
+@@ -46,7 +46,7 @@ example:
+ **-o, --omit** _<list of dracut modules>_::
+     omit a space-separated list of dracut modules. This parameter can be
+     specified multiple times.
+-
+++
+ [NOTE]
+ ===============================
+ If [LIST] has multiple arguments, then you have to put these in quotes. For
+@@ -130,7 +130,7 @@ example:
+     specify a space-separated list of kernel filesystem modules to exclusively
+     include in the generic initramfs. This parameter can be specified multiple
+     times.
+-
+++
+ [NOTE]
+ ===============================
+ If [LIST] has multiple arguments, then you have to put these in quotes. For
+@@ -273,7 +273,6 @@ provide a valid _/etc/fstab_.
+ ===============================
+ If [LIST] has multiple arguments, then you have to put these in quotes. For
+ example:
+-+
+ ----
+ # dracut --install "/bin/foo /sbin/bar"  ...
+ ----
diff --git a/0042-dracut.cmdline.7.asc-fixup.patch b/0042-dracut.cmdline.7.asc-fixup.patch
new file mode 100644
index 0000000..a4205a1
--- /dev/null
+++ b/0042-dracut.cmdline.7.asc-fixup.patch
@@ -0,0 +1,23 @@
+From 5d0404e3b373f29b80f4383fdd87a8525537d6e1 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 12:30:50 +0200
+Subject: [PATCH] dracut.cmdline.7.asc: fixup
+
+---
+ dracut.cmdline.7.asc |    3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 997c513..5f0396c 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -65,7 +65,8 @@ rootfstype=ext3
+     do not honor special mount options for the root filesystem found in
+     _/etc/fstab_ of the real root.
+ 
+-**resume=**_<path to resume partition>_
++**resume=**_<path to resume partition>_::
++    resume from a swap partition
+ +
+ E.g.:
+ +
diff --git a/0043-network-do-not-rename-other-interfaces-and-document-.patch b/0043-network-do-not-rename-other-interfaces-and-document-.patch
new file mode 100644
index 0000000..0ab40b6
--- /dev/null
+++ b/0043-network-do-not-rename-other-interfaces-and-document-.patch
@@ -0,0 +1,152 @@
+From 1760dfc051dfd84e932dbd63ba2b3c7e8b6ecf50 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 12:31:31 +0200
+Subject: [PATCH] network: do not rename other interfaces and document the
+ ifname usage
+
+We do not support renaming in the kernel namespace anymore (as udev does
+that not anymore). So, if a user wants to use ifname, he has to rename
+to a custom namespace. "eth[0-9]+" is not allowed anymore.
+---
+ dracut.cmdline.7.asc                   |   49 +++++++++++++++++++++++++-------
+ modules.d/40network/ifname-genrules.sh |    7 +----
+ modules.d/40network/net-genrules.sh    |    4 +--
+ modules.d/40network/net-lib.sh         |   10 +++++++
+ modules.d/95fcoe/fcoe-genrules.sh      |    2 +-
+ 5 files changed, 53 insertions(+), 19 deletions(-)
+
+diff --git a/dracut.cmdline.7.asc b/dracut.cmdline.7.asc
+index 5f0396c..755d641 100644
+--- a/dracut.cmdline.7.asc
++++ b/dracut.cmdline.7.asc
+@@ -295,24 +295,51 @@ Network
+ **ip=**_<interface>_:_{dhcp|on|any|dhcp6|auto6}_[:[_<mtu>_][:_<macaddr>_]]::
+     This parameter can be specified multiple times.
+ +
++=====================
+ dhcp|on|any|dhcp6::: get ip from dhcp server on a specific interface
+ auto6::: do IPv6 autoconfiguration
+-<macaddr>::: optionally set <macaddr> on the <interface>
++<macaddr>::: optionally **set** <macaddr> on the <interface>. This
++cannot be used in conjunction with the **ifname** argument for the
++same <interface>.
++=====================
++
++[IMPORTANT]
++=====================
++It is recommended to either bind <interface> to a MAC with the **ifname**
++argument. Or use biosdevname to name your interfaces, which will then have names according to their hardware location.
++
++em<port>::: for embedded NICs
++p<slot>#<port>_<virtual instance>::: for cards in PCI slots
++=====================
+ 
+ **ip=**_<client-IP>_:_<server-IP>_:_<gateway-IP>_:_<netmask>_:_<client_hostname>_:_<interface>_:_{none|off|dhcp|on|any|dhcp6|auto6|ibft}_[:[_<mtu>_][:_<macaddr>_]]::
+     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.
+ +
+-<macaddr>::: optionally set <macaddr> on the <interface>
++=====================
++<macaddr>::: optionally **set** <macaddr> on the <interface>. This
++cannot be used in conjunction with the **ifname** argument for the
++same <interface>.
++=====================
++
++[IMPORTANT]
++=====================
++It is recommended to either bind <interface> to a MAC with the **ifname**
++argument. Or use biosdevname to name your interfaces, which will then have names according to their hardware location.
++
++em<port>::: for embedded NICs
++p<slot>#<port>_<virtual instance>::: for cards in PCI slots
++=====================
+ 
+ **ifname=**_<interface>_:_<MAC>_::
+-    Assign network device name <interface> (ie eth0) to the NIC with MAC <MAC>.
+-    Note: If you use this option you _must_ specify an ifname= argument for all
+-    interfaces used in ip= or fcoe= arguments. However, if the interface in
+-    ip= or fcoe= is a bridge, bonding or vlan interface, you should specify
+-    an ifname= for _each_ of its underlying interfaces. This parameter can be
+-    specified multiple times.
++    Assign network device name <interface> (ie "bootnet") to the NIC with MAC <MAC>.
+++
++[IMPORTANT]
++
++Do **not** use the default kernel naming scheme for the interface name,
++as it can conflict with the kernel names. So, don't use "eth[0-9]+" for the
++interface name. Better name it "bootnet" or "bluesocket".
+ 
+ **bootdev=**_<interface>_::
+     specify network interface to use routing and netroot information from.
+@@ -430,8 +457,10 @@ FCoE
+ **fcoe=**_<edd|interface|MAC>_:_{dcb|nodcb}_::
+     Try to connect to a FCoE SAN through the NIC specified by _<interface>_ or
+     _<MAC>_ or EDD settings. For the second argument, currently only nodcb is
+-    supported. This parameter can be specified multiple times. Note: letters in
+-    the MAC-address must be lowercase!
++    supported. This parameter can be specified multiple times.
+++
++[NOTE]
++letters in the MAC-address must be lowercase!
+ 
+ NBD
+ ~~~
+diff --git a/modules.d/40network/ifname-genrules.sh b/modules.d/40network/ifname-genrules.sh
+index b0b429c..d5f8b0f 100755
+--- a/modules.d/40network/ifname-genrules.sh
++++ b/modules.d/40network/ifname-genrules.sh
+@@ -15,9 +15,4 @@ command -v parse_ifname_opts >/dev/null || . /lib/net-lib.sh
+         printf 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="%s", ATTR{type}=="1", NAME="%s"\n' "$ifname_mac" "$ifname_if"
+     done
+ 
+-    # Rename non named interfaces out of the way for named ones.
+-    for p in $(getargs ifname=); do
+-        parse_ifname_opts $p
+-        printf 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="?*", ATTR{type}=="1", NAME!="?*", KERNEL=="%s", NAME="%%k-renamed"\n' "$ifname_if"
+-    done
+-} > /etc/udev/rules.d/50-ifname.rules
++} >> /etc/udev/rules.d/80-ifname.rules
+diff --git a/modules.d/40network/net-genrules.sh b/modules.d/40network/net-genrules.sh
+index 3bb5d80..8aeee2d 100755
+--- a/modules.d/40network/net-genrules.sh
++++ b/modules.d/40network/net-genrules.sh
+@@ -54,7 +54,7 @@ fix_bootif() {
+ 
+     # Default: We don't know the interface to use, handle all
+     else
+-        printf 'SUBSYSTEM=="net", RUN+="%s"\n' "/sbin/initqueue --onetime $ifup" > /etc/udev/rules.d/61-default-net.rules
++        printf 'SUBSYSTEM=="net", RUN+="%s"\n' "/sbin/initqueue --onetime $ifup" > /etc/udev/rules.d/91-default-net.rules
+     fi
+ 
+-} > /etc/udev/rules.d/60-net.rules
++} > /etc/udev/rules.d/90-net.rules
+diff --git a/modules.d/40network/net-lib.sh b/modules.d/40network/net-lib.sh
+index 9a1e004..641b21e 100644
+--- a/modules.d/40network/net-lib.sh
++++ b/modules.d/40network/net-lib.sh
+@@ -304,4 +304,14 @@ parse_ifname_opts() {
+             die "Invalid arguments for ifname="
+             ;;
+     esac
++
++    case $ifname_if in
++        eth[0-9]|eth[0-9][0-9]|eth[0-9][0-9][0-9]|eth[0-9][0-9][0-9][0-9])
++            warn "ifname=$ifname_if uses the kernel name space for interfaces"
++            warn "This can fail for multiple network interfaces and is discouraged!"
++            warn "Please use a custom name like \"netboot\" or \"bluesocket\""
++            warn "or use biosdevname and no ifname= at all."
++            ;;
++    esac
++
+ }
+diff --git a/modules.d/95fcoe/fcoe-genrules.sh b/modules.d/95fcoe/fcoe-genrules.sh
+index d87f72c..80894ed 100755
+--- a/modules.d/95fcoe/fcoe-genrules.sh
++++ b/modules.d/95fcoe/fcoe-genrules.sh
+@@ -13,4 +13,4 @@
+     else
+         printf 'ACTION=="add", SUBSYSTEM=="net", NAME=="%s", RUN+="/sbin/initqueue --onetime --unique --name fcoe-up-$env{INTERFACE} /sbin/fcoe-up $env{INTERFACE} %s"\n' "$fcoe_interface" "$fcoe_dcb"
+     fi
+-} > /etc/udev/rules.d/60-fcoe.rules
++} > /etc/udev/rules.d/92-fcoe.rules
diff --git a/0044-mkinitrd.8.asc-mark-paragraph-as-important.patch b/0044-mkinitrd.8.asc-mark-paragraph-as-important.patch
new file mode 100644
index 0000000..140f4c6
--- /dev/null
+++ b/0044-mkinitrd.8.asc-mark-paragraph-as-important.patch
@@ -0,0 +1,21 @@
+From 528864e4604599e446950817ce7eaeaafa844930 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 12:42:06 +0200
+Subject: [PATCH] mkinitrd.8.asc: mark paragraph as important
+
+---
+ mkinitrd.8.asc |    1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mkinitrd.8.asc b/mkinitrd.8.asc
+index 2792915..25661c8 100644
+--- a/mkinitrd.8.asc
++++ b/mkinitrd.8.asc
+@@ -17,6 +17,7 @@ DESCRIPTION
+ mkinitrd creates an initramfs image <initrd-image> for the kernel with
+ version <kernel-version> by calling "dracut".
+ 
++[IMPORTANT]
+ If a more fine grained control over the resulting image is needed,
+ "dracut" should be called directly.
+ 
diff --git a/0045-network-ifname-genrules.sh-check-for-multiple-ifname.patch b/0045-network-ifname-genrules.sh-check-for-multiple-ifname.patch
new file mode 100644
index 0000000..b65dcfb
--- /dev/null
+++ b/0045-network-ifname-genrules.sh-check-for-multiple-ifname.patch
@@ -0,0 +1,38 @@
+From f1e7add2bf74b836bc29d20df2e4e53638e49936 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 12:57:17 +0200
+Subject: [PATCH] network/ifname-genrules.sh: check for multiple ifname= lines
+
+---
+ modules.d/40network/ifname-genrules.sh |   18 +++++++++++++++++-
+ 1 file changed, 17 insertions(+), 1 deletion(-)
+
+diff --git a/modules.d/40network/ifname-genrules.sh b/modules.d/40network/ifname-genrules.sh
+index d5f8b0f..3cf4be7 100755
+--- a/modules.d/40network/ifname-genrules.sh
++++ b/modules.d/40network/ifname-genrules.sh
+@@ -12,7 +12,23 @@ command -v parse_ifname_opts >/dev/null || . /lib/net-lib.sh
+ {
+     for p in $(getargs ifname=); do
+         parse_ifname_opts $p
++
++        if [ -f /tmp/ifname-$ifname_mac ]; then
++            read oldif < /tmp/ifname-$ifname_mac
++        fi
++        if [ -f /tmp/ifname-$ifname_if ]; then
++            read oldmac < /tmp/ifname-$ifname_if
++        fi
++        if [ -n "$oldif" -a -n "$oldmac" -a "$oldif" = "$ifname_if" -a "$oldmac" = "$ifname_mac" ]; then
++            # skip same ifname= declaration
++            continue
++        fi
++
++        [ -n "$oldif" ] && warn "Multiple interface names specified for MAC $ifname_mac: $oldif"
++        [ -n "$oldmac" ] && warn "Multiple MAC specified for $ifname_if: $oldmac"
++
+         printf 'SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="%s", ATTR{type}=="1", NAME="%s"\n' "$ifname_mac" "$ifname_if"
++        echo $ifname_if > /tmp/ifname-$ifname_mac
++        echo $ifname_mac > /tmp/ifname-$ifname_if
+     done
+-
+ } >> /etc/udev/rules.d/80-ifname.rules
diff --git a/0046-dracut.sh-keep-vim-syntax-highlighting-happy.patch b/0046-dracut.sh-keep-vim-syntax-highlighting-happy.patch
new file mode 100644
index 0000000..6330a21
--- /dev/null
+++ b/0046-dracut.sh-keep-vim-syntax-highlighting-happy.patch
@@ -0,0 +1,21 @@
+From a421016671d59d99d182194223e83a6a616dedf2 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 13:48:05 +0200
+Subject: [PATCH] dracut.sh: keep vim syntax highlighting happy
+
+---
+ dracut.sh |    1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/dracut.sh b/dracut.sh
+index c1be619..db2e33b 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -641,6 +641,7 @@ unset omit_drivers_corrected
+ for ((i=0; i < ${#dracut_args[@]}; i++)); do
+     strstr "${dracut_args[$i]}" " " && \
+         dracut_args[$i]="\"${dracut_args[$i]}\""
++        #" keep vim happy
+ done
+ ddebug "Executing: $0 ${dracut_args[@]}"
+ 
diff --git a/0047-systemd-check-that-prefix-does-not-contain-run.patch b/0047-systemd-check-that-prefix-does-not-contain-run.patch
new file mode 100644
index 0000000..5c5d7a0
--- /dev/null
+++ b/0047-systemd-check-that-prefix-does-not-contain-run.patch
@@ -0,0 +1,55 @@
+From e09048aaf5cbc6c98fc03bdf89250e5c0e70f8c0 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 13:49:03 +0200
+Subject: [PATCH] systemd: check, that --prefix= does not contain /run
+
+systemd will mount /run before dracut has a chance to copy over the
+original content.
+---
+ dracut.sh                           |    3 ++-
+ modules.d/98systemd/module-setup.sh |   10 +++++++---
+ 2 files changed, 9 insertions(+), 4 deletions(-)
+
+diff --git a/dracut.sh b/dracut.sh
+index db2e33b..0b43f44 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -779,7 +779,8 @@ export initdir dracutbasedir dracutmodules drivers \
+     use_fstab fstab_lines libdirs fscks nofscks \
+     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
+     debug host_fs_types host_devs sshkey add_fstab \
+-    DRACUT_VERSION udevdir systemdutildir systemdsystemunitdir
++    DRACUT_VERSION udevdir systemdutildir systemdsystemunitdir \
++    prefix
+ 
+ # Create some directory structure first
+ [[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}"
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index d20d18d..b2111a9 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -4,10 +4,9 @@
+ 
+ check() {
+     [[ $mount_needs ]] && return 1
+-    if [[ -x /lib/systemd/systemd ]] || [[ -x /usr/lib/systemd/systemd ]]; then
+-        return 255
++    if [[ -x $systemdutildir/systemd ]]; then
++       return 255
+     fi
+-    [[ $systemdutildir ]] && return 255
+ 
+     return 1
+ }
+@@ -17,6 +16,11 @@ depends() {
+ }
+ 
+ install() {
++    if strstr "$prefix" "/run/"; then
++        dfatal "systemd does not work a prefix, which contains \"/run\"!!"
++        exit 1
++    fi
++
+     dracut_install -o \
+         $systemdutildir/systemd \
+         $systemdutildir/systemd-cgroups-agent \
diff --git a/0048-fixed-bash-sh-requirements.patch b/0048-fixed-bash-sh-requirements.patch
new file mode 100644
index 0000000..87156cb
--- /dev/null
+++ b/0048-fixed-bash-sh-requirements.patch
@@ -0,0 +1,81 @@
+From e1619ee151b20549dc5c6112a5715df58db7b108 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 14:06:05 +0200
+Subject: [PATCH] fixed bash/sh requirements
+
+---
+ modules.d/90btrfs/btrfs_finished.sh     |    2 +-
+ modules.d/90btrfs/btrfs_timeout.sh      |    2 +-
+ modules.d/90livenet/fetch-liveupdate.sh |    2 +-
+ modules.d/90livenet/livenetroot.sh      |    2 +-
+ modules.d/90livenet/module-setup.sh     |    2 +-
+ modules.d/99img-lib/module-setup.sh     |    3 +--
+ 6 files changed, 6 insertions(+), 7 deletions(-)
+
+diff --git a/modules.d/90btrfs/btrfs_finished.sh b/modules.d/90btrfs/btrfs_finished.sh
+index 7e87dec..5e7691a 100755
+--- a/modules.d/90btrfs/btrfs_finished.sh
++++ b/modules.d/90btrfs/btrfs_finished.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+diff --git a/modules.d/90btrfs/btrfs_timeout.sh b/modules.d/90btrfs/btrfs_timeout.sh
+index 84f7997..cd64443 100755
+--- a/modules.d/90btrfs/btrfs_timeout.sh
++++ b/modules.d/90btrfs/btrfs_timeout.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+diff --git a/modules.d/90livenet/fetch-liveupdate.sh b/modules.d/90livenet/fetch-liveupdate.sh
+index 88aa2b1..024feaa 100755
+--- a/modules.d/90livenet/fetch-liveupdate.sh
++++ b/modules.d/90livenet/fetch-liveupdate.sh
+@@ -1,4 +1,4 @@
+-#!/bin/sh
++#!/bin/bash
+ # fetch-liveupdate - fetch an update image for dmsquash-live media.
+ # this gets called by the "initqueue/online" hook for each network interface
+ # that comes online.
+diff --git a/modules.d/90livenet/livenetroot.sh b/modules.d/90livenet/livenetroot.sh
+index 617be62..1bbee55 100755
+--- a/modules.d/90livenet/livenetroot.sh
++++ b/modules.d/90livenet/livenetroot.sh
+@@ -1,4 +1,4 @@
+-#!/bin/bash
++#!/bin/sh
+ # livenetroot - fetch a live image from the network and run it
+ 
+ type getarg >/dev/null 2>&1 || . /lib/dracut-lib.sh
+diff --git a/modules.d/90livenet/module-setup.sh b/modules.d/90livenet/module-setup.sh
+index 265f29e..4249655 100755
+--- a/modules.d/90livenet/module-setup.sh
++++ b/modules.d/90livenet/module-setup.sh
+@@ -6,7 +6,7 @@ check() {
+ }
+ 
+ depends() {
+-    echo network url-lib dmsquash-live
++    echo network url-lib dmsquash-live img-lib
+     return 0
+ }
+ 
+diff --git a/modules.d/99img-lib/module-setup.sh b/modules.d/99img-lib/module-setup.sh
+index 9ff5d7c..ebd0436 100755
+--- a/modules.d/99img-lib/module-setup.sh
++++ b/modules.d/99img-lib/module-setup.sh
+@@ -13,8 +13,7 @@ depends() {
+ }
+ 
+ install() {
+-    # NOTE/TODO: we require bash, but I don't know how to specify that..
+-    dracut_install tar gzip dd
++    dracut_install tar gzip dd bash
+     # TODO: make this conditional on a cmdline flag / config option
+     dracut_install -o cpio xz bzip2
+     inst_simple "$moddir/img-lib.sh" "/lib/img-lib.sh"
diff --git a/0049-dracut.spec-dracut.conf.d-fedora.conf.example-no-das.patch b/0049-dracut.spec-dracut.conf.d-fedora.conf.example-no-das.patch
new file mode 100644
index 0000000..6cde37e
--- /dev/null
+++ b/0049-dracut.spec-dracut.conf.d-fedora.conf.example-no-das.patch
@@ -0,0 +1,56 @@
+From d96c3254e8bbe56763617f45f1148d81b10f4745 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 14:22:10 +0200
+Subject: [PATCH] dracut.spec,dracut.conf.d/fedora.conf.example: no dash
+
+hard remove dash from supported modules
+
+we do not want to have anything to do with dash bugs
+---
+ dracut.conf.d/fedora.conf.example |    7 +++----
+ dracut.spec                       |    4 +++-
+ 2 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/dracut.conf.d/fedora.conf.example b/dracut.conf.d/fedora.conf.example
+index 25b5cfa..ee53844 100644
+--- a/dracut.conf.d/fedora.conf.example
++++ b/dracut.conf.d/fedora.conf.example
+@@ -2,13 +2,12 @@
+ 
+ # i18n
+ i18n_vars="/etc/sysconfig/keyboard:KEYTABLE-KEYMAP /etc/sysconfig/i18n:SYSFONT-FONT,FONTACM-FONT_MAP,FONT_UNIMAP"
+-omit_dracutmodules+=" dash "
+ omit_drivers+=" .*/fs/ocfs/.* "
+-add_dracutmodules+=" systemd "
+ stdloglvl=3
+-realinitpath="/usr/lib/systemd/systemd"
+ install_items+=" vi /etc/virc ps grep cat rm "
+-prefix="/"
++readonly prefix="/"
+ systemdutildir=/usr/lib/systemd
+ systemdsystemunitdir=/usr/lib/systemd/system
+ udevdir=/usr/lib/udev
++add_dracutmodules+=" systemd "
++realinitpath="/usr/lib/systemd/systemd"
+diff --git a/dracut.spec b/dracut.spec
+index b258121..a6fec89 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -190,6 +190,9 @@ rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips
+ rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni
+ %endif
+ 
++# we do not support dash in the initramfs
++rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00dash
++
+ # remove gentoo specific modules
+ rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
+ 
+@@ -261,7 +264,6 @@ rm -rf $RPM_BUILD_ROOT
+ %{_mandir}/man5/dracut.conf.5*
+ %{_mandir}/man1/lsinitrd.1*
+ %{dracutlibdir}/modules.d/00bootchart
+-%{dracutlibdir}/modules.d/00dash
+ %{dracutlibdir}/modules.d/04watchdog
+ %{dracutlibdir}/modules.d/05busybox
+ %{dracutlibdir}/modules.d/10i18n
diff --git a/0050-systemd-module-setup.sh-also-include-systemd-udevd-u.patch b/0050-systemd-module-setup.sh-also-include-systemd-udevd-u.patch
new file mode 100644
index 0000000..629ab0b
--- /dev/null
+++ b/0050-systemd-module-setup.sh-also-include-systemd-udevd-u.patch
@@ -0,0 +1,51 @@
+From 995487641743afebd84f1476c3d32120e7e357ae Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 6 Jul 2012 14:33:53 +0200
+Subject: [PATCH] systemd/module-setup.sh: also include systemd-udevd* units
+
+systemd-udev* was renamed to systemd-udevd*
+---
+ modules.d/98systemd/module-setup.sh |    9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/modules.d/98systemd/module-setup.sh b/modules.d/98systemd/module-setup.sh
+index b2111a9..60e1be2 100755
+--- a/modules.d/98systemd/module-setup.sh
++++ b/modules.d/98systemd/module-setup.sh
+@@ -55,7 +55,9 @@ install() {
+         $systemdsystemunitdir/systemd-shutdownd.socket \
+         $systemdsystemunitdir/systemd-ask-password-console.path \
+         $systemdsystemunitdir/systemd-udev-control.socket \
++        $systemdsystemunitdir/systemd-udevd-control.socket \
+         $systemdsystemunitdir/systemd-udev-kernel.socket \
++        $systemdsystemunitdir/systemd-udevd-kernel.socket \
+         $systemdsystemunitdir/systemd-ask-password-plymouth.path \
+         $systemdsystemunitdir/systemd-journald.socket \
+         $systemdsystemunitdir/systemd-initctl.service \
+@@ -67,8 +69,11 @@ install() {
+         $systemdsystemunitdir/kexec.service \
+         $systemdsystemunitdir/fsck at .service \
+         $systemdsystemunitdir/systemd-udev.service \
++        $systemdsystemunitdir/systemd-udevd.service \
+         $systemdsystemunitdir/systemd-udev-trigger.service \
++        $systemdsystemunitdir/systemd-udevd-trigger.service \
+         $systemdsystemunitdir/systemd-udev-settle.service \
++        $systemdsystemunitdir/systemd-udevd-settle.service \
+         $systemdsystemunitdir/systemd-ask-password-plymouth.service \
+         $systemdsystemunitdir/systemd-journald.service \
+         $systemdsystemunitdir/systemd-vconsole-setup.service \
+@@ -79,10 +84,14 @@ install() {
+         $systemdsystemunitdir/sockets.target.wants/systemd-initctl.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-shutdownd.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-udev-control.socket \
++        $systemdsystemunitdir/sockets.target.wants/systemd-udevd-control.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-udev-kernel.socket \
++        $systemdsystemunitdir/sockets.target.wants/systemd-udevd-kernel.socket \
+         $systemdsystemunitdir/sockets.target.wants/systemd-journald.socket \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udev.service \
++        $systemdsystemunitdir/sysinit.target.wants/systemd-udevd.service \
+         $systemdsystemunitdir/sysinit.target.wants/systemd-udev-trigger.service \
++        $systemdsystemunitdir/sysinit.target.wants/systemd-udevd-trigger.service \
+         $systemdsystemunitdir/ctrl-alt-del.target \
+         $systemdsystemunitdir/single.service \
+         $systemdsystemunitdir/syslog.socket \
diff --git a/dracut.spec b/dracut.spec
index 691ab09..08ee699 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 020
-Release: 22.git20120702%{?dist}
+Release: 51.git20120706%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel}
@@ -50,6 +50,35 @@ Patch18: 0018-dracut-functions.sh-create-initdir-if-it-does-not-ex.patch
 Patch19: 0019-dracut-install.c-for-lazy-install-shebangs-do-not-ch.patch
 Patch20: 0020-usrmount-mount-usr.sh-give-emergency_shell-if-usr-mo.patch
 Patch21: 0021-dracut-functions.sh-forgot-set-version-kernel-for-mo.patch
+Patch22: 0022-dracut-functions.sh-find_kernel_modules_by_path-fixe.patch
+Patch23: 0023-base-init.sh-error-out-early-if-dev-proc-or-sys-cann.patch
+Patch24: 0024-add-lsinitrd-and-mkinitrd-man-pages.patch
+Patch25: 0025-manpages-simplify-AUTHORS.patch
+Patch26: 0026-dracut.sh-use-getopt-to-parse-arguments.patch
+Patch27: 0027-usrmount-mount-usr.sh-check-the-right-path-with-ismo.patch
+Patch28: 0028-TEST-03-USR-MOUNT-change-test-to-use-a-seperate-disk.patch
+Patch29: 0029-TEST-30-ISCSI-put-back-in-hard-off.sh-for-tests.patch
+Patch30: 0030-lsinitrd.sh-print-usage-for-h.patch
+Patch31: 0031-lsinitrd.sh-get-rid-of-awk-call.patch
+Patch32: 0032-lsinitrd.sh-fixed-version-file-extraction.patch
+Patch33: 0033-Makefile-mkinitrd-man-page-install-typo.patch
+Patch34: 0034-fips-change-module-list.patch
+Patch35: 0035-i18n-module-setup.sh-s-error-info-if-no-keymap-is-co.patch
+Patch36: 0036-fips-add-instmods-silent-check-mode-c-s.patch
+Patch37: 0037-install-user-group-adm-for-journal.patch
+Patch38: 0038-network-factor-out-parse_ifname_opts-for-ifname-genr.patch
+Patch39: 0039-systemd-exit-with-sane-state.patch
+Patch40: 0040-dracut.asc-add-lsinitrd-and-mkinitrd.patch
+Patch41: 0041-dracut.8.asc-fixup-NOTE-sections.patch
+Patch42: 0042-dracut.cmdline.7.asc-fixup.patch
+Patch43: 0043-network-do-not-rename-other-interfaces-and-document-.patch
+Patch44: 0044-mkinitrd.8.asc-mark-paragraph-as-important.patch
+Patch45: 0045-network-ifname-genrules.sh-check-for-multiple-ifname.patch
+Patch46: 0046-dracut.sh-keep-vim-syntax-highlighting-happy.patch
+Patch47: 0047-systemd-check-that-prefix-does-not-contain-run.patch
+Patch48: 0048-fixed-bash-sh-requirements.patch
+Patch49: 0049-dracut.spec-dracut.conf.d-fedora.conf.example-no-das.patch
+Patch50: 0050-systemd-module-setup.sh-also-include-systemd-udevd-u.patch
 
 
 BuildRequires: dash bash git
@@ -212,6 +241,9 @@ rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips
 rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni
 %endif
 
+# we do not support dash in the initramfs
+rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/00dash
+
 # remove gentoo specific modules
 rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
 
@@ -277,11 +309,12 @@ rm -rf $RPM_BUILD_ROOT
 %endif
 %dir /etc/dracut.conf.d
 %{_mandir}/man8/dracut.8*
+%{_mandir}/man8/mkinitrd.8*
 %{_mandir}/man7/dracut.kernel.7*
 %{_mandir}/man7/dracut.cmdline.7*
 %{_mandir}/man5/dracut.conf.5*
+%{_mandir}/man1/lsinitrd.1*
 %{dracutlibdir}/modules.d/00bootchart
-%{dracutlibdir}/modules.d/00dash
 %{dracutlibdir}/modules.d/04watchdog
 %{dracutlibdir}/modules.d/05busybox
 %{dracutlibdir}/modules.d/10i18n
@@ -373,6 +406,11 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Fri Jul 06 2012 Harald Hoyer <harald at redhat.com> 020-51.git20120706
+- cope with systemd-udevd unit renaming
+- fixed network renaming
+- removed dash module
+
 * Mon Jul 02 2012 Harald Hoyer <harald at redhat.com> 020-22.git20120702
 - fixed kernel modules install
 


More information about the scm-commits mailing list