[dracut] update to latest git lots of patch changes

Harald Hoyer harald at fedoraproject.org
Thu Dec 15 14:46:27 UTC 2011


commit 6adbc8b2385f395f211937b707b0c0c321179e3f
Author: Harald Hoyer <harald at redhat.com>
Date:   Thu Dec 15 15:46:20 2011 +0100

    update to latest git
    lots of patch changes

 .gitignore                                         |    1 +
 0001-add-x-bit-to-.sh.patch                        |   28 --
 0001-dracut-export-host_fs_types-host_devs.patch   |  149 ++++++
 ...live-dmsquash-live-root-include-fs_lib.sh.patch |   24 -
 ...dule-setup.sh-use-host_fs_types-host_devs.patch |  480 ++++++++++++++++++++
 ...siroot-unset-used-variables-before-starti.patch |   29 ++
 0003-fix-live-crash-with-livenet-installed.patch   |   24 -
 ...ut-lib.sh-killproc-prefix-local-variables.patch |   36 ++
 ...parse-the-output-of-dracut-profile-for-pr.patch |   75 ---
 0005-add-TEST-16-DMSQUASH.patch                    |  391 ----------------
 ...acut.spec-remove-unnecessary-dependencies.patch |   63 +++
 0006-TEST-12-RAID-DEG-mkdir-run.patch              |   21 +
 ...tions-s-emergency-shutdown-shutdown-emerg.patch |   22 -
 ...ut-lib.sh-added-inst_mount_hook-add_mount.patch |  127 +++++
 0007-dracut-unset-LD_LIBRARY_PATH.patch            |   23 -
 0008-build-initramfs-prelink-undo-sbin.patch       |   25 -
 0008-dracut-add-add-fstab-and-mount-option.patch   |  106 +++++
 0009-dracut-functions-speed-up-inst_dir.patch      |   41 --
 ...-90crypt-ask_for_password-pings-plymouthd.patch |   24 -
 0011-99base-whitespace-fix.patch                   |   24 -
 ...tions-new-function-inst_any-d-dest-f1-f2-.patch |   49 --
 ...e-into-account-other-ca-bundle-paths-use-.patch |   25 -
 0014-luks-key-on-ext-dev-wait-for-luks.patch       |   95 ----
 ...ed-cmdline-arg-name-from-rd.luks.tout-to-.patch |   23 -
 0016-luks-key-on-ext-dev-wait-for-luks.patch       |   39 --
 ...ctions-fix-inst_dir-for-non-absolute-dirs.patch |   22 -
 ...-md-incremental-imsm.rules-incremental-ru.patch |   26 -
 ...cut.spec-fixed-rhel-fedora-version-checks.patch |  111 -----
 ...add-plymouth.enable-kernel-command-line-o.patch |   46 --
 ...-only-poll-cdroms-if-the-kernel-does-supp.patch |   63 ---
 ...ild-initramfs-unclear-_mpargs-in-instmods.patch |   43 --
 ...se-crypt.sh-also-accept-the-beginning-of-.patch |   25 -
 ...-save-and-restore-environment-given-from-.patch |   32 --
 ...-move-switch_root-breakpoint-to-a-later-p.patch |   30 --
 ...tions-hmac-checksum-files-can-be-symlinks.patch |   32 --
 0027-95udev-rules-add-input_id.patch               |   21 -
 ...nst_simple-inst_dir-make-fast-case-faster.patch |   50 --
 ...el_modules-is-a-specialized-filter_kernel.patch |   52 ---
 ...nstall_kmod_with_fw-make-fast-case-faster.patch |   30 --
 ...et-filenames-from-stdin-if-no-args-use-it.patch |  239 ----------
 0032-instmods-sanity-for-_mpargs.patch             |   38 --
 ...ctor-out-egrep-of-FATAL-Module-.-not-foun.patch |   67 ---
 ...-do-not-fail-when-importing-the-original-.patch |   23 -
 0035-dracut-cp-with-sparse.patch                   |   36 --
 ...ase-init-removed-cdrom-polling-reset-code.patch |   29 --
 ...ve-root-use-blkid-to-determine-fstype-of-.patch |   27 --
 ...ve-root-load-filesystem-modules-before-mo.patch |   31 --
 ...0dmsquash-live-do-not-symlink-to-dev-live.patch |   27 --
 ...9base-init-remove-dev-root-helper-symlink.patch |   24 -
 ...o-not-use-run-udev-rules.d-for-udev-rules.patch |   54 ---
 ...-mount-securityfs-with-source-securityfs-.patch |   23 -
 ...nt-securityfs-in-a-seperate-dracut-module.patch |   81 ----
 ...nt-securityfs-in-a-seperate-dracut-module.patch |   21 -
 0045-90mdraid-adjust-stock-mdadm-udev-rules.patch  |   37 --
 0046-90mdraid-containers-are-not-runnable.patch    |   91 ----
 0047-90mdraid-fix-adjust-mdraid-cleanup.patch      |   66 ---
 0048-90mdraid-fix-adjust-force-run-script.patch    |  136 ------
 0049-90-md-dm-raid-recognize-ddf-container.patch   |  140 ------
 ...ix-adjust-65-md-rules-and-related-scripts.patch |  200 --------
 ...-relaxed-check-on-ext3-filesystem-options.patch |   58 ---
 ...s-lib.sh-fsck-btrfs-via-mounting-like-xfs.patch |   61 ---
 ...tions-inst_rules-do-not-check-std-dirs-fo.patch |   37 --
 0054-str_replace-fix.patch                         |   33 --
 ...er-bail-out-early-if-we-don-t-have-to-log.patch |   37 --
 ...dracut-create-dev-besides-proc-sys-and-so.patch |   24 -
 ...fs-lib-export-FSTAB_FILE-before-fsck-call.patch |   26 -
 0058-dracut-functions-inst_rules-add-missing.patch |   22 -
 ...d-check-precisely-for-supported-contaiers.patch |   46 --
 ...draid-more-thorough-64-md-raid.rules-edit.patch |   25 -
 0061-90mdraid-adjust-dev-md-loops.patch            |   53 ---
 ...H-Parameter-expansion-occurs-before-comma.patch |   38 --
 ...H-es-parallelize-block_module-filter-and-.patch |  100 ----
 0064-order-mdadm-and-lvm-timeout-operations.patch  |   36 --
 ...raid-mdraid_start.sh-fix-path-to-md-sysfs.patch |   22 -
 ...draid-module-setup.sh-fixed-sed-arguments.patch |   22 -
 ...s-module-setup.sh-also-search-in-lib-udev.patch |   41 --
 0068-update-the-documentation-of-no-prefix.patch   |   48 --
 0069-dracut-check-mktemp-return-value.patch        |   29 --
 0070-convert_abs_rel-fixups.patch                  |   54 ---
 0071-dracut.8-add-missing-lvmconf-info.patch       |   44 --
 0072-fs-lib-add-ability-to-choose-fsck-tools.patch |  155 -------
 ...-add-info-about-fs-lib-fsck-configuration.patch |   82 ----
 ...unctions-conv-normalize-minor-corrections.patch |   63 ---
 0075-dracut.-.xml-s-exisiting-existing-g.patch     |   36 --
 ...s-module-setup.s-fixed-symlink-for-udevd-.patch |   25 -
 0077-dracut.conf.5.xml-tag-mismatch-fix.patch      |   30 --
 0078-bash3-compat-patch.patch                      |  169 -------
 0079-explicitly-verify-bash-version.patch          |   30 --
 0080-dracut-remove-duplicate-options.patch         |   26 -
 ...lib.sh-fix-dropped-backslashes-in-CMDLINE.patch |   31 --
 ...-live-fix-log-message-about-root-liveroot.patch |   22 -
 0083-check-root-candidates-more-carefully.patch    |   61 ---
 0084-netroot-do-not-die-if-arping-failed.patch     |   22 -
 ...s-module-setup.sh-correctly-create-udevd-.patch |   29 --
 ...p.sh-turn-off-debugging-for-module-search.patch |   60 ---
 ...base-init-fix-check-for-in-kernel-polling.patch |   22 -
 ...acut-lib.sh-add-etc-cmdline-.conf-parsing.patch |   59 ---
 0089-minor-changes.patch                           |   38 --
 0090-90livenet-check-for-wget.patch                |   21 -
 0091-dracut-logger-re-set-debugging.patch          |   75 ---
 ...nctions-inst_dir-handle-relative-symlinks.patch |   30 --
 ...et-module-setup.sh-silence-check-for-wget.patch |   22 -
 ...90dmsquash-live-do-not-install-by-default.patch |   22 -
 0095-90livenet-do-not-install-by-default.patch     |   22 -
 ...tions-do-not-install-files-from-current-d.patch |  129 ------
 ...tions-inst_script-call-inst_binary-with-f.patch |   32 --
 0098-dracut.spec-apply-patches-with-git.patch      |   88 ----
 ...-require-new-util-linux-version-with-new-.patch |   35 --
 dracut.spec                                        |  284 ++++--------
 sources                                            |    2 +-
 110 files changed, 1113 insertions(+), 5382 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index f0689d7..ae12248 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,3 +1,4 @@
 /dracut-011-9b30d47.tar.bz2
 /dracut-011.tar.bz2
 /dracut-013.tar.bz2
+/dracut-014.tar.bz2
diff --git a/0001-dracut-export-host_fs_types-host_devs.patch b/0001-dracut-export-host_fs_types-host_devs.patch
new file mode 100644
index 0000000..1c31676
--- /dev/null
+++ b/0001-dracut-export-host_fs_types-host_devs.patch
@@ -0,0 +1,149 @@
+From 7ae5d9d11d1a0ccd31dced528e2792f1c1d5aeca Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 8 Dec 2011 10:25:58 +0100
+Subject: [PATCH] dracut: export host_fs_types host_devs
+
+Determine devices and filesystems to be included in the host-only
+initramfs image.
+
+To get a minimal initramfs, which can mount
+ /
+ /etc
+ /usr
+ /usr/bin
+ /usr/sbin
+ /usr/lib
+ /usr/lib64
+ /boot
+we look in fstab for the corresponding devices and determine their and
+their slaves' filesystem type and put all that in $host_fs_types
+and $host_devs.
+---
+ dracut           |   42 +++++++++++++++++++++++++++++++++++++++++-
+ dracut-functions |   30 ++++++++++++++++++++++++++----
+ 2 files changed, 67 insertions(+), 5 deletions(-)
+
+diff --git a/dracut b/dracut
+index 45ee759..3d08680 100755
+--- a/dracut
++++ b/dracut
+@@ -507,12 +507,52 @@ trap 'exit 1;' SIGINT
+ # Need to be able to have non-root users read stuff (rpcbind etc)
+ chmod 755 "$initdir"
+ 
++if [[ $hostonly ]]; then
++
++    _get_fs_type() (
++        [[ $1 ]] || return
++        if [[ -b /dev/block/$1 ]] && get_fs_env /dev/block/$1; then
++            echo -n "$ID_FS_TYPE "
++            return 1
++        fi
++        if find_dev_fstype $1; then
++            echo -n " "
++            return 1
++        fi
++        return 1
++    )
++
++    push host_mp \
++        "/" \
++        "/etc" \
++        "/usr" \
++        "/usr/bin" \
++        "/usr/sbin" \
++        "/usr/lib" \
++        "/usr/lib64" \
++        "/boot"
++
++    host_fs_types=""
++    for mp in "${host_mp[@]}"; do
++        mountpoint "$mp" >/dev/null 2>&1 || continue
++        push host_devs $(find_block_device "$mp")
++    done
++    for dev in "${host_devs[@]}"; do
++        unset fs_type
++        for fstype in $(_get_fs_type $dev) \
++            $(check_block_and_slaves _get_fs_type $dev); do
++            strstr " $host_fs_types " "$fstype" || host_fs_types+="$fstype "
++        done
++    done
++fi
++echo "host_fs_types=$host_fs_types"
++
+ export initdir dracutbasedir dracutmodules drivers \
+     fw_dir drivers_dir debug no_kernel kernel_only \
+     add_drivers mdadmconf lvmconf filesystems \
+     use_fstab libdir usrlibdir fscks nofscks \
+     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
+-    debug
++    debug host_fs_types host_devs
+ 
+ # Create some directory structure first
+ [[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}"
+diff --git a/dracut-functions b/dracut-functions
+index c54cd7c..258d376 100755
+--- a/dracut-functions
++++ b/dracut-functions
+@@ -165,8 +165,11 @@ get_fs_type() (
+         echo "nfs"
+         return
+     fi
+-    get_fs_env $1 || return
+-    echo $ID_FS_TYPE
++    if get_fs_env $1; then
++        echo $ID_FS_TYPE
++        return
++    fi
++    find_dev_fstype $1
+ )
+ 
+ get_fs_uuid() (
+@@ -174,11 +177,11 @@ get_fs_uuid() (
+     echo $ID_FS_UUID
+ )
+ 
+-# finds the major:minor of the block device backing the root filesystem.
+ find_block_device() {
+     local _x _mpt _majmin _dev _fs _maj _min
+     if [[ $use_fstab != yes ]]; then
+         while read _x _x _majmin _x _mpt _x _x _fs _dev _x; do
++            [[ $_mpt = $1 ]] || continue
+             [[ $_fs = nfs ]] && { echo $_dev; return 0;}
+             [[ $_fs = nfs3 ]] && { echo $_dev; return 0;}
+             [[ $_fs = nfs4 ]] && { echo $_dev; return 0;}
+@@ -189,7 +192,7 @@ find_block_device() {
+                     echo $_maj:$_min
+                 } && return 0
+             }
+-            if [[ $_mpt = $1 ]] && [[ ${_majmin#0:} = $_majmin ]]; then
++            if [[ ${_majmin#0:} = $_majmin ]]; then
+                 echo $_majmin
+                 return 0 # we have a winner!
+             fi
+@@ -215,6 +218,25 @@ find_block_device() {
+     return 1
+ }
+ 
++find_dev_fstype() {
++    local _x _mpt _majmin _dev _fs _maj _min
++    while read _x _x _majmin _x _mpt _x _x _fs _dev _x; do
++        [[ $_dev = $1 ]] || continue
++        echo -n $_fs;
++        return 0;
++    done < /proc/self/mountinfo
++
++    # fall back to /etc/fstab
++    while read _dev _mpt _fs _x; do
++        [[ $_dev = $1 ]] || continue
++        echo -n $_fs;
++        return 0;
++    done < /etc/fstab
++
++    return 1
++}
++
++# finds the major:minor of the block device backing the root filesystem.
+ find_root_block_device() { find_block_device /; }
+ 
+ # Walk all the slave relationships for a given block device.
diff --git a/0002-module-setup.sh-use-host_fs_types-host_devs.patch b/0002-module-setup.sh-use-host_fs_types-host_devs.patch
new file mode 100644
index 0000000..e99d8b7
--- /dev/null
+++ b/0002-module-setup.sh-use-host_fs_types-host_devs.patch
@@ -0,0 +1,480 @@
+From 480d772f22a2f690928c59c7c0ebfa7dc00332ea Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 8 Dec 2011 10:43:29 +0100
+Subject: [PATCH] */module-setup.sh: use host_fs_types host_devs
+
+For the $hostonly case, use $host_fs_types and $host_devs to determine,
+if a module has to be included in the initramfs.
+---
+ dracut                                     |   16 +++++---
+ dracut-functions                           |   31 +++++++++++++---
+ modules.d/90btrfs/module-setup.sh          |   16 ++++----
+ modules.d/90crypt/module-setup.sh          |   26 ++++++++-----
+ modules.d/90dmraid/module-setup.sh         |   40 +++++++++++++++------
+ modules.d/90kernel-modules/module-setup.sh |    6 +++-
+ modules.d/90lvm/module-setup.sh            |   25 ++++++++-----
+ modules.d/90mdraid/module-setup.sh         |   40 +++++++++++++++-----
+ modules.d/95fstab-sys/module-setup.sh      |    2 +-
+ modules.d/95nfs/module-setup.sh            |   14 +++++--
+ modules.d/99base/module-setup.sh           |    1 +
+ modules.d/99fs-lib/module-setup.sh         |   55 ++++++++++++++--------------
+ 12 files changed, 179 insertions(+), 93 deletions(-)
+
+diff --git a/dracut b/dracut
+index 3d08680..46694f8 100755
+--- a/dracut
++++ b/dracut
+@@ -508,15 +508,19 @@ trap 'exit 1;' SIGINT
+ chmod 755 "$initdir"
+ 
+ if [[ $hostonly ]]; then
++    # in hostonly mode, determine all devices, which have to be accessed
++    # and examine them for filesystem types
++
++    unset host_fs_types
+ 
+     _get_fs_type() (
+         [[ $1 ]] || return
+         if [[ -b /dev/block/$1 ]] && get_fs_env /dev/block/$1; then
+-            echo -n "$ID_FS_TYPE "
++            echo "$1|$ID_FS_TYPE"
+             return 1
+         fi
+-        if find_dev_fstype $1; then
+-            echo -n " "
++        if fstype=$(find_dev_fstype $1); then
++            echo "$1|$fstype"
+             return 1
+         fi
+         return 1
+@@ -532,7 +536,6 @@ if [[ $hostonly ]]; then
+         "/usr/lib64" \
+         "/boot"
+ 
+-    host_fs_types=""
+     for mp in "${host_mp[@]}"; do
+         mountpoint "$mp" >/dev/null 2>&1 || continue
+         push host_devs $(find_block_device "$mp")
+@@ -541,11 +544,12 @@ if [[ $hostonly ]]; then
+         unset fs_type
+         for fstype in $(_get_fs_type $dev) \
+             $(check_block_and_slaves _get_fs_type $dev); do
+-            strstr " $host_fs_types " "$fstype" || host_fs_types+="$fstype "
++            if ! strstr " ${host_fs_types[*]} " " $fstype ";then
++                push host_fs_types "$fstype"
++            fi
+         done
+     done
+ fi
+-echo "host_fs_types=$host_fs_types"
+ 
+ export initdir dracutbasedir dracutmodules drivers \
+     fw_dir drivers_dir debug no_kernel kernel_only \
+diff --git a/dracut-functions b/dracut-functions
+index 258d376..d95df14 100755
+--- a/dracut-functions
++++ b/dracut-functions
+@@ -177,6 +177,14 @@ get_fs_uuid() (
+     echo $ID_FS_UUID
+ )
+ 
++
++get_maj_min() {
++    local _dev
++    _dev=$(stat -c '$((0x%T)):$((0x%t))' "$1" 2>/dev/null)
++    _dev=$(eval "echo $_dev")
++    echo $_dev
++}
++
+ find_block_device() {
+     local _x _mpt _majmin _dev _fs _maj _min
+     if [[ $use_fstab != yes ]]; then
+@@ -186,11 +194,8 @@ find_block_device() {
+             [[ $_fs = nfs3 ]] && { echo $_dev; return 0;}
+             [[ $_fs = nfs4 ]] && { echo $_dev; return 0;}
+             [[ $_fs = btrfs ]] && {
+-                ls -nLl "$_dev" | {
+-                    read _x _x _x _x _maj _min _x
+-                    _maj=${_maj//,/}
+-                    echo $_maj:$_min
+-                } && return 0
++                get_maj_min $_dev
++                return 0;
+             }
+             if [[ ${_majmin#0:} = $_majmin ]]; then
+                 echo $_majmin
+@@ -239,6 +244,22 @@ find_dev_fstype() {
+ # finds the major:minor of the block device backing the root filesystem.
+ find_root_block_device() { find_block_device /; }
+ 
++for_each_host_dev_fs()
++{
++    local _func="$1"
++    for f in ${host_fs_types[@]}; do
++        OLDIFS="$IFS"
++        IFS="|"
++        set -- $f
++        IFS="$OLDIFS"
++        dev=$1
++        [[ -b /dev/block/$dev ]] && dev="/dev/block/$dev"
++        [[ -b $dev ]] || continue
++        fs="$2"
++        $_func $dev $fs
++    done
++}
++
+ # Walk all the slave relationships for a given block device.
+ # Stop when our helper function returns success
+ # $1 = function to call on every found block device
+diff --git a/modules.d/90btrfs/module-setup.sh b/modules.d/90btrfs/module-setup.sh
+index 7b0b424..f89713f 100755
+--- a/modules.d/90btrfs/module-setup.sh
++++ b/modules.d/90btrfs/module-setup.sh
+@@ -11,14 +11,14 @@ check() {
+     . $dracutfunctions
+     [[ $debug ]] && set -x
+ 
+-    is_btrfs() { get_fs_type /dev/block/$1 | grep -q btrfs; }
+-
+-    if [[ $hostonly ]]; then
+-        _rootdev=$(find_root_block_device)
+-        if [[ $_rootdev ]]; then
+-            is_btrfs "$_rootdev" || return 1
+-        fi
+-    fi
++    [[ $hostonly ]] && {
++        local _found
++        for fs in $host_fs_types; do
++            [[ "$fs" = "|btrfs" ]] && _found="1"
++        done
++        [[ $_found ]] || return 1
++        unset _found
++    }
+ 
+     return 0
+ }
+diff --git a/modules.d/90crypt/module-setup.sh b/modules.d/90crypt/module-setup.sh
+index 2a8268f..42c6b48 100755
+--- a/modules.d/90crypt/module-setup.sh
++++ b/modules.d/90crypt/module-setup.sh
+@@ -9,18 +9,24 @@ check() {
+ 
+     . $dracutfunctions
+ 
+-    is_crypt() { [[ $(get_fs_type /dev/block/$1) = crypto_LUKS ]]; }
++    check_crypt() {
++        local dev=$1 fs=$2
++        [[ $fs = "crypto_LUKS" ]] || continue
++        ID_FS_UUID=$(udevadm info --query=property --name=$dev \
++            | while read line; do
++                [[ ${line#ID_FS_UUID} = $line ]] && continue
++                eval "$line"
++                echo $ID_FS_UUID
++                break
++                done)
++        [[ ${ID_FS_UUID} ]] || continue
++        echo " rd.luks.uuid=${ID_FS_UUID} " >> "${initdir}/etc/cmdline.d/90crypt.conf"
++    }
+ 
+     [[ $hostonly ]] && {
+-        _rootdev=$(find_root_block_device)
+-        if [[ $_rootdev ]]; then
+-            # root lives on a block device, so we can be more precise about
+-            # hostonly checking
+-            check_block_and_slaves is_crypt "$_rootdev" || return 1
+-        else
+-            # root is not on a block device, use the shotgun approach
+-            blkid | grep -q crypto\?_LUKS || return 1
+-        fi
++        [[ -d "${initdir}/etc/cmdline.d" ]] || mkdir -p "${initdir}/etc/cmdline.d"
++        for_each_host_dev_fs check_crypt
++        [ -f "${initdir}/etc/cmdline.d/90crypt.conf" ] || return 1
+     }
+ 
+     return 0
+diff --git a/modules.d/90dmraid/module-setup.sh b/modules.d/90dmraid/module-setup.sh
+index 87a4d1e..9de6c63 100755
+--- a/modules.d/90dmraid/module-setup.sh
++++ b/modules.d/90dmraid/module-setup.sh
+@@ -11,19 +11,37 @@ check() {
+     . $dracutfunctions
+     [[ $debug ]] && set -x
+ 
+-    is_dmraid() { get_fs_type /dev/block/$1 |grep -v linux_raid_member | \
+-        grep -q _raid_member; }
++    check_dmraid() {
++        local dev=$1 fs=$2 holder DEVPATH DM_NAME
++        [[ "$fs" = "linux_raid_member" ]] && continue
++        [[ "$fs" = "${fs%%_raid_member}" ]] && continue
++
++        DEVPATH=$(udevadm info --query=property --name=$dev \
++            | while read line; do
++                [[ ${line#DEVPATH} = $line ]] && continue
++                eval "$line"
++                echo $DEVPATH
++                break
++                done)
++        for holder in /sys/$DEVPATH/holders/*; do
++            [[ -e $holder ]] || continue
++            DM_NAME=$(udevadm info --query=property --path=$holder \
++                | while read line; do
++                    [[ ${line#DM_NAME} = $line ]] && continue
++                    eval "$line"
++                    echo $DM_NAME
++                    break
++                    done)
++        done
++
++        [[ ${DM_NAME} ]] || continue
++        echo " rd.dm.uuid=${DM_NAME} " >> "${initdir}/etc/cmdline.d/90dmraid.conf"
++    }
+ 
+     [[ $hostonly ]] && {
+-        _rootdev=$(find_root_block_device)
+-        if [[ $_rootdev ]]; then
+-        # root lives on a block device, so we can be more precise about
+-        # hostonly checking
+-            check_block_and_slaves is_dmraid "$_rootdev" || return 1
+-        else
+-        # root is not on a block device, use the shotgun approach
+-            dmraid -r | grep -q ok || return 1
+-        fi
++        [[ -d "${initdir}/etc/cmdline.d" ]] || mkdir -p "${initdir}/etc/cmdline.d"
++        for_each_host_dev_fs check_dmraid
++        [ -f "${initdir}/etc/cmdline.d/90dmraid.conf" ] || return 1
+     }
+ 
+     return 0
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index d7aadd8..8d2ab91 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -50,7 +50,11 @@ installkernel() {
+                 rm -fr ${initdir}/lib/modules/*/kernel/fs/ocfs2
+             fi
+         else
+-            hostonly='' instmods $(get_fs_type "/dev/block/$(find_root_block_device)")
++            inst_fs() {
++                [[ $2 ]] || return 1
++                hostonly='' instmods $2
++            }
++            for_each_host_dev_fs inst_fs
+         fi
+     else
+         hostonly='' instmods $drivers
+diff --git a/modules.d/90lvm/module-setup.sh b/modules.d/90lvm/module-setup.sh
+index 40dc350..87751cb 100755
+--- a/modules.d/90lvm/module-setup.sh
++++ b/modules.d/90lvm/module-setup.sh
+@@ -10,18 +10,23 @@ check() {
+     . $dracutfunctions
+     [[ $debug ]] && set -x
+ 
+-    is_lvm() { [[ $(get_fs_type /dev/block/$1) = LVM2_member ]]; }
++    check_lvm() {
++        local dev=$1
++        DM_LV_NAME=$(udevadm info --query=property --name=$dev \
++            | while read line; do
++                [[ ${line#DM_LV_NAME} = $line ]] && continue
++                eval "$line"
++                echo $DM_LV_NAME
++                break
++                done)
++        [[ ${DM_LV_NAME} ]] || continue
++        echo " rd.lvm.lv=${DM_LV_NAME} " >> "${initdir}/etc/cmdline.d/90lvm.conf"
++    }
+ 
+     [[ $hostonly ]] && {
+-        _rootdev=$(find_root_block_device)
+-        if [[ $_rootdev ]]; then
+-            # root lives on a block device, so we can be more precise about
+-            # hostonly checking
+-            check_block_and_slaves is_lvm "$_rootdev" || return 1
+-        else
+-            # root is not on a block device, use the shotgun approach
+-            blkid | grep -q LVM2_member || return 1
+-        fi
++        [[ -d "${initdir}/etc/cmdline.d" ]] || mkdir -p "${initdir}/etc/cmdline.d"
++        for_each_host_dev_fs check_lvm
++        [ -f "${initdir}/etc/cmdline.d/90lvm.conf" ] || return 1
+     }
+ 
+     return 0
+diff --git a/modules.d/90mdraid/module-setup.sh b/modules.d/90mdraid/module-setup.sh
+index 029d667..05e0127 100755
+--- a/modules.d/90mdraid/module-setup.sh
++++ b/modules.d/90mdraid/module-setup.sh
+@@ -10,18 +10,38 @@ check() {
+     . $dracutfunctions
+     [[ $debug ]] && set -x
+ 
+-    is_mdraid() { [[ -d "/sys/dev/block/$1/md" ]]; }
++    check_mdraid() {
++        local dev=$1 fs=$2 holder DEVPATH MD_UUID
++        [[ "$fs" = "linux_raid_member" ]] && continue
++        [[ "$fs" = "${fs%%_raid_member}" ]] && continue
++
++        DEVPATH=$(udevadm info --query=property --name=$dev \
++            | while read line; do
++                [[ ${line#DEVPATH} = $line ]] && continue
++                eval "$line"
++                echo $DEVPATH
++                break
++                done)
++
++        for holder in /sys/$DEVPATH/holders/*; do
++            [[ -e $holder ]] || continue
++            MD_UUID=$(udevadm info --query=property --path=$holder \
++                | while read line; do
++                    [[ ${line#MD_UUID} = $line ]] && continue
++                    eval "$line"
++                    echo $MD_UUID
++                    break
++                    done)
++        done
++
++        [[ ${MD_UUID} ]] || continue
++        echo " rd.md.uuid=${MD_UUID} " >> "${initdir}/etc/cmdline.d/90mdraid.conf"
++    }
+ 
+     [[ $hostonly ]] && {
+-        _rootdev=$(find_root_block_device)
+-        if [[ $_rootdev ]]; then
+-            # root lives on a block device, so we can be more precise about
+-            # hostonly checking
+-            check_block_and_slaves is_mdraid "$_rootdev" || return 1
+-        else
+-            # root is not on a block device, use the shotgun approach
+-            blkid | egrep -q '(linux|isw|ddf)_raid' || return 1
+-        fi
++        [[ -d "${initdir}/etc/cmdline.d" ]] || mkdir -p "${initdir}/etc/cmdline.d"
++        for_each_host_dev_fs check_mdraid
++        [[ -f "${initdir}/etc/cmdline.d/90mdraid.conf" ]] || return 1
+     }
+ 
+     return 0
+diff --git a/modules.d/95fstab-sys/module-setup.sh b/modules.d/95fstab-sys/module-setup.sh
+index c22b047..ea9db83 100755
+--- a/modules.d/95fstab-sys/module-setup.sh
++++ b/modules.d/95fstab-sys/module-setup.sh
+@@ -11,6 +11,6 @@ depends() {
+ }
+ 
+ install() {
+-    dracut_install /etc/fstab.sys
++    inst /etc/fstab.sys /etc/fstab
+     inst_hook pre-pivot 00 "$moddir/mount-sys.sh"
+ }
+diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
+index c5f97c9..bb3b793 100755
+--- a/modules.d/95nfs/module-setup.sh
++++ b/modules.d/95nfs/module-setup.sh
+@@ -3,13 +3,19 @@
+ # ex: ts=8 sw=4 sts=4 et filetype=sh
+ 
+ check() {
+-    # If hostonly was requested, fail the check if we are not actually
+-    # booting from root.
+-    [ $hostonly ] && ! egrep -q '/ nfs[34 ]' /proc/mounts && return 1
+-
+     # If our prerequisites are not met, fail anyways.
+     type -P rpcbind >/dev/null || type -P portmap >/dev/null || return 1
+     type -P rpc.statd mount.nfs mount.nfs4 umount >/dev/null || return 1
++
++    [[ $hostonly ]] && {
++        for fs in ${host_fs_types[@]}; do
++            strstr "$fs" "|nfs"  && return 0
++            strstr "$fs" "|nfs3" && return 0
++            strstr "$fs" "|nfs4" && return 0
++        done
++        return 255
++    }
++
+     return 0
+ }
+ 
+diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
+index f6dc920..5297a9d 100755
+--- a/modules.d/99base/module-setup.sh
++++ b/modules.d/99base/module-setup.sh
+@@ -38,6 +38,7 @@ install() {
+     dracut_install switch_root || dfatal "Failed to install switch_root"
+ 
+     inst "$moddir/dracut-lib.sh" "/lib/dracut-lib.sh"
++    inst "$moddir/mount-hook.sh" "/usr/bin/mount-hook"
+     inst_hook cmdline 10 "$moddir/parse-root-opts.sh"
+     mkdir -p "${initdir}/var"
+     [ -x /lib/systemd/systemd-timestamp ] && inst /lib/systemd/systemd-timestamp
+diff --git a/modules.d/99fs-lib/module-setup.sh b/modules.d/99fs-lib/module-setup.sh
+index 04b63f1..9c900cc 100755
+--- a/modules.d/99fs-lib/module-setup.sh
++++ b/modules.d/99fs-lib/module-setup.sh
+@@ -10,6 +10,32 @@ depends() {
+     return 0
+ }
+ 
++
++echo_fs_helper() {
++    local dev=$1 fs=$2
++    case "$fs" in
++        xfs)
++            echo -n " xfs_db xfs_repair xfs_check "
++            ;;
++        ext?)
++            echo -n " e2fsck "
++            ;;
++        jfs)
++            echo -n " jfs_fsck "
++            ;;
++        reiserfs)
++            echo -n " reiserfsck "
++            ;;
++        btrfs)
++            echo -n " btrfsck "
++            ;;
++        *)
++            [[ -x fsck.$fs ]] && echo -n " fsck.$fs "
++            ;;
++    esac
++}
++
++
+ install() {
+     local _helpers
+ 
+@@ -25,33 +51,8 @@ install() {
+             e2fsck jfs_fsck reiserfsck btrfsck
+         "
+         if [[ $hostonly ]]; then
+-            print_fs_type() { get_fs_type /dev/block/$1; }
+-            _rootdev=$(find_root_block_device)
+-            if [[ $_rootdev ]]; then
+-                _helpers="umount mount "
+-                for fs in $(check_block_and_slaves print_fs_type  "$_rootdev"); do
+-                    case "$fs" in
+-                        xfs)
+-                            _helpers+=" xfs_db xfs_repair xfs_check "
+-                            ;;
+-                        ext?)
+-                            _helpers+=" e2fsck "
+-                            ;;
+-                        jfs)
+-                            _helpers+=" jfs_fsck "
+-                            ;;
+-                        reiserfs)
+-                            _helpers+=" reiserfsck "
+-                            ;;
+-                        btrfs)
+-                            _helpers+=" btrfsck "
+-                            ;;
+-                        *)
+-                            [[ -x fsck.$fs ]] && _helpers+= " fsck.$fs "
+-                            ;;
+-                    esac
+-                done
+-            fi
++            _helpers="umount mount "
++            _helpers+=$(for_each_host_dev_fs echo_fs_helper)
+         fi
+     else
+         _helpers="$fscks"
diff --git a/0003-95iscsi-iscsiroot-unset-used-variables-before-starti.patch b/0003-95iscsi-iscsiroot-unset-used-variables-before-starti.patch
new file mode 100644
index 0000000..7e110f2
--- /dev/null
+++ b/0003-95iscsi-iscsiroot-unset-used-variables-before-starti.patch
@@ -0,0 +1,29 @@
+From 43f218522128b7864346bb11f7aad234410db745 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 8 Dec 2011 15:04:04 +0100
+Subject: [PATCH] 95iscsi/iscsiroot: unset used variables before starting
+
+If iscsiroot is called multiple times, then some variables can hold the
+values of a previous call, so unset all variables before using them.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=752066
+---
+ modules.d/95iscsi/iscsiroot |    5 +++++
+ 1 files changed, 5 insertions(+), 0 deletions(-)
+
+diff --git a/modules.d/95iscsi/iscsiroot b/modules.d/95iscsi/iscsiroot
+index bcdc046..e7bac74 100755
+--- a/modules.d/95iscsi/iscsiroot
++++ b/modules.d/95iscsi/iscsiroot
+@@ -51,6 +51,11 @@ if getargbool 0 rd.iscsi.firmware -y iscsi_firmware ; then
+     exit 0
+ fi
+ 
++unset iscsi_initiator iscsi_target_name iscsi_target_ip iscsi_target_port
++unset iscsi_target_group iscsi_protocol iscsirw iscsi_lun
++unset iscsi_username iscsi_password 
++unset iscsi_in_username iscsi_in_password
++
+ # override conf settings by command line options
+ arg=$(getargs rd.iscsi.initiator iscsi_initiator=)
+ [ -n "$arg" ] && iscsi_initiator=$arg
diff --git a/0004-99base-dracut-lib.sh-killproc-prefix-local-variables.patch b/0004-99base-dracut-lib.sh-killproc-prefix-local-variables.patch
new file mode 100644
index 0000000..9334b0d
--- /dev/null
+++ b/0004-99base-dracut-lib.sh-killproc-prefix-local-variables.patch
@@ -0,0 +1,36 @@
+From 4d63882615543b19b779607563ab2a098d54b403 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 9 Dec 2011 10:12:05 +0100
+Subject: [PATCH] 99base/dracut-lib.sh: killproc, prefix local variables
+
+---
+ modules.d/99base/dracut-lib.sh |   16 ++++++++--------
+ 1 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
+index e86d209..c881869 100755
+--- a/modules.d/99base/dracut-lib.sh
++++ b/modules.d/99base/dracut-lib.sh
+@@ -627,14 +627,14 @@ wait_for_dev()
+ }
+ 
+ killproc() {
+-    local exe="$(command -v $1)"
+-    local sig=$2
+-    local i
+-    [ -x "$exe" ] || return 1
+-    for i in /proc/[0-9]*; do 
+-        [ "$i" = "/proc/1" ] && continue
+-        if [ -e "$i"/exe ] && [  "$i/exe" -ef "$exe" ] ; then
+-            kill $sig ${i##*/}
++    local _exe="$(command -v $1)"
++    local _sig=$2
++    local _i
++    [ -x "$_exe" ] || return 1
++    for _i in /proc/[0-9]*; do
++        [ "$_i" = "/proc/1" ] && continue
++        if [ -e "$_i"/_exe ] && [  "$_i/_exe" -ef "$_exe" ] ; then
++            kill $_sig ${_i##*/}
+         fi
+     done
+ }
diff --git a/0005-dracut.spec-remove-unnecessary-dependencies.patch b/0005-dracut.spec-remove-unnecessary-dependencies.patch
new file mode 100644
index 0000000..16e6783
--- /dev/null
+++ b/0005-dracut.spec-remove-unnecessary-dependencies.patch
@@ -0,0 +1,63 @@
+From 828feae4f1814a915b2f7f362a5920322e0d6fcc Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 9 Dec 2011 10:28:40 +0100
+Subject: [PATCH] dracut.spec: remove unnecessary dependencies
+
+Since the initramfs generation is done in %postrans of the kernel rpm,
+we can drop all hard requirements.
+
+Also make some requirements a conflict to express the version
+dependency.
+---
+ dracut.spec |   24 ++----------------------
+ 1 files changed, 2 insertions(+), 22 deletions(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index 91b62ee..1c50f37 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -68,17 +68,15 @@ Requires: filesystem >= 2.1.0
+ Requires: findutils
+ Requires: grep
+ Requires: gzip
+-Requires: kbd
+ Requires: mktemp >= 1.5-5
+ Requires: module-init-tools >= 3.7-9
+ Requires: sed
+-Requires: tar
+ Requires: udev
+ Requires: util-linux >= 2.20
+ 
+ %if 0%{?fedora} || 0%{?rhel} > 6
+-Requires: initscripts >= 8.63-1
+-Requires: plymouth >= 0.8.0-0.2009.29.09.19.1
++Conflicts: initscripts < 8.63-1
++Conflicts: plymouth < 0.8.0-0.2009.29.09.19.1
+ %endif
+ 
+ %description
+@@ -91,24 +89,6 @@ NFS, iSCSI, NBD, FCoE with the dracut-network package.
+ %package network
+ Summary: Dracut modules to build a dracut initramfs with network support
+ Requires: %{name} = %{version}-%{release}
+-Requires: rpcbind
+-%if %{with_nbd}
+-Requires: nbd
+-%endif
+-Requires: iproute
+-Requires: bridge-utils
+-
+-%if 0%{?fedora} || 0%{?rhel} > 6
+-Requires: iscsi-initiator-utils
+-Requires: nfs-utils
+-Requires: dhclient
+-%endif
+-
+-%if 0%{?suse_version}
+-Requires: dhcp-client
+-Requires: nfs-client
+-Requires: vlan
+-%endif
+ Obsoletes: dracut-generic < 008
+ Provides:  dracut-generic = %{version}-%{release}
+ 
diff --git a/0006-TEST-12-RAID-DEG-mkdir-run.patch b/0006-TEST-12-RAID-DEG-mkdir-run.patch
new file mode 100644
index 0000000..00dac18
--- /dev/null
+++ b/0006-TEST-12-RAID-DEG-mkdir-run.patch
@@ -0,0 +1,21 @@
+From 5112bfc8ccd01dee3ef97c6e6ce2e78d709e201f Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 15 Dec 2011 13:42:16 +0100
+Subject: [PATCH] TEST-12-RAID-DEG: mkdir /run
+
+---
+ test/TEST-12-RAID-DEG/create-root.sh |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/test/TEST-12-RAID-DEG/create-root.sh b/test/TEST-12-RAID-DEG/create-root.sh
+index 47eb961..7be4a32 100755
+--- a/test/TEST-12-RAID-DEG/create-root.sh
++++ b/test/TEST-12-RAID-DEG/create-root.sh
+@@ -28,6 +28,7 @@ mke2fs -L root /dev/dracut/root && \
+ mkdir -p /sysroot && \
+ mount /dev/dracut/root /sysroot && \
+ cp -a -t /sysroot /source/* && \
++mkdir /sysroot/run && \
+ umount /sysroot && \
+ lvm lvchange -a n /dev/dracut/root && \
+ cryptsetup luksClose /dev/mapper/dracut_crypt_test && \
diff --git a/0007-99base-dracut-lib.sh-added-inst_mount_hook-add_mount.patch b/0007-99base-dracut-lib.sh-added-inst_mount_hook-add_mount.patch
new file mode 100644
index 0000000..439ee69
--- /dev/null
+++ b/0007-99base-dracut-lib.sh-added-inst_mount_hook-add_mount.patch
@@ -0,0 +1,127 @@
+From bb61d657c1ff11c4339a777e1fcf57173783bf7d Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 15 Dec 2011 14:37:34 +0100
+Subject: [PATCH] 99base/dracut-lib.sh: added inst_mount_hook add_mount_point
+
+inst_mount_hook <mountpoint> <prio> <name> <script>
+
+Install a mount hook with priority <prio>,
+which executes <script> as soon as <mountpoint> is mounted.
+
+add_mount_point <dev> <mountpoint> <filesystem> <fsopts>
+
+Mount <dev> on <mountpoint> with <filesystem> and <fsopts>
+and call any mount hooks, as soon, as it is mounted
+---
+ modules.d/99base/dracut-lib.sh |   91 ++++++++++++++++++++++++++++++++++++++++
+ 1 files changed, 91 insertions(+), 0 deletions(-)
+
+diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
+index c881869..9eae4d9 100755
+--- a/modules.d/99base/dracut-lib.sh
++++ b/modules.d/99base/dracut-lib.sh
+@@ -602,6 +602,92 @@ usable_root() {
+     return 0
+ }
+ 
++inst_hook() {
++    local _hookname _unique _name _job _exe
++    while [ $# -gt 0 ]; do
++        case "$1" in
++            --hook)
++                _hookname="/$2";shift;;
++            --unique)
++                _unique="yes";;
++            --name)
++                _name="$2";shift;;
++            *)
++                break;;
++        esac
++        shift
++    done
++
++    if [ -z "$_unique" ]; then
++        _job="${_name}$$"
++    else
++        _job="${_name:-$1}"
++        _job=${_job##*/}
++    fi
++
++    _exe=$1
++    shift
++
++    [ -x "$_exe" ] || _exe=$(command -v $_exe)
++
++    if [ -n "$onetime" ]; then
++        {
++            echo '[ -e "$_job" ] && rm "$_job"'
++            echo "$_exe $@"
++        } > "/tmp/$$-${_job}.sh"
++    else
++        echo "$_exe $@" > "/tmp/$$-${_job}.sh"
++    fi
++
++    mv -f "/tmp/$$-${_job}.sh" "$hookdir/${_hookname}/${_job}.sh"
++}
++
++# inst_mount_hook <mountpoint> <prio> <name> <script>
++#
++# Install a mount hook with priority <prio>,
++# which executes <script> as soon as <mountpoint> is mounted.
++inst_mount_hook() {
++    local _prio="$2" _jobname="$3" _script="$4"
++    local _hookname="mount-$(str_replace "$1" '/' '\\x2f')"
++    [ -d "$hookdir/${_hookname}" ] || mkdir -p "$hookdir/${_hookname}"
++    inst_hook --hook "$_hookname" --unique --name "${_prio}-${_jobname}" "$_script"
++}
++
++# add_mount_point <dev> <mountpoint> <filesystem> <fsopts>
++#
++# Mount <dev> on <mountpoint> with <filesystem> and <fsopts>
++# and call any mount hooks, as soon, as it is mounted
++add_mount_point() {
++    local _dev="$1" _mp="$2" _fs="$3" _fsopts="$4"
++    local _hookname="mount-$(str_replace "$2" '/' '\\x2f')"
++    local _devname="dev-$(str_replace "$1" '/' '\\x2f')"
++    echo "$_dev $_mp $_fs $_fsopts 0 0" >> /etc/fstab
++
++    exec 7>/etc/udev/rules.d/99-mount-${_devname}.rules
++    echo 'SUBSYSTEM!="block", GOTO="mount_end"' >&7
++    echo 'ACTION!="add|change", GOTO="mount_end"' >&7
++    if [ -n "$_dev" ]; then
++        udevmatch "$_dev" >&7 || {
++            warn "add_mount_point dev=$_dev incorrect!"
++            continue
++        }
++        printf ', ' >&7
++    fi
++
++    {
++        printf -- 'RUN+="%s --unique --onetime ' $(command -v initqueue)
++        printf -- '--name mount-%%k '
++        printf -- '%s %s"\n' "$(command -v mount_hook)" "${_mp}"
++    } >&7
++    echo 'LABEL="mount_end"' >&7
++    exec 7>&-
++}
++
++# wait_for_mount <mountpoint>
++#
++# Installs a initqueue-finished script,
++# which will cause the main loop only to exit,
++# if <mountpoint> is mounted.
+ wait_for_mount()
+ {
+     local _name
+@@ -614,6 +700,11 @@ wait_for_mount()
+     } >> "$hookdir/emergency/90-${_name}.sh"
+ }
+ 
++# wait_for_dev <dev>
++#
++# Installs a initqueue-finished script,
++# which will cause the main loop only to exit,
++# if the device <dev> is recognized by the system.
+ wait_for_dev()
+ {
+     local _name
diff --git a/0008-dracut-add-add-fstab-and-mount-option.patch b/0008-dracut-add-add-fstab-and-mount-option.patch
new file mode 100644
index 0000000..42fe2ef
--- /dev/null
+++ b/0008-dracut-add-add-fstab-and-mount-option.patch
@@ -0,0 +1,106 @@
+From 70cb8a686f710b237c6f7c7524b47d2649f6751a Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Thu, 15 Dec 2011 14:36:37 +0100
+Subject: [PATCH] dracut: add --add-fstab and --mount option
+
+--add-fstab [FILE]    Add file to the initramfs fstab
+--mount "[DEV] [MP] [FSTYPE] [FSOPTS]"
+                      Mount device [DEV] on mountpoint [MP] with filesystem
+                      [FSTYPE] and options [FSOPTS] in the initramfs
+---
+ dracut                             |   40 ++++++++++++++++++++++++++++++++++++
+ modules.d/95fstab-sys/mount-sys.sh |    4 +-
+ 2 files changed, 42 insertions(+), 2 deletions(-)
+
+diff --git a/dracut b/dracut
+index 46694f8..8449fc1 100755
+--- a/dracut
++++ b/dracut
+@@ -85,6 +85,10 @@ Creates initial ramdisk images for preloading modules
+   -H, --hostonly        Host-Only mode: Install only what is needed for
+                          booting the local host instead of a generic host.
+   --fstab               Use /etc/fstab to determine the root device.
++  --add-fstab [FILE]    Add file to the initramfs fstab
++  --mount "[DEV] [MP] [FSTYPE] [FSOPTS]"
++                        Mount device [DEV] on mountpoint [MP] with filesystem
++                        [FSTYPE] and options [FSOPTS] in the initramfs
+   -i, --include [SOURCE] [TARGET]
+                         Include the files in the SOURCE directory into the
+                          Target directory in the final initramfs.
+@@ -207,6 +211,8 @@ while (($# > 0)); do
+         -I|--install)  push_arg install_items_l      "$@" || shift;;
+         --fwdir)       push_arg fw_dir_l             "$@" || shift;;
+         --fscks)       push_arg fscks_l              "$@" || shift;;
++        --add-fstab)   push_arg add_fstab_l          "$@" || shift;;
++        --mount)       push_arg fstab_lines          "$@" || shift;;
+         --nofscks)     nofscks_l="yes";;
+         -k|--kmoddir)  read_arg drivers_dir_l        "$@" || shift;;
+         -c|--conf)     read_arg conffile             "$@" || shift;;
+@@ -332,6 +338,18 @@ if (( ${#fscks_l[@]} )); then
+     done
+ fi
+ 
++if (( ${#add_fstab_l[@]} )); then
++    while pop add_fstab_l val; do
++        add_fstab+=" $val "
++    done
++fi
++
++if (( ${#fstab_lines_l[@]} )); then
++    while pop fstab_lines_l val; do
++        push fstab_lines $val
++    done
++fi
++
+ if (( ${#install_items_l[@]} )); then
+     while pop install_items_l val; do
+         push install_items $val
+@@ -526,6 +544,21 @@ if [[ $hostonly ]]; then
+         return 1
+     )
+ 
++    for line in "${fstab_lines[@]}"; do
++        set -- $line
++        #dev mp fs fsopts
++        dev="$(get_maj_min $1)"
++        push host_devs "${dev:-$1}"
++        push host_fs_types "$dev|$3"
++    done
++
++    for f in $add_fstab; do
++        [ -e $f ] || continue
++        while read dev rest; do
++            push host_devs $dev
++        done < $f
++    done
++
+     push host_mp \
+         "/" \
+         "/etc" \
+@@ -668,6 +701,13 @@ while pop install_items items; do
+ done
+ unset item
+ 
++while pop fstab_lines line; do
++    echo "$line 0 0" >> "${initdir}/etc/fstab"
++done
++
++for f in $add_fstab; do
++    cat $f >> "${initdir}/etc/fstab"
++done
+ 
+ if [[ $kernel_only != yes ]]; then
+     # make sure that library links are correct and up to date
+diff --git a/modules.d/95fstab-sys/mount-sys.sh b/modules.d/95fstab-sys/mount-sys.sh
+index f44351d..a8fbd50 100755
+--- a/modules.d/95fstab-sys/mount-sys.sh
++++ b/modules.d/95fstab-sys/mount-sys.sh
+@@ -25,6 +25,6 @@ fstab_mount() {
+     return 0
+ }
+ 
+-for r in $NEWROOT /; do
+-    fstab_mount "$r/etc/fstab.sys" && break
++for r in $NEWROOT/etc/fstab.sys /etc/fstab; do
++    fstab_mount $r && break
+ done
diff --git a/dracut.spec b/dracut.spec
index a2c2299..b47f89d 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -1,3 +1,5 @@
+%define dracutlibdir %{_prefix}/lib/dracut
+
 # Variables must be defined
 %define with_nbd                1
 
@@ -7,8 +9,8 @@
 %endif
 
 Name: dracut
-Version: 013
-Release: 100.git20111021%{?dist}
+Version: 014
+Release: 9.git20111215%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel} > 6
@@ -22,105 +24,14 @@ URL: https://dracut.wiki.kernel.org/
 # Source can be generated by
 # http://git.kernel.org/?p=boot/dracut/dracut.git;a=snapshot;h=%{version};sf=tgz
 Source0: http://www.kernel.org/pub/linux/utils/boot/dracut/dracut-%{version}.tar.bz2
-Patch1: 0001-add-x-bit-to-.sh.patch
-Patch2: 0002-90dmsquash-live-dmsquash-live-root-include-fs_lib.sh.patch
-Patch3: 0003-fix-live-crash-with-livenet-installed.patch
-Patch4: 0004-profile.py-parse-the-output-of-dracut-profile-for-pr.patch
-Patch5: 0005-add-TEST-16-DMSQUASH.patch
-Patch6: 0006-dracut-functions-s-emergency-shutdown-shutdown-emerg.patch
-Patch7: 0007-dracut-unset-LD_LIBRARY_PATH.patch
-Patch8: 0008-build-initramfs-prelink-undo-sbin.patch
-Patch9: 0009-dracut-functions-speed-up-inst_dir.patch
-Patch10: 0010-90crypt-ask_for_password-pings-plymouthd.patch
-Patch11: 0011-99base-whitespace-fix.patch
-Patch12: 0012-dracut-functions-new-function-inst_any-d-dest-f1-f2-.patch
-Patch13: 0013-livenet-take-into-account-other-ca-bundle-paths-use-.patch
-Patch14: 0014-luks-key-on-ext-dev-wait-for-luks.patch
-Patch15: 0015-crypt-changed-cmdline-arg-name-from-rd.luks.tout-to-.patch
-Patch16: 0016-luks-key-on-ext-dev-wait-for-luks.patch
-Patch17: 0017-dracut-functions-fix-inst_dir-for-non-absolute-dirs.patch
-Patch18: 0018-90mdraid-65-md-incremental-imsm.rules-incremental-ru.patch
-Patch19: 0019-dracut.spec-fixed-rhel-fedora-version-checks.patch
-Patch20: 0020-50plymouth-add-plymouth.enable-kernel-command-line-o.patch
-Patch21: 0021-99base-init-only-poll-cdroms-if-the-kernel-does-supp.patch
-Patch22: 0022-build-initramfs-unclear-_mpargs-in-instmods.patch
-Patch23: 0023-90crypt-parse-crypt.sh-also-accept-the-beginning-of-.patch
-Patch24: 0024-99base-init-save-and-restore-environment-given-from-.patch
-Patch25: 0025-99base-init-move-switch_root-breakpoint-to-a-later-p.patch
-Patch26: 0026-dracut-functions-hmac-checksum-files-can-be-symlinks.patch
-Patch27: 0027-95udev-rules-add-input_id.patch
-Patch28: 0028-inst_simple-inst_dir-make-fast-case-faster.patch
-Patch29: 0029-filter_kernel_modules-is-a-specialized-filter_kernel.patch
-Patch30: 0030-install_kmod_with_fw-make-fast-case-faster.patch
-Patch31: 0031-instmods-get-filenames-from-stdin-if-no-args-use-it.patch
-Patch32: 0032-instmods-sanity-for-_mpargs.patch
-Patch33: 0033-instmods-factor-out-egrep-of-FATAL-Module-.-not-foun.patch
-Patch34: 0034-99base-init-do-not-fail-when-importing-the-original-.patch
-Patch35: 0035-dracut-cp-with-sparse.patch
-Patch36: 0036-99base-init-removed-cdrom-polling-reset-code.patch
-Patch37: 0037-dmsquash-live-root-use-blkid-to-determine-fstype-of-.patch
-Patch38: 0038-dmsquash-live-root-load-filesystem-modules-before-mo.patch
-Patch39: 0039-90dmsquash-live-do-not-symlink-to-dev-live.patch
-Patch40: 0040-99base-init-remove-dev-root-helper-symlink.patch
-Patch41: 0041-Do-not-use-run-udev-rules.d-for-udev-rules.patch
-Patch42: 0042-99base-init-mount-securityfs-with-source-securityfs-.patch
-Patch43: 0043-mount-securityfs-in-a-seperate-dracut-module.patch
-Patch44: 0044-mount-securityfs-in-a-seperate-dracut-module.patch
-Patch45: 0045-90mdraid-adjust-stock-mdadm-udev-rules.patch
-Patch46: 0046-90mdraid-containers-are-not-runnable.patch
-Patch47: 0047-90mdraid-fix-adjust-mdraid-cleanup.patch
-Patch48: 0048-90mdraid-fix-adjust-force-run-script.patch
-Patch49: 0049-90-md-dm-raid-recognize-ddf-container.patch
-Patch50: 0050-90mdraid-fix-adjust-65-md-rules-and-related-scripts.patch
-Patch51: 0051-TEST-40-NBD-relaxed-check-on-ext3-filesystem-options.patch
-Patch52: 0052-99fs-lib-fs-lib.sh-fsck-btrfs-via-mounting-like-xfs.patch
-Patch53: 0053-dracut-functions-inst_rules-do-not-check-std-dirs-fo.patch
-Patch54: 0054-str_replace-fix.patch
-Patch55: 0055-dracut-logger-bail-out-early-if-we-don-t-have-to-log.patch
-Patch56: 0056-dracut-create-dev-besides-proc-sys-and-so.patch
-Patch57: 0057-99fs-lib-export-FSTAB_FILE-before-fsck-call.patch
-Patch58: 0058-dracut-functions-inst_rules-add-missing.patch
-Patch59: 0059-90mdraid-check-precisely-for-supported-contaiers.patch
-Patch60: 0060-90mdraid-more-thorough-64-md-raid.rules-edit.patch
-Patch61: 0061-90mdraid-adjust-dev-md-loops.patch
-Patch62: 0062-dracut-PATCH-Parameter-expansion-occurs-before-comma.patch
-Patch63: 0063-dracut-PATCH-es-parallelize-block_module-filter-and-.patch
-Patch64: 0064-order-mdadm-and-lvm-timeout-operations.patch
-Patch65: 0065-90mdraid-mdraid_start.sh-fix-path-to-md-sysfs.patch
-Patch66: 0066-90mdraid-module-setup.sh-fixed-sed-arguments.patch
-Patch67: 0067-95udev-rules-module-setup.sh-also-search-in-lib-udev.patch
-Patch68: 0068-update-the-documentation-of-no-prefix.patch
-Patch69: 0069-dracut-check-mktemp-return-value.patch
-Patch70: 0070-convert_abs_rel-fixups.patch
-Patch71: 0071-dracut.8-add-missing-lvmconf-info.patch
-Patch72: 0072-fs-lib-add-ability-to-choose-fsck-tools.patch
-Patch73: 0073-manuals-add-info-about-fs-lib-fsck-configuration.patch
-Patch74: 0074-dracut-functions-conv-normalize-minor-corrections.patch
-Patch75: 0075-dracut.-.xml-s-exisiting-existing-g.patch
-Patch76: 0076-95udev-rules-module-setup.s-fixed-symlink-for-udevd-.patch
-Patch77: 0077-dracut.conf.5.xml-tag-mismatch-fix.patch
-Patch78: 0078-bash3-compat-patch.patch
-Patch79: 0079-explicitly-verify-bash-version.patch
-Patch80: 0080-dracut-remove-duplicate-options.patch
-Patch81: 0081-dracut-lib.sh-fix-dropped-backslashes-in-CMDLINE.patch
-Patch82: 0082-dmsquash-live-fix-log-message-about-root-liveroot.patch
-Patch83: 0083-check-root-candidates-more-carefully.patch
-Patch84: 0084-netroot-do-not-die-if-arping-failed.patch
-Patch85: 0085-95udev-rules-module-setup.sh-correctly-create-udevd-.patch
-Patch86: 0086-module-setup.sh-turn-off-debugging-for-module-search.patch
-Patch87: 0087-99base-init-fix-check-for-in-kernel-polling.patch
-Patch88: 0088-99base-dracut-lib.sh-add-etc-cmdline-.conf-parsing.patch
-Patch89: 0089-minor-changes.patch
-Patch90: 0090-90livenet-check-for-wget.patch
-Patch91: 0091-dracut-logger-re-set-debugging.patch
-Patch92: 0092-dracut-functions-inst_dir-handle-relative-symlinks.patch
-Patch93: 0093-90livenet-module-setup.sh-silence-check-for-wget.patch
-Patch94: 0094-90dmsquash-live-do-not-install-by-default.patch
-Patch95: 0095-90livenet-do-not-install-by-default.patch
-Patch96: 0096-dracut-functions-do-not-install-files-from-current-d.patch
-Patch97: 0097-dracut-functions-inst_script-call-inst_binary-with-f.patch
-Patch98: 0098-dracut.spec-apply-patches-with-git.patch
-Patch99: 0099-dracut.spec-require-new-util-linux-version-with-new-.patch
+Patch1: 0001-dracut-export-host_fs_types-host_devs.patch
+Patch2: 0002-module-setup.sh-use-host_fs_types-host_devs.patch
+Patch3: 0003-95iscsi-iscsiroot-unset-used-variables-before-starti.patch
+Patch4: 0004-99base-dracut-lib.sh-killproc-prefix-local-variables.patch
+Patch5: 0005-dracut.spec-remove-unnecessary-dependencies.patch
+Patch6: 0006-TEST-12-RAID-DEG-mkdir-run.patch
+Patch7: 0007-99base-dracut-lib.sh-added-inst_mount_hook-add_mount.patch
+Patch8: 0008-dracut-add-add-fstab-and-mount-option.patch
 
 
 BuildArch: noarch
@@ -166,17 +77,15 @@ Requires: filesystem >= 2.1.0
 Requires: findutils
 Requires: grep
 Requires: gzip
-Requires: kbd
 Requires: mktemp >= 1.5-5
 Requires: module-init-tools >= 3.7-9
 Requires: sed
-Requires: tar
 Requires: udev
 Requires: util-linux >= 2.20
 
 %if 0%{?fedora} || 0%{?rhel} > 6
-Requires: initscripts >= 8.63-1
-Requires: plymouth >= 0.8.0-0.2009.29.09.19.1
+Conflicts: initscripts < 8.63-1
+Conflicts: plymouth < 0.8.0-0.2009.29.09.19.1
 %endif
 
 %description
@@ -189,24 +98,6 @@ NFS, iSCSI, NBD, FCoE with the dracut-network package.
 %package network
 Summary: Dracut modules to build a dracut initramfs with network support
 Requires: %{name} = %{version}-%{release}
-Requires: rpcbind
-%if %{with_nbd}
-Requires: nbd
-%endif
-Requires: iproute
-Requires: bridge-utils
-
-%if 0%{?fedora} || 0%{?rhel} > 6
-Requires: iscsi-initiator-utils
-Requires: nfs-utils
-Requires: dhclient
-%endif
-
-%if 0%{?suse_version}
-Requires: dhcp-client
-Requires: nfs-client
-Requires: vlan
-%endif
 Obsoletes: dracut-generic < 008
 Provides:  dracut-generic = %{version}-%{release}
 
@@ -232,6 +123,15 @@ This package requires everything which is needed to build an
 all purpose initramfs with dracut, which does an integrity check.
 %endif
 
+%package fips-aesni
+Summary: Dracut modules to build a dracut initramfs with an integrity check with aesni-intel
+Requires: %{name}-fips = %{version}-%{release}
+
+%description fips-aesni
+This package requires everything which is needed to build an
+all purpose initramfs with dracut, which does an integrity check 
+and adds the aesni-intel kernel module.
+
 %package caps
 Summary: Dracut modules to build a dracut initramfs which drops capabilities
 Requires: %{name} = %{version}-%{release}
@@ -250,6 +150,8 @@ This package contains tools to assemble the local initrd and host configuration.
 
 %prep
 %setup -q -n %{name}-%{version}
+
+%if %{defined PATCH1}
 git init
 git config user.email "dracut-maint at redhat.com"
 git config user.name "Fedora dracut team"
@@ -258,6 +160,7 @@ git commit -a -q -m "%{version} baseline."
 
 # Apply all the patches.
 git am -p1 %{patches}
+%endif
 
 %build
 make
@@ -266,17 +169,20 @@ make
 %if 0%{?fedora} || 0%{?rhel} > 6
 rm -rf $RPM_BUILD_ROOT
 %endif
-make install DESTDIR=$RPM_BUILD_ROOT sbindir=/sbin \
+make install DESTDIR=$RPM_BUILD_ROOT \
+     libdir=%{_prefix}/lib \
+     bindir=%{_bindir} \
      sysconfdir=/etc mandir=%{_mandir}
 
-echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/10rpmversion/dracut-version
+echo %{name}-%{version}-%{release} > $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/10rpmversion/dracut-version
 
 %if 0%{?fedora} == 0 && 0%{?rhel} == 0
-rm -fr $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/01fips
+rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/01fips
+rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/02fips-aesni
 %endif
 
 # remove gentoo specific modules
-rm -fr $RPM_BUILD_ROOT/%{_datadir}/dracut/modules.d/50gensplash
+rm -fr $RPM_BUILD_ROOT/%{dracutlibdir}/modules.d/50gensplash
 
 mkdir -p $RPM_BUILD_ROOT/boot/dracut
 mkdir -p $RPM_BUILD_ROOT/var/lib/dracut/overlay
@@ -294,8 +200,8 @@ install -m 0644 dracut.conf.d/suse.conf.example   $RPM_BUILD_ROOT/etc/dracut.con
 %endif
 
 %if 0%{?fedora} <= 12 && 0%{?rhel} < 6 && 0%{?suse_version} <= 9999
-rm $RPM_BUILD_ROOT/sbin/mkinitrd
-rm $RPM_BUILD_ROOT/sbin/lsinitrd
+rm $RPM_BUILD_ROOT%{_bindir}/mkinitrd
+rm $RPM_BUILD_ROOT%{_bindir}/lsinitrd
 %endif
 
 mkdir -p $RPM_BUILD_ROOT/etc/logrotate.d
@@ -307,15 +213,15 @@ rm -rf $RPM_BUILD_ROOT
 %files
 %defattr(-,root,root,0755)
 %doc README HACKING TODO COPYING AUTHORS NEWS dracut.html dracut.png dracut.svg
-/sbin/dracut
+%{_bindir}/dracut
 %if 0%{?fedora} > 12 || 0%{?rhel} >= 6 || 0%{?suse_version} > 9999
-/sbin/mkinitrd
-/sbin/lsinitrd
+%{_bindir}/mkinitrd
+%{_bindir}/lsinitrd
 %endif
-%dir %{_datadir}/dracut
-%dir %{_datadir}/dracut/modules.d
-%{_datadir}/dracut/dracut-functions
-%{_datadir}/dracut/dracut-logger
+%dir %{dracutlibdir}
+%dir %{dracutlibdir}/modules.d
+%{dracutlibdir}/dracut-functions
+%{dracutlibdir}/dracut-logger
 %config(noreplace) /etc/dracut.conf
 %if 0%{?fedora} || 0%{?suse_version} || 0%{?rhel} > 6
 %config /etc/dracut.conf.d/01-dist.conf
@@ -323,80 +229,90 @@ rm -rf $RPM_BUILD_ROOT
 %dir /etc/dracut.conf.d
 %{_mandir}/man8/dracut.8*
 %{_mandir}/man7/dracut.kernel.7*
+%{_mandir}/man7/dracut.cmdline.7*
 %{_mandir}/man5/dracut.conf.5*
-%{_datadir}/dracut/modules.d/00bootchart
-%{_datadir}/dracut/modules.d/00dash
-%{_datadir}/dracut/modules.d/05busybox
-%{_datadir}/dracut/modules.d/10i18n
-%{_datadir}/dracut/modules.d/10rpmversion
-%{_datadir}/dracut/modules.d/50plymouth
-%{_datadir}/dracut/modules.d/60xen
-%{_datadir}/dracut/modules.d/90btrfs
-%{_datadir}/dracut/modules.d/90crypt
-%{_datadir}/dracut/modules.d/90dm
-%{_datadir}/dracut/modules.d/90dmraid
-%{_datadir}/dracut/modules.d/90dmsquash-live
-%{_datadir}/dracut/modules.d/90kernel-modules
-%{_datadir}/dracut/modules.d/90lvm
-%{_datadir}/dracut/modules.d/90mdraid
-%{_datadir}/dracut/modules.d/90multipath
-%{_datadir}/dracut/modules.d/91crypt-gpg
-%{_datadir}/dracut/modules.d/95debug
-%{_datadir}/dracut/modules.d/95resume
-%{_datadir}/dracut/modules.d/95rootfs-block
-%{_datadir}/dracut/modules.d/95dasd
-%{_datadir}/dracut/modules.d/95dasd_mod
-%{_datadir}/dracut/modules.d/95fstab-sys
-%{_datadir}/dracut/modules.d/95zfcp
-%{_datadir}/dracut/modules.d/95terminfo
-%{_datadir}/dracut/modules.d/95udev-rules
-%{_datadir}/dracut/modules.d/96securityfs
-%{_datadir}/dracut/modules.d/97biosdevname
-%{_datadir}/dracut/modules.d/97masterkey
-%{_datadir}/dracut/modules.d/98ecryptfs
-%{_datadir}/dracut/modules.d/98integrity
-%{_datadir}/dracut/modules.d/98selinux
-%{_datadir}/dracut/modules.d/98syslog
-%{_datadir}/dracut/modules.d/99base
-%{_datadir}/dracut/modules.d/99fs-lib
-%{_datadir}/dracut/modules.d/99shutdown
+%{dracutlibdir}/modules.d/00bootchart
+%{dracutlibdir}/modules.d/00dash
+%{dracutlibdir}/modules.d/05busybox
+%{dracutlibdir}/modules.d/10i18n
+%{dracutlibdir}/modules.d/10rpmversion
+%{dracutlibdir}/modules.d/50plymouth
+%{dracutlibdir}/modules.d/90btrfs
+%{dracutlibdir}/modules.d/90crypt
+%{dracutlibdir}/modules.d/90dm
+%{dracutlibdir}/modules.d/90dmraid
+%{dracutlibdir}/modules.d/90dmsquash-live
+%{dracutlibdir}/modules.d/90kernel-modules
+%{dracutlibdir}/modules.d/90lvm
+%{dracutlibdir}/modules.d/90mdraid
+%{dracutlibdir}/modules.d/90multipath
+%{dracutlibdir}/modules.d/91crypt-gpg
+%{dracutlibdir}/modules.d/95debug
+%{dracutlibdir}/modules.d/95resume
+%{dracutlibdir}/modules.d/95rootfs-block
+%{dracutlibdir}/modules.d/95dasd
+%{dracutlibdir}/modules.d/95dasd_mod
+%{dracutlibdir}/modules.d/95fstab-sys
+%{dracutlibdir}/modules.d/95zfcp
+%{dracutlibdir}/modules.d/95terminfo
+%{dracutlibdir}/modules.d/95udev-rules
+%{dracutlibdir}/modules.d/96securityfs
+%{dracutlibdir}/modules.d/97biosdevname
+%{dracutlibdir}/modules.d/97masterkey
+%{dracutlibdir}/modules.d/98ecryptfs
+%{dracutlibdir}/modules.d/98integrity
+%{dracutlibdir}/modules.d/98selinux
+%{dracutlibdir}/modules.d/98syslog
+%{dracutlibdir}/modules.d/98usrmount
+%{dracutlibdir}/modules.d/99base
+%{dracutlibdir}/modules.d/99fs-lib
+%{dracutlibdir}/modules.d/99shutdown
 %config(noreplace) /etc/logrotate.d/dracut_log
 %attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
 %dir %{_sharedstatedir}/initramfs
 
 %files network
 %defattr(-,root,root,0755)
-%{_datadir}/dracut/modules.d/40network
-%{_datadir}/dracut/modules.d/95fcoe
-%{_datadir}/dracut/modules.d/95iscsi
-%{_datadir}/dracut/modules.d/90livenet
-%{_datadir}/dracut/modules.d/95nbd
-%{_datadir}/dracut/modules.d/95nfs
-%{_datadir}/dracut/modules.d/45ifcfg
-%{_datadir}/dracut/modules.d/95znet
+%{dracutlibdir}/modules.d/40network
+%{dracutlibdir}/modules.d/95fcoe
+%{dracutlibdir}/modules.d/95iscsi
+%{dracutlibdir}/modules.d/90livenet
+%{dracutlibdir}/modules.d/95nbd
+%{dracutlibdir}/modules.d/95nfs
+%{dracutlibdir}/modules.d/45ifcfg
+%{dracutlibdir}/modules.d/95znet
 
 %if 0%{?fedora} || 0%{?rhel} > 6
 %files fips
 %defattr(-,root,root,0755)
-%{_datadir}/dracut/modules.d/01fips
+%{dracutlibdir}/modules.d/01fips
 %config(noreplace) /etc/dracut.conf.d/40-fips.conf
 %endif
 
+%files fips-aesni
+%defattr(-,root,root,0755)
+%doc COPYING
+%{dracutlibdir}/modules.d/02fips-aesni
+
 %files caps
 %defattr(-,root,root,0755)
-%{_datadir}/dracut/modules.d/02caps
+%{dracutlibdir}/modules.d/02caps
 
 %files tools
 %defattr(-,root,root,0755)
 %{_mandir}/man8/dracut-gencmdline.8*
 %{_mandir}/man8/dracut-catimages.8*
-/sbin/dracut-gencmdline
-/sbin/dracut-catimages
+%{_bindir}/dracut-gencmdline
+%{_bindir}/dracut-catimages
 %dir /boot/dracut
 %dir /var/lib/dracut
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Thu Dec 15 2011 Harald Hoyer <harald at redhat.com> 014-9.git20111215
+- update to latest git
+- lots of patch changes
+
 * Fri Oct 21 2011 Harald Hoyer <harald at redhat.com> 013-100.git20111021
 - update to latest git
 
diff --git a/sources b/sources
index 38787e2..974a7af 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-9dc9a2799aa8ac2fe8c4844706de2783  dracut-013.tar.bz2
+aa17c17e2af7a19a232e05a59831eab5  dracut-014.tar.bz2


More information about the scm-commits mailing list