[dracut] update to latest git

Harald Hoyer harald at fedoraproject.org
Mon Jan 23 11:28:49 UTC 2012


commit 83ebbb2bc32346339d80e56c5a078fa22add9ccc
Author: Harald Hoyer <harald at redhat.com>
Date:   Mon Jan 23 12:28:44 2012 +0100

    update to latest git

 ...ve-really-changed-dev-live-baseloop-to-ru.patch |   24 +++
 ...dules-module-setup.sh-install-modules.ord.patch |   42 +++++
 ...upper-case-MAC-addresses-in-ifname-option.patch |   42 +++++
 0041-server-id-in-ip-is-not-optional.patch         |   27 +++
 0042-ip-server-id-should-be-server-IP.patch        |   38 ++++
 0043-remove-extra-semicolons-in-dracut.8.xml.patch |   32 ++++
 ...-deal-common-part-of-etc-passwd-in-99base.patch |   42 +++++
 ...dd-job-control-support-to-emergency-shell.patch |  166 +++++++++++++++++
 0046-change-root-home-dir-to-root.patch            |   25 +++
 0047-Add-ssh-client-module-code.patch              |  148 ++++++++++++++++
 0048-ctty-add-help-line-in-usage.patch             |   24 +++
 ...lymouth-add-xz-support-for-kernel-modules.patch |   32 ++++
 0050-add-xz-compression-for-kernel-modules.patch   |  110 ++++++++++++
 ...d-s-option-to-sort-the-initrd-output-by-f.patch |   47 +++++
 0052-dracut-unset-GREP_OPTIONS.patch               |   25 +++
 ...rd-use-xz-with-single-stream-if-available.patch |   38 ++++
 ...rnel-cleanup-not-needed-parts-for-shutdow.patch |   65 +++++++
 0055-network-dhclient-script-set-FQDN.patch        |   42 +++++
 0056-AUTHORS-updated-and-fixed-.mailmap.patch      |   92 ++++++++++
 ...ut.8.xml-added-more-documentation-about-L.patch |  187 ++++++++++++++++++++
 ...t-mount-usr.sh-do-not-mount-usr-read-only.patch |   23 +++
 ...lso-look-in-drivers-s390-net-for-network-.patch |   23 +++
 ...uild-error-after-adding-ssh-client-module.patch |   29 +++
 dracut.spec                                        |   29 +++-
 24 files changed, 1351 insertions(+), 1 deletions(-)
---
diff --git a/0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch b/0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch
new file mode 100644
index 0000000..452502d
--- /dev/null
+++ b/0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch
@@ -0,0 +1,24 @@
+From 027dbc9f85f2e55af283d6714b0b1fed478900dd Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 20 Jan 2012 12:02:15 +0100
+Subject: [PATCH] dmsquash-live: really changed /dev/live-baseloop to
+ /run/initramfs/
+
+Forgot to amend my change to ce32e32f2a8288de15968c22f57fff306fa81753
+---
+ modules.d/90dmsquash-live/dmsquash-live-root |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/modules.d/90dmsquash-live/dmsquash-live-root b/modules.d/90dmsquash-live/dmsquash-live-root
+index cb104e4..d9fcc43 100755
+--- a/modules.d/90dmsquash-live/dmsquash-live-root
++++ b/modules.d/90dmsquash-live/dmsquash-live-root
+@@ -201,7 +201,7 @@ if [ -n "$ROOTFLAGS" ]; then
+ fi
+ 
+ if [ -b "$BASE_LOOPDEV" ]; then
+-    ln -s $BASE_LOOPDEV /dev/live-baseloop
++    ln -s $BASE_LOOPDEV /run/initramfs/live-baseloop
+ fi
+ ln -s /dev/mapper/live-rw /dev/root
+ printf '/bin/mount %s /dev/mapper/live-rw %s\n' "$ROOTFLAGS" "$NEWROOT" > $hookdir/mount/01-$$-live.sh
diff --git a/0039-90kernel-modules-module-setup.sh-install-modules.ord.patch b/0039-90kernel-modules-module-setup.sh-install-modules.ord.patch
new file mode 100644
index 0000000..e04d904
--- /dev/null
+++ b/0039-90kernel-modules-module-setup.sh-install-modules.ord.patch
@@ -0,0 +1,42 @@
+From 2e7b6616814a3706f0c15bc20c7c8303463bcba0 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Fri, 20 Jan 2012 12:06:41 +0100
+Subject: [PATCH] 90kernel-modules/module-setup.sh: install modules.order
+
+Also install modules.order and all modules.builtin*
+---
+ modules.d/90kernel-modules/module-setup.sh |   11 ++++++-----
+ 1 files changed, 6 insertions(+), 5 deletions(-)
+
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 257b3bc..7888428 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -68,7 +68,7 @@ installkernel() {
+ }
+ 
+ install() {
+-    local _f
++    local _f i
+     [ -f /etc/modprobe.conf ] && dracut_install /etc/modprobe.conf
+     for i in $(find -L /etc/modprobe.d/ -maxdepth 1 -type f -name '*.conf'); do
+         inst_simple "$i"
+@@ -76,13 +76,14 @@ install() {
+     inst_hook cmdline 01 "$moddir/parse-kernel.sh"
+     inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh
+ 
+-    local f
+-
+     for _f in modules.builtin.bin modules.builtin; do
+-        [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f" \
+-            && break
++        [[ $srcmods/$_f ]] && break
+     done || {
+         dfatal "No modules.builtin.bin and modules.builtin found!"
+         return 1
+     }
++
++    for _f in modules.builtin.bin modules.builtin modules.order; do
++        [[ $srcmods/$_f ]] && inst_simple "$srcmods/$_f" "/lib/modules/$kernel/$_f"
++    done
+ }
diff --git a/0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch b/0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch
new file mode 100644
index 0000000..9283980
--- /dev/null
+++ b/0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch
@@ -0,0 +1,42 @@
+From acfab3733f406a5b052941ffacc70511e9723106 Mon Sep 17 00:00:00 2001
+From: Anton Blanchard <anton at samba.org>
+Date: Tue, 27 Dec 2011 09:08:27 +1100
+Subject: [PATCH] Handle upper case MAC addresses in ifname option
+
+While the documentation states that ifname MAC addresses must be
+lower case, we silently accept upper case ones and fail later on
+when udev doesn't rename the device.
+
+Instead of adding sanity checking on the MAC address just convert
+it to lower case and remove the requirement completely.
+---
+ dracut.cmdline.7.xml                |    1 -
+ modules.d/40network/parse-ifname.sh |    3 ++-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml
+index 8a49056..9357e25 100644
+--- a/dracut.cmdline.7.xml
++++ b/dracut.cmdline.7.xml
+@@ -464,7 +464,6 @@ This parameter can be specified multiple times.</para>
+           <term><envar>ifname=</envar><replaceable>&lt;interface&gt;</replaceable>:<replaceable>&lt;MAC&gt;</replaceable></term>
+           <listitem>
+             <para>Assign network device name &lt;interface&gt; (ie eth0) to the NIC with MAC &lt;MAC&gt;.
+-Note letters in the MAC-address must be lowercase!
+ <remark>Note: If you use this option you <emphasis remap="B">must</emphasis> specify an ifname= argument for all interfaces used in ip= or fcoe= arguments.</remark>
+ This parameter can be specified multiple times.</para>
+           </listitem>
+diff --git a/modules.d/40network/parse-ifname.sh b/modules.d/40network/parse-ifname.sh
+index 4c3c70e..26e6084 100755
+--- a/modules.d/40network/parse-ifname.sh
++++ b/modules.d/40network/parse-ifname.sh
+@@ -25,7 +25,8 @@ parse_ifname_opts() {
+     case $# in
+         7)
+             ifname_if=$1
+-            ifname_mac=$2:$3:$4:$5:$6:$7
++            # udev requires MAC addresses to be lower case
++            ifname_mac=`echo $2:$3:$4:$5:$6:$7 | tr '[:upper:]' '[:lower:]'`
+             ;;
+         *)
+             die "Invalid arguments for ifname="
diff --git a/0041-server-id-in-ip-is-not-optional.patch b/0041-server-id-in-ip-is-not-optional.patch
new file mode 100644
index 0000000..0fac5e5
--- /dev/null
+++ b/0041-server-id-in-ip-is-not-optional.patch
@@ -0,0 +1,27 @@
+From b3d838e5d0f763beb9bb8b6ed6a28ad00eee9ff2 Mon Sep 17 00:00:00 2001
+From: Anton Blanchard <anton at samba.org>
+Date: Tue, 27 Dec 2011 09:08:28 +1100
+Subject: [PATCH] server-id in ip= is not optional
+
+The documentation suggests that server-id is an optional argument
+but ip_to_var fails if it is not specified. Fix the documentation.
+---
+ dracut.cmdline.7.xml |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml
+index 9357e25..87fb4ad 100644
+--- a/dracut.cmdline.7.xml
++++ b/dracut.cmdline.7.xml
+@@ -452,9 +452,9 @@ with a valid DHCP root-path.</para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+-          <term><envar>ip=</envar><replaceable>&lt;client-IP&gt;</replaceable>:<optional>
++          <term><envar>ip=</envar><replaceable>&lt;client-IP&gt;</replaceable>:
+               <replaceable>&lt;server-id&gt;</replaceable>
+-            </optional>:<replaceable>&lt;gateway-IP&gt;</replaceable>:<replaceable>&lt;netmask&gt;</replaceable>:<replaceable>&lt;client_hostname&gt;</replaceable>:<replaceable>&lt;interface&gt;</replaceable>:<replaceable>{none|off}</replaceable></term>
++            :<replaceable>&lt;gateway-IP&gt;</replaceable>:<replaceable>&lt;netmask&gt;</replaceable>:<replaceable>&lt;client_hostname&gt;</replaceable>:<replaceable>&lt;interface&gt;</replaceable>:<replaceable>{none|off}</replaceable></term>
+           <listitem>
+             <para>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.</para>
diff --git a/0042-ip-server-id-should-be-server-IP.patch b/0042-ip-server-id-should-be-server-IP.patch
new file mode 100644
index 0000000..cb68f87
--- /dev/null
+++ b/0042-ip-server-id-should-be-server-IP.patch
@@ -0,0 +1,38 @@
+From e7cbf8fd30ec39736b4f19fa2e68eba9776b8a80 Mon Sep 17 00:00:00 2001
+From: Anton Blanchard <anton at samba.org>
+Date: Tue, 27 Dec 2011 09:08:29 +1100
+Subject: [PATCH] ip= server-id should be server-IP
+
+ From looking at the code it seems like server-id should really
+be named server-IP.
+---
+ dracut.cmdline.7.xml                 |    2 +-
+ modules.d/40network/parse-ip-opts.sh |    2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml
+index 87fb4ad..74e617c 100644
+--- a/dracut.cmdline.7.xml
++++ b/dracut.cmdline.7.xml
+@@ -453,7 +453,7 @@ with a valid DHCP root-path.</para>
+         </varlistentry>
+         <varlistentry>
+           <term><envar>ip=</envar><replaceable>&lt;client-IP&gt;</replaceable>:
+-              <replaceable>&lt;server-id&gt;</replaceable>
++              <replaceable>&lt;server-IP&gt;</replaceable>
+             :<replaceable>&lt;gateway-IP&gt;</replaceable>:<replaceable>&lt;netmask&gt;</replaceable>:<replaceable>&lt;client_hostname&gt;</replaceable>:<replaceable>&lt;interface&gt;</replaceable>:<replaceable>{none|off}</replaceable></term>
+           <listitem>
+             <para>explicit network configuration. If you want do define a IPv6 address, put it in brackets (e.g. [2001:DB8::1]).
+diff --git a/modules.d/40network/parse-ip-opts.sh b/modules.d/40network/parse-ip-opts.sh
+index 3e83ee3..77dbaf0 100755
+--- a/modules.d/40network/parse-ip-opts.sh
++++ b/modules.d/40network/parse-ip-opts.sh
+@@ -7,7 +7,7 @@
+ #
+ #       ip=<interface>:[dhcp|on|any]
+ #
+-#       ip=<client-IP-number>:<server-id>:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:[dhcp|on|any|none|off]
++#       ip=<client-IP-number>:<server-IP-number>:<gateway-IP-number>:<netmask>:<client-hostname>:<interface>:[dhcp|on|any|none|off]
+ #
+ # When supplying more than only ip= line, <interface> is mandatory and
+ # bootdev= must contain the name of the primary interface to use for
diff --git a/0043-remove-extra-semicolons-in-dracut.8.xml.patch b/0043-remove-extra-semicolons-in-dracut.8.xml.patch
new file mode 100644
index 0000000..0bc79a8
--- /dev/null
+++ b/0043-remove-extra-semicolons-in-dracut.8.xml.patch
@@ -0,0 +1,32 @@
+From 8e1ffb1859a08da46816cbf9f4676569ba5d49b9 Mon Sep 17 00:00:00 2001
+From: Cong Wang <xiyou.wangcong at gmail.com>
+Date: Tue, 10 Jan 2012 22:49:03 +0800
+Subject: [PATCH] remove extra semicolons in dracut.8.xml
+
+Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
+---
+ dracut.8.xml |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/dracut.8.xml b/dracut.8.xml
+index ba8ab07..221ad2e 100644
+--- a/dracut.8.xml
++++ b/dracut.8.xml
+@@ -398,7 +398,7 @@ the local host instead of a generic host.
+         </varlistentry>
+ 	<varlistentry>
+ 	  <term>
+-	    <option>--add_fstab;&nbsp;<replaceable>&lt;filename&gt;</replaceable>&nbsp;</option>
++	    <option>--add_fstab&nbsp;<replaceable>&lt;filename&gt;</replaceable>&nbsp;</option>
+ 	  </term>
+ 	  <listitem>
+ 	    <para>Add entries of <replaceable>&lt;filename&gt;</replaceable> to the initramfs /etc/fstab.</para>
+@@ -406,7 +406,7 @@ the local host instead of a generic host.
+ 	  </varlistentry>
+ 	<varlistentry>
+ 	  <term>
+-	    <option>--mount;&nbsp;&quot;<replaceable>&lt;device&gt;</replaceable> <replaceable>&lt;mountpoint&gt;</replaceable> <replaceable>&lt;filesystem type&gt;</replaceable> <replaceable>&lt;filesystem options&gt;</replaceable>&quot;</option>
++	    <option>--mount&nbsp;&quot;<replaceable>&lt;device&gt;</replaceable> <replaceable>&lt;mountpoint&gt;</replaceable> <replaceable>&lt;filesystem type&gt;</replaceable> <replaceable>&lt;filesystem options&gt;</replaceable>&quot;</option>
+ 	  </term>
+ 	  <listitem>
+ 	    <para>Add entries of <replaceable>&lt;filename&gt;</replaceable> to the initramfs /etc/fstab.</para>
diff --git a/0044-deal-common-part-of-etc-passwd-in-99base.patch b/0044-deal-common-part-of-etc-passwd-in-99base.patch
new file mode 100644
index 0000000..382a895
--- /dev/null
+++ b/0044-deal-common-part-of-etc-passwd-in-99base.patch
@@ -0,0 +1,42 @@
+From 59ee80764e08e8614c610d18b572427f8eefaa86 Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung at redhat.com>
+Date: Mon, 26 Dec 2011 14:29:11 +0800
+Subject: [PATCH] deal common part of etc passwd in 99base
+
+ssh module will need root user in /etc/passwd, so add root and nobody
+to /etc/passwd in 99base instead of nfs module
+
+Signed-off-by: Dave Young <dyoung at redhat.com>
+---
+ modules.d/95nfs/module-setup.sh  |    2 --
+ modules.d/99base/module-setup.sh |    4 ++++
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
+index 6778f28..3ccdafc 100755
+--- a/modules.d/95nfs/module-setup.sh
++++ b/modules.d/95nfs/module-setup.sh
+@@ -65,8 +65,6 @@ install() {
+ 
+     # Rather than copy the passwd file in, just set a user for rpcbind
+     # We'll save the state and restart the daemon from the root anyway
+-    egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo  'root:x:0:0::/:/bin/sh' >> "$initdir/etc/passwd"
+-    egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd"
+     egrep '^nfsnobody:' /etc/passwd >> "$initdir/etc/passwd"
+     egrep '^rpc:' /etc/passwd >> "$initdir/etc/passwd"
+     egrep '^rpcuser:' /etc/passwd >> "$initdir/etc/passwd"
+diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
+index 5297a9d..f6c1209 100755
+--- a/modules.d/99base/module-setup.sh
++++ b/modules.d/99base/module-setup.sh
+@@ -20,6 +20,10 @@ install() {
+         dracut_install bash
+         (ln -s bash "${initdir}/bin/sh" || :)
+     fi
++
++    #add common users in /etc/passwd, it will be used by nfs/ssh currently
++    egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo  'root:x:0:0::/:/bin/sh' >> "$initdir/etc/passwd"
++    egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd"
+     # install our scripts and hooks
+     inst "$moddir/init" "/init"
+     inst "$moddir/initqueue" "/sbin/initqueue"
diff --git a/0045-Add-job-control-support-to-emergency-shell.patch b/0045-Add-job-control-support-to-emergency-shell.patch
new file mode 100644
index 0000000..d91c1b6
--- /dev/null
+++ b/0045-Add-job-control-support-to-emergency-shell.patch
@@ -0,0 +1,166 @@
+From 4401925c822e2f7e927bad4c16e4a08ac6a18d9a Mon Sep 17 00:00:00 2001
+From: Michal Soltys <soltys at ziu.info>
+Date: Mon, 26 Dec 2011 14:29:15 +0800
+Subject: [PATCH] Add job control support to emergency shell
+
+Option --ctty will optionally add setsid binary to dracut's image.
+
+During runtime, if rd.ctty is set and is a character device,
+emergency shells will be spawned with job control.
+
+in case no ctty was provided, shell was spawned without caring about
+/dev/console. Also, the ctty is more opportunistic. If the image was
+generated with --ctty, we will fallback to /dev/tty1 if rc.ctty is
+invalid or missing. Otherwise we spawn standard shell on /dev/console
+
+[dyoung at redhat.com: Rebased to usrmove branch]
+
+Signed-off-by: Michal Soltys <soltys at ziu.info>
+Signed-off-by: Dave Young <dyoung at redhat.com>
+---
+ dracut                           |    3 ++-
+ dracut.8.xml                     |    9 +++++++++
+ dracut.cmdline.7.xml             |   14 ++++++++++++++
+ modules.d/99base/init            |   12 ++++++++++--
+ modules.d/99base/module-setup.sh |    1 +
+ modules.d/99shutdown/shutdown    |   12 ++++++++++--
+ 6 files changed, 46 insertions(+), 5 deletions(-)
+
+diff --git a/dracut b/dracut
+index 8c24e7b..3c21561 100755
+--- a/dracut
++++ b/dracut
+@@ -232,6 +232,7 @@ while (($# > 0)); do
+         --nolvmconf)   lvmconf_l="no";;
+         --debug)       debug="yes";;
+         --profile)     profile="yes";;
++        --ctty)        cttyhack="yes";;
+         -v|--verbose)  ((verbosity_mod_l++));;
+         -q|--quiet)    ((verbosity_mod_l--));;
+         -l|--local)    allowlocal="yes" ;;
+@@ -585,7 +586,7 @@ done
+ 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 \
++    use_fstab libdir usrlibdir fscks nofscks cttyhack \
+     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
+     debug host_fs_types host_devs
+ 
+diff --git a/dracut.8.xml b/dracut.8.xml
+index 221ad2e..955d4d2 100644
+--- a/dracut.8.xml
++++ b/dracut.8.xml
+@@ -297,6 +297,15 @@ include in the generic initramfs. This parameter can be specified multiple times
+         </varlistentry>
+         <varlistentry>
+           <term>
++            <option>--ctty</option>
++          </term>
++          <listitem>
++            <para>if possible, try to spawn an emergency shell on a terminal
++              with job control</para>
++          </listitem>
++        </varlistentry>
++        <varlistentry>
++          <term>
+             <option>-h</option>
+           </term>
+           <term>
+diff --git a/dracut.cmdline.7.xml b/dracut.cmdline.7.xml
+index 74e617c..0fa4762 100644
+--- a/dracut.cmdline.7.xml
++++ b/dracut.cmdline.7.xml
+@@ -109,6 +109,20 @@ This parameter can be specified multiple times.</para>
+ 	    <para>force loading kernel module &lt;drivername&gt; after all automatic loading modules have been loaded. This parameter can be specified multiple times.</para>
+           </listitem>
+         </varlistentry>
++        <varlistentry>
++          <term>
++            <envar>rd.ctty=<replaceable>&lt;terminal&gt;</replaceable></envar>
++          </term>
++          <listitem>
++            <para>
++              if the dracut image was generated with --ctty option, try to
++              spawn an emergency shell on the specified terminal; if
++              <envar>rd.ctty</envar> is specified without a value or not
++              provided at all, the default is /dev/tty1. The '/dev' prefix
++              can be omitted.
++            </para>
++          </listitem>
++        </varlistentry>
+       </variablelist>
+     </refsect2>
+     <refsect2 id="dracut-kernel-debug">
+diff --git a/modules.d/99base/init b/modules.d/99base/init
+index 1e54449..33a7379 100755
+--- a/modules.d/99base/init
++++ b/modules.d/99base/init
+@@ -40,6 +40,7 @@ wait_for_loginit()
+ 
+ emergency_shell()
+ {
++    local _ctty
+     set +e
+     if [ "$1" = "-n" ]; then
+         _rdshell_name=$2
+@@ -57,8 +58,15 @@ emergency_shell()
+         echo "Dropping to debug shell."
+         echo
+         export PS1="$_rdshell_name:\${PWD}# "
+-        [ -e /.profile ] || echo "exec 0<>/dev/console 1<>/dev/console 2<>/dev/console" > /.profile
+-        sh -i -l
++        [ -e /.profile ] || >/.profile
++        _ctty=/dev/console
++        if type setsid >/dev/null 2>&1; then
++            _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
++            [ -c "$_ctty" ] || _ctty=/dev/tty1
++            setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1
++        else
++            sh -i -l 0<$_ctty 1>$_ctty 2>&1
++        fi
+     else
+         warn "Boot has failed. To debug this issue add \"rdshell\" to the kernel command line."
+         # cause a kernel panic
+diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
+index f6c1209..03058b1 100755
+--- a/modules.d/99base/module-setup.sh
++++ b/modules.d/99base/module-setup.sh
+@@ -16,6 +16,7 @@ install() {
+     dracut_install mount mknod mkdir modprobe pidof sleep chroot \
+         sed ls flock cp mv dmesg rm ln rmmod mkfifo umount readlink
+     dracut_install -o less
++    [[ $cttyhack = yes ]] && dracut_install -o setsid
+     if [ ! -e "${initdir}/bin/sh" ]; then
+         dracut_install bash
+         (ln -s bash "${initdir}/bin/sh" || :)
+diff --git a/modules.d/99shutdown/shutdown b/modules.d/99shutdown/shutdown
+index a31a95d..21bb37f 100755
+--- a/modules.d/99shutdown/shutdown
++++ b/modules.d/99shutdown/shutdown
+@@ -13,6 +13,7 @@ export TERM=linux
+ 
+ emergency_shell()
+ {
++    local _ctty
+     set +e
+     if [ "$1" = "-n" ]; then
+         _rdshell_name=$2
+@@ -29,8 +30,15 @@ emergency_shell()
+         echo "Dropping to debug shell."
+         echo
+         export PS1="$_rdshell_name:\${PWD}# "
+-        [ -e /.profile ] || echo "exec 0<>/dev/console 1<>/dev/console 2<>/dev/console" > /.profile
+-        sh -i -l
++        [ -e /.profile ] || >/.profile
++        _ctty=/dev/console
++        if type setsid >/dev/null 2>&1; then
++            _ctty="$(getarg rd.ctty=)" && _ctty="/dev/${_ctty##*/}"
++            [ -c "$_ctty" ] || _ctty=/dev/tty1
++            setsid sh -i -l 0<$_ctty 1>$_ctty 2>&1
++        else
++            sh -i -l 0<$_ctty 1>$_ctty 2>&1
++        fi
+     else
+         exec /lib/systemd/systemd-shutdown "$@"
+         warn "Shutdown has failed. To debug this issue add \"rdshell\" to the kernel command line."
diff --git a/0046-change-root-home-dir-to-root.patch b/0046-change-root-home-dir-to-root.patch
new file mode 100644
index 0000000..407b631
--- /dev/null
+++ b/0046-change-root-home-dir-to-root.patch
@@ -0,0 +1,25 @@
+From 85bb744dfeb4f86979609b24323fec5181a1b98c Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung at redhat.com>
+Date: Mon, 26 Dec 2011 14:29:18 +0800
+Subject: [PATCH] change root home dir to /root
+
+ssh need to read knownhosts from home directory, so change root home to /root
+
+Signed-off-by: Dave Young <dyoung at redhat.com>
+---
+ modules.d/99base/module-setup.sh |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/modules.d/99base/module-setup.sh b/modules.d/99base/module-setup.sh
+index 03058b1..fad6c50 100755
+--- a/modules.d/99base/module-setup.sh
++++ b/modules.d/99base/module-setup.sh
+@@ -23,7 +23,7 @@ install() {
+     fi
+ 
+     #add common users in /etc/passwd, it will be used by nfs/ssh currently
+-    egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo  'root:x:0:0::/:/bin/sh' >> "$initdir/etc/passwd"
++    egrep '^root:' "$initdir/etc/passwd" 2>/dev/null || echo  'root:x:0:0::/root:/bin/sh' >> "$initdir/etc/passwd"
+     egrep '^nobody:' /etc/passwd >> "$initdir/etc/passwd"
+     # install our scripts and hooks
+     inst "$moddir/init" "/init"
diff --git a/0047-Add-ssh-client-module-code.patch b/0047-Add-ssh-client-module-code.patch
new file mode 100644
index 0000000..55268bf
--- /dev/null
+++ b/0047-Add-ssh-client-module-code.patch
@@ -0,0 +1,148 @@
+From cdfeb278ab4d4b6a9d848e1b9accc3554e4ac6eb Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung at redhat.com>
+Date: Mon, 26 Dec 2011 14:29:21 +0800
+Subject: [PATCH] Add ssh client module code
+
+Add ssh client module which support ssh key mode and interactive mode.
+with --sshkey option you can provide the ssh key to be installed
+
+>why not call it "ssh" module?
+ssh-client is better, maybe future there will be ssh-server come in.
+In debian these are also two different packages.
+
+Usage:
+1. sshkey mode:
+transfer your public key to remote machine with ssh-copy-id or do it mannaully
+example of options:
+./dracut -l -H -a ssh-client --sshkey /root/.ssh/id_rsa i.img
+2. interactive mode:
+need use --ctty option, ie.:
+./dracut -l -H -a ssh-client --ctty i.img
+
+[v2 changes]:
+per wangcong: add patch description about module name
+add help line in usage()
+remove useless comment
+
+Signed-off-by: Dave Young <dyoung at redhat.com>
+---
+ dracut                                 |    4 ++-
+ dracut.8.xml                           |    8 ++++
+ modules.d/95ssh-client/module-setup.sh |   60 ++++++++++++++++++++++++++++++++
+ 3 files changed, 71 insertions(+), 1 deletions(-)
+ create mode 100644 modules.d/95ssh-client/module-setup.sh
+
+diff --git a/dracut b/dracut
+index 3c21561..d0c335b 100755
+--- a/dracut
++++ b/dracut
+@@ -118,6 +118,7 @@ Creates initial ramdisk images for preloading modules
+   -M, --show-modules    Print included module's name to standard output during
+                          build.
+   --keep                Keep the temporary initramfs for debugging purposes
++  --sshkey [SSHKEY]     Add ssh key to initramfs (use with ssh-client module)
+ EOF
+ }
+ 
+@@ -233,6 +234,7 @@ while (($# > 0)); do
+         --debug)       debug="yes";;
+         --profile)     profile="yes";;
+         --ctty)        cttyhack="yes";;
++        --sshkey)      read_arg sshkey   "$@" || shift;;
+         -v|--verbose)  ((verbosity_mod_l++));;
+         -q|--quiet)    ((verbosity_mod_l--));;
+         -l|--local)    allowlocal="yes" ;;
+@@ -588,7 +590,7 @@ export initdir dracutbasedir dracutmodules drivers \
+     add_drivers mdadmconf lvmconf filesystems \
+     use_fstab libdir usrlibdir fscks nofscks cttyhack \
+     stdloglvl sysloglvl fileloglvl kmsgloglvl logfile \
+-    debug host_fs_types host_devs
++    debug host_fs_types host_devs sshkey
+ 
+ # Create some directory structure first
+ [[ $prefix ]] && mkdir -m 0755 -p "${initdir}${prefix}"
+diff --git a/dracut.8.xml b/dracut.8.xml
+index 955d4d2..5a5df54 100644
+--- a/dracut.8.xml
++++ b/dracut.8.xml
+@@ -370,6 +370,14 @@ Default:
+         </varlistentry>
+         <varlistentry>
+           <term>
++            <option>--sshkey&nbsp;<replaceable>&lt;sshkey file&gt;</replaceable></option>
++          </term>
++          <listitem>
++            <para>ssh key file used with ssh-client module.</para>
++          </listitem>
++        </varlistentry>
++        <varlistentry>
++          <term>
+             <option>-l</option>
+           </term>
+           <term>
+diff --git a/modules.d/95ssh-client/module-setup.sh b/modules.d/95ssh-client/module-setup.sh
+new file mode 100644
+index 0000000..0ffc298
+--- /dev/null
++++ b/modules.d/95ssh-client/module-setup.sh
+@@ -0,0 +1,60 @@
++#!/bin/bash
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++# fixme: assume user is root
++
++check() {
++    # If our prerequisites are not met, fail.
++    type -P ssh >/dev/null || return 1
++    type -P scp >/dev/null || return 1
++    if [[ $sshkey ]]; then
++        [ ! -f $sshkey ] && {
++            derror "sshkey is not found!"
++            return 1
++        }
++        [[ ! $cttyhack = yes ]] && {
++            dinfo "--ctty is not used, you should make sure the machine is knowhost and copy the sshkey to remote machine!"
++        }
++    else
++        [[ ! $cttyhack = yes ]] && {
++            derror "ssh interactive mode need option --ctty!"
++            return 1
++        }
++    fi
++
++    return 0
++}
++
++depends() {
++    # We depend on network modules being loaded
++    echo network
++}
++
++inst_sshenv()
++{
++    if [ -d /root/.ssh ]; then
++        inst_dir /root/.ssh
++        chmod 700 ${initdir}/root/.ssh
++    fi
++
++    # Copy over ssh key and knowhosts if needed
++    [[ $sshkey ]] && {
++        inst $sshkey
++        [[ -f /root/.ssh/known_hosts ]] && inst /root/.ssh/known_hosts
++        [[ -f /etc/ssh/ssh_known_hosts ]] && inst /etc/ssh/ssh_known_hosts
++    }
++
++    # Copy over root and system-wide ssh configs.
++    [[ -f /root/.ssh/config ]] && inst /root/.ssh/config
++    [[ -f /etc/ssh/ssh_config ]] && inst /etc/ssh/ssh_config
++
++    return 0
++}
++
++install() {
++    inst ssh
++    inst scp
++    inst_sshenv
++}
++
diff --git a/0048-ctty-add-help-line-in-usage.patch b/0048-ctty-add-help-line-in-usage.patch
new file mode 100644
index 0000000..dbf4328
--- /dev/null
+++ b/0048-ctty-add-help-line-in-usage.patch
@@ -0,0 +1,24 @@
+From b93aaba84f8cfaaf7f8e07fc23935c80d9e87e20 Mon Sep 17 00:00:00 2001
+From: Dave Young <dyoung at redhat.com>
+Date: Mon, 26 Dec 2011 14:42:18 +0800
+Subject: [PATCH] --ctty: add help line in usage
+
+Adding missed help line in usage
+
+Signed-off-by: Dave Young <dyoung at redhat.com>
+---
+ dracut |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/dracut b/dracut
+index d0c335b..fbf0f74 100755
+--- a/dracut
++++ b/dracut
+@@ -119,6 +119,7 @@ Creates initial ramdisk images for preloading modules
+                          build.
+   --keep                Keep the temporary initramfs for debugging purposes
+   --sshkey [SSHKEY]     Add ssh key to initramfs (use with ssh-client module)
++  --ctty                Add control tty for emergency shells
+ EOF
+ }
+ 
diff --git a/0049-plymouth-add-xz-support-for-kernel-modules.patch b/0049-plymouth-add-xz-support-for-kernel-modules.patch
new file mode 100644
index 0000000..09ff42c
--- /dev/null
+++ b/0049-plymouth-add-xz-support-for-kernel-modules.patch
@@ -0,0 +1,32 @@
+From e38fcc86086d62dfdcd776728b77d7d7acb20b80 Mon Sep 17 00:00:00 2001
+From: James Buren <ryuo at frugalware.org>
+Date: Sun, 22 Jan 2012 12:56:24 -0600
+Subject: [PATCH] plymouth: add xz support for kernel modules
+
+This rewrites a portion of the module to support xz, as well as allow
+an easier expansion should future compression methods for kernel
+modules ever materialize.
+---
+ modules.d/50plymouth/module-setup.sh |    9 +++++++--
+ 1 files changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
+index eedc842..b78c718 100755
+--- a/modules.d/50plymouth/module-setup.sh
++++ b/modules.d/50plymouth/module-setup.sh
+@@ -14,8 +14,13 @@ depends() {
+ installkernel() {
+     local _modname
+     # Include KMS capable drm drivers
+-    for _modname in $(find "$srcmods/kernel/drivers/gpu/drm" "$srcmods/extra" \( -name '*.ko' -o -name '*.ko.gz' \) 2>/dev/null); do
+-        if zgrep -q drm_crtc_init  $_modname; then
++    for _modname in $(find "$srcmods/kernel/drivers/gpu/drm" "$srcmods/extra" \( -name '*.ko' -o -name '*.ko.gz' -o -name '*.ko.xz' \) 2>/dev/null); do
++        case $_modname in
++            *.ko)      grep -q drm_crtc_init $_modname ;;
++            *.ko.gz)  zgrep -q drm_crtc_init $_modname ;;
++            *.ko.xz) xzgrep -q drm_crtc_init $_modname ;;
++        esac
++        if test $? -eq 0; then
+             # if the hardware is present, include module even if it is not currently loaded,
+             # as we could e.g. be in the installer; nokmsboot boot parameter will disable
+             # loading of the driver if needed
diff --git a/0050-add-xz-compression-for-kernel-modules.patch b/0050-add-xz-compression-for-kernel-modules.patch
new file mode 100644
index 0000000..191e34b
--- /dev/null
+++ b/0050-add-xz-compression-for-kernel-modules.patch
@@ -0,0 +1,110 @@
+From 7fffc9f11f836d6e19414f0c0f23e7e8fb4f17c4 Mon Sep 17 00:00:00 2001
+From: James Buren <ryuo at frugalware.org>
+Date: Sun, 22 Jan 2012 13:02:47 -0600
+Subject: [PATCH] add xz compression for kernel modules
+
+---
+ dracut-functions                           |   11 ++++++++---
+ modules.d/40network/module-setup.sh        |    1 +
+ modules.d/90kernel-modules/module-setup.sh |    1 +
+ modules.d/90multipath/module-setup.sh      |    1 +
+ modules.d/95iscsi/module-setup.sh          |    1 +
+ 5 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/dracut-functions b/dracut-functions
+index a9b15cc..3852478 100755
+--- a/dracut-functions
++++ b/dracut-functions
+@@ -364,7 +364,7 @@ inst_simple() {
+         inst "${_src%/*}/.${_src##*/}.hmac" "${target%/*}/.${target##*/}.hmac"
+     fi
+     ddebug "Installing $_src"
+-    cp --sparse=always -pfL "$_src" "${initdir}/$target" 
++    cp --sparse=always -pfL "$_src" "${initdir}/$target"
+ }
+ 
+ # find symlinks linked to given library file
+@@ -508,7 +508,7 @@ inst_symlink() {
+     if [[ -d $_realsrc ]]; then
+         inst_dir "$_realsrc"
+     else
+-        inst "$_realsrc" && mkdir -m 0755 -p "${_target%/*}" 
++        inst "$_realsrc" && mkdir -m 0755 -p "${_target%/*}"
+     fi
+     if [[ -e "${_src}" ]]; then
+         ln -sfn $(convert_abs_rel "${_src}" "${_realsrc}") "$_target"
+@@ -984,6 +984,7 @@ filter_kernel_modules_by_path () (
+     if ! [[ $hostonly ]]; then
+         _filtercmd='find "$srcmods/kernel/$1" "$srcmods/extra"'
+         _filtercmd+=' "$srcmods/weak-updates" -name "*.ko" -o -name "*.ko.gz"'
++        _filtercmd+=' -o -name "*.ko.xz"'
+         _filtercmd+=' 2>/dev/null'
+     else
+         _filtercmd='cut -d " " -f 1 </proc/modules|xargs modinfo -F filename '
+@@ -996,13 +997,17 @@ filter_kernel_modules_by_path () (
+                 $2 $initdir/$$.ko && echo "$_modname"
+                 rm -f $initdir/$$.ko
+                 ;;
++            *.ko.xz) xz -dc "$_modname" > $initdir/$$.ko
++                $2 $initdir/$$.ko && echo "$_modname"
++                rm -f $initdir/$$.ko
++                ;;
+         esac
+     done
+ )
+ find_kernel_modules_by_path () (
+     if ! [[ $hostonly ]]; then
+         find "$srcmods/kernel/$1" "$srcmods/extra" "$srcmods/weak-updates" \
+-          -name "*.ko" -o -name "*.ko.gz" 2>/dev/null
++          -name "*.ko" -o -name "*.ko.gz" -o -name "*.ko.xz" 2>/dev/null
+     else
+         cut -d " " -f 1 </proc/modules \
+         | xargs modinfo -F filename -k $kernel 2>/dev/null
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index fbf6f34..6c4ae92 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -36,6 +36,7 @@ installkernel() {
+                 case "$_fname" in
+                     *.ko)    _fcont="$(<        $_fname)" ;;
+                     *.ko.gz) _fcont="$(gzip -dc $_fname)" ;;
++                    *.ko.xz) _fcont="$(xz -dc   $_fname)" ;;
+                 esac
+                 [[   $_fcont =~ $_net_drivers
+                 && ! $_fcont =~ iw_handler_get_spy ]] \
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 7888428..46d8591 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -13,6 +13,7 @@ installkernel() {
+                 while read _f; do case "$_f" in
+                     *.ko)    [[ $(<         $_f) =~ $_blockfuncs ]] && echo "$_f" ;;
+                     *.ko.gz) [[ $(gzip -dc <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
++                    *.ko.xz) [[ $(xz -dc   <$_f) =~ $_blockfuncs ]] && echo "$_f" ;;
+                     esac
+                 done
+             }
+diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
+index 43f0a3d..1502f59 100755
+--- a/modules.d/90multipath/module-setup.sh
++++ b/modules.d/90multipath/module-setup.sh
+@@ -40,6 +40,7 @@ installkernel() {
+         while read _f; do case "$_f" in
+             *.ko)    [[ $(<         $_f) =~ $_mpfuncs ]] && echo "$_f" ;;
+             *.ko.gz) [[ $(gzip -dc <$_f) =~ $_mpfuncs ]] && echo "$_f" ;;
++            *.ko.xz) [[ $(xz -dc   <$_f) =~ $_mpfuncs ]] && echo "$_f" ;;
+             esac
+         done
+     }
+diff --git a/modules.d/95iscsi/module-setup.sh b/modules.d/95iscsi/module-setup.sh
+index 8caaf73..560507c 100755
+--- a/modules.d/95iscsi/module-setup.sh
++++ b/modules.d/95iscsi/module-setup.sh
+@@ -48,6 +48,7 @@ installkernel() {
+         while read _f; do case "$_f" in
+             *.ko)    [[ $(<         $_f) =~ $_iscsifuncs ]] && echo "$_f" ;;
+             *.ko.gz) [[ $(gzip -dc <$_f) =~ $_iscsifuncs ]] && echo "$_f" ;;
++            *.ko.xz) [[ $(xz -dc   <$_f) =~ $_iscsifuncs ]] && echo "$_f" ;;
+             esac
+         done
+     }
diff --git a/0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch b/0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch
new file mode 100644
index 0000000..dbb729c
--- /dev/null
+++ b/0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch
@@ -0,0 +1,47 @@
+From 3ea5d2e28fe0e5790594d036c430dbad4e903186 Mon Sep 17 00:00:00 2001
+From: Cong Wang <xiyou.wangcong at gmail.com>
+Date: Tue, 10 Jan 2012 22:45:45 +0800
+Subject: [PATCH] lsinitrd: add '-s' option to sort the initrd output by file
+ size
+
+This is useful to analyse which files consume the space of initrd.
+
+Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
+---
+ lsinitrd |   18 ++++++++++++++++--
+ 1 files changed, 16 insertions(+), 2 deletions(-)
+
+diff --git a/lsinitrd b/lsinitrd
+index 7da9f61..ad7ece9 100755
+--- a/lsinitrd
++++ b/lsinitrd
+@@ -19,7 +19,17 @@
+ # along with this program.  If not, see <http://www.gnu.org/licenses/>.
+ #
+ 
+-[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [<initramfs file> [<filename>]]" ; exit 1 ; }
++[[ $# -le 2 ]] || { echo "Usage: $(basename $0) [-s] [<initramfs file> [<filename>]]" ; exit 1 ; }
++
++sorted=0
++while getopts "s" opt; do
++    case $opt in
++        s)  sorted=1;;
++        \?) exit 1;;
++    esac
++done
++shift $((OPTIND-1))
++
+ image="${1:-/boot/initramfs-$(uname -r).img}"
+ [[ -f "$image" ]]    || { echo "$image does not exist" ; exit 1 ; }
+ 
+@@ -45,5 +55,9 @@ echo "$image: $(du -h $image | awk '{print $1}')"
+ echo "========================================================================"
+ $CAT "$image" | cpio --extract --verbose --quiet --to-stdout 'lib/dracut/dracut-*' 2>/dev/null
+ echo "========================================================================"
+-$CAT "$image" | cpio --extract --verbose --quiet --list
++if [ "$sorted" -eq 1 ]; then
++    $CAT "$image" | cpio --extract --verbose --quiet --list | sort -n -k5
++else
++    $CAT "$image" | cpio --extract --verbose --quiet --list
++fi
+ echo "========================================================================"
diff --git a/0052-dracut-unset-GREP_OPTIONS.patch b/0052-dracut-unset-GREP_OPTIONS.patch
new file mode 100644
index 0000000..20cc522
--- /dev/null
+++ b/0052-dracut-unset-GREP_OPTIONS.patch
@@ -0,0 +1,25 @@
+From 1fcf2d2f4a7eb95a507f5a4e85640e3d25bce79e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 23 Jan 2012 10:10:25 +0100
+Subject: [PATCH] dracut: unset GREP_OPTIONS
+
+GREP_OPTIONS can influence the image creation, if set to user defined
+values, so unset it.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=676712
+---
+ dracut |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/dracut b/dracut
+index fbf0f74..9c833a8 100755
+--- a/dracut
++++ b/dracut
+@@ -278,6 +278,7 @@ fi
+ PATH=/sbin:/bin:/usr/sbin:/usr/bin
+ export PATH
+ unset LD_LIBRARY_PATH
++unset GREP_OPTIONS
+ 
+ [[ $debug ]] && {
+     export PS4='${BASH_SOURCE}@${LINENO}(${FUNCNAME[0]}): ';
diff --git a/0053-lsinitrd-use-xz-with-single-stream-if-available.patch b/0053-lsinitrd-use-xz-with-single-stream-if-available.patch
new file mode 100644
index 0000000..f0c58d4
--- /dev/null
+++ b/0053-lsinitrd-use-xz-with-single-stream-if-available.patch
@@ -0,0 +1,38 @@
+From c96425c3647d1d5e7110ac369056df79a6024e1d Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 23 Jan 2012 10:34:03 +0100
+Subject: [PATCH] lsinitrd: use xz with --single-stream, if available
+
+The F16 installation image is two concatenated cpio images:
+[xz-compressed dracut initramfs][uncompressed cpio with /squashfs.img]
+
+So to show the contents, use xz with the "--single-stream" option.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=742299
+---
+ lsinitrd |    8 ++++++--
+ 1 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/lsinitrd b/lsinitrd
+index ad7ece9..1d953b7 100755
+--- a/lsinitrd
++++ b/lsinitrd
+@@ -36,12 +36,16 @@ image="${1:-/boot/initramfs-$(uname -r).img}"
+ CAT=zcat
+ FILE_T=$(file "$image")
+ 
++if echo "test"|xz|xz -dc --single-stream; then
++    XZ_SINGLE_STREAM="--single-stream"
++fi
++
+ if [[ "$FILE_T" =~ ": gzip compressed data" ]]; then
+     CAT=zcat
+ elif [[ "$FILE_T" =~ ": xz compressed data" ]]; then
+-    CAT=xzcat
++    CAT="xzcat $XZ_SINGLE_STREAM"
+ elif [[ "$FILE_T" =~ ": XZ compressed data" ]]; then
+-    CAT=xzcat
++    CAT="xzcat $XZ_SINGLE_STREAM"
+ elif [[ "$FILE_T" =~ ": data" ]]; then
+     CAT=lzcat
+ fi
diff --git a/0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch b/0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch
new file mode 100644
index 0000000..5e7ad14
--- /dev/null
+++ b/0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch
@@ -0,0 +1,65 @@
+From 39339512e2ea0724de9474a8bdac81e5abaf8c97 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 23 Jan 2012 10:41:41 +0100
+Subject: [PATCH] plymouth/kernel: cleanup not needed parts for shutdown
+
+remove plymouth and kernel parts from /run/initramfs, which are not
+needed at shutdown.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=751189
+---
+ modules.d/50plymouth/module-setup.sh         |    1 +
+ modules.d/50plymouth/plymouth-cleanup.sh     |    5 +++++
+ modules.d/90kernel-modules/kernel-cleanup.sh |    5 +++++
+ modules.d/90kernel-modules/module-setup.sh   |    1 +
+ 4 files changed, 12 insertions(+), 0 deletions(-)
+ create mode 100755 modules.d/50plymouth/plymouth-cleanup.sh
+ create mode 100755 modules.d/90kernel-modules/kernel-cleanup.sh
+
+diff --git a/modules.d/50plymouth/module-setup.sh b/modules.d/50plymouth/module-setup.sh
+index b78c718..5c9eaee 100755
+--- a/modules.d/50plymouth/module-setup.sh
++++ b/modules.d/50plymouth/module-setup.sh
+@@ -46,6 +46,7 @@ install() {
+ 
+     inst_hook pre-pivot 90 "$moddir"/plymouth-newroot.sh
+     inst_hook pre-trigger 10 "$moddir"/plymouth-pretrigger.sh
++    inst_hook pre-pivot 10 "$moddir"/plymouth-cleanup.sh
+     inst_hook emergency 50 "$moddir"/plymouth-emergency.sh
+     inst readlink
+ }
+diff --git a/modules.d/50plymouth/plymouth-cleanup.sh b/modules.d/50plymouth/plymouth-cleanup.sh
+new file mode 100755
+index 0000000..d6d11e6
+--- /dev/null
++++ b/modules.d/50plymouth/plymouth-cleanup.sh
+@@ -0,0 +1,5 @@
++#!/bin/sh
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++rm -fr /usr/share/plymouth /usr/lib/plymouth /usr/lib64/plymouth
+diff --git a/modules.d/90kernel-modules/kernel-cleanup.sh b/modules.d/90kernel-modules/kernel-cleanup.sh
+new file mode 100755
+index 0000000..d17714d
+--- /dev/null
++++ b/modules.d/90kernel-modules/kernel-cleanup.sh
+@@ -0,0 +1,5 @@
++#!/bin/sh
++# -*- mode: shell-script; indent-tabs-mode: nil; sh-basic-offset: 4; -*-
++# ex: ts=8 sw=4 sts=4 et filetype=sh
++
++rm -fr /lib/modules
+\ No newline at end of file
+diff --git a/modules.d/90kernel-modules/module-setup.sh b/modules.d/90kernel-modules/module-setup.sh
+index 46d8591..88f0e2d 100755
+--- a/modules.d/90kernel-modules/module-setup.sh
++++ b/modules.d/90kernel-modules/module-setup.sh
+@@ -75,6 +75,7 @@ install() {
+         inst_simple "$i"
+     done
+     inst_hook cmdline 01 "$moddir/parse-kernel.sh"
++    inst_hook pre-pivot 20 "$moddir/kernel-cleanup.sh"
+     inst_simple "$moddir/insmodpost.sh" /sbin/insmodpost.sh
+ 
+     for _f in modules.builtin.bin modules.builtin; do
diff --git a/0055-network-dhclient-script-set-FQDN.patch b/0055-network-dhclient-script-set-FQDN.patch
new file mode 100644
index 0000000..e36c2c2
--- /dev/null
+++ b/0055-network-dhclient-script-set-FQDN.patch
@@ -0,0 +1,42 @@
+From da55af4763d6a88da5a0b31cb68cdc0a2adfcd7e Mon Sep 17 00:00:00 2001
+From: Ian Dall <ian at beware.dropbear.id.au>
+Date: Mon, 23 Jan 2012 10:46:10 +0100
+Subject: [PATCH] network/dhclient-script: set FQDN
+
+When booting with nfsroot, dracut doesn't necessarily set the initial
+hostname correctly.
+
+According to dhcp-options(5), the name may or may not be qualified with
+the local domain. It goes on to say "it is preferable to use the
+domain-name option to specify the domain name".
+
+So dhclient-script needs to be able to handle the cases: a) where
+host-name is fully qualified and domain name is also specified; b)
+where hostname is fully qualified and the domain is not separately
+specified; c) where host-name is "short" and domain-name is also
+specified; and d) do its best where host-name is short but domain-name
+is not specified.
+
+The dhclient-script in initramfs does not handle case "c", apparently
+the preferred situation properly, setting hostname to "short".
+
+https://bugzilla.redhat.com/show_bug.cgi?id=756347
+---
+ modules.d/40network/dhclient-script |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/modules.d/40network/dhclient-script b/modules.d/40network/dhclient-script
+index 2c26838..e8bd8b2 100755
+--- a/modules.d/40network/dhclient-script
++++ b/modules.d/40network/dhclient-script
+@@ -41,7 +41,9 @@ setup_interface() {
+         done
+     fi >> /tmp/net.$netif.resolv.conf
+ 
+-    [ -n "$hostname" ] && echo "echo $hostname > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname
++    # Note: hostname can be fqdn OR short hostname, so chop off any
++    # trailing domain name and explicity add any domain if set.
++    [ -n "$hostname" ] && echo "echo ${hostname%.$domain}${domain+.$domain} > /proc/sys/kernel/hostname" > /tmp/net.$netif.hostname
+ }
+ 
+ PATH=/usr/sbin:/usr/bin:/sbin:/bin
diff --git a/0056-AUTHORS-updated-and-fixed-.mailmap.patch b/0056-AUTHORS-updated-and-fixed-.mailmap.patch
new file mode 100644
index 0000000..d10c964
--- /dev/null
+++ b/0056-AUTHORS-updated-and-fixed-.mailmap.patch
@@ -0,0 +1,92 @@
+From 6769292c0d43316b116552b0af56509496f96d80 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 23 Jan 2012 11:06:16 +0100
+Subject: [PATCH] AUTHORS: updated and fixed .mailmap
+
+---
+ .mailmap |    5 ++++-
+ AUTHORS  |   28 +++++++++++++++++++---------
+ 2 files changed, 23 insertions(+), 10 deletions(-)
+
+diff --git a/.mailmap b/.mailmap
+index b37295e..bce9b7c 100644
+--- a/.mailmap
++++ b/.mailmap
+@@ -6,4 +6,7 @@ Harald Hoyer <harald at redhat.com> <harald-H+wXaHxf7aLQT0dZR+AlfA at public.gmane.org
+ Harald Hoyer <harald at redhat.com> <harald at eeepc.(none)>
+ Mike Snitzer <snitzer at redhat.com> <msnitzer at redhat.com> 
+ Amerigo Wang <amwang at redhat.com> <xiyou.wangcong at gmail.com>
+-
++Andrey Borzenkov <arvidjaar at gmail.com> <arvidjaar at mail.ru>
++Dan Horák <dhorak at redhat.com> <dan at danny.cz>
++John Reiser <jreiser at bitwagon.com> <jreiser at BitWagon.com>
++Luca Berra <bluca at vodka.it> <bluca at comedia.it>
+diff --git a/AUTHORS b/AUTHORS
+index 99eab35..12dbe15 100644
+--- a/AUTHORS
++++ b/AUTHORS
+@@ -7,45 +7,55 @@ Jeremy Katz <katzj at redhat.com>
+ David Dillow <dave at thedillows.org>
+ Michal Soltys <soltys at ziu.info>
+ Will Woods <wwoods at redhat.com>
++Andrey Borzenkov <arvidjaar at gmail.com>
+ Andreas Thienemann <andreas at bawue.net>
+ Hans de Goede <hdegoede at redhat.com>
+ Peter Jones <pjones at redhat.com>
+-Luca Berra <bluca at comedia.it>
+-Andrey Borzenkov <arvidjaar at mail.ru>
+-Andrey Borzenkov <arvidjaar at gmail.com>
+-Marc Grimme <grimme at atix.de>
++Amerigo Wang <amwang at redhat.com>
++Colin Guthrie <colin at mageia.org>
++John Reiser <jreiser at bitwagon.com>
++Luca Berra <bluca at vodka.it>
++Dave Young <dyoung at redhat.com>
+ Daniel Drake <dsd at laptop.org>
++Marc Grimme <grimme at atix.de>
+ Roberto Sassu <roberto.sassu at polito.it>
+-Amerigo Wang <amwang at redhat.com>
++Anton Blanchard <anton at samba.org>
+ Bill Nottingham <notting at redhat.com>
++Brian C. Lane <bcl at redhat.com>
++Dan Horák <dhorak at redhat.com>
+ David Cantrell <dcantrell at redhat.com>
+ Lance Albertson <lance at osuosl.org>
+ Marian Ganisin <mganisin at redhat.com>
+ Michael Ploujnikov <plouj at somanetworks.com>
+ Alan Jenkins <alan-jenkins at tuffmail.co.uk>
+ Alan Pevec <apevec at redhat.com>
+-Dan Horák <dan at danny.cz>
++Ian Dall <ian at beware.dropbear.id.au>
++James Buren <ryuo at frugalware.org>
+ Joey Boggs <jboggs at redhat.com>
+ Jon Ander Hernandez <jonan.h at gmail.com>
+ Mike Snitzer <snitzer at redhat.com>
+ Peter Rajnoha <prajnoha at redhat.com>
++Przemysław Rudy <prudy1 at o2.pl>
+ Vladislav Bogdanov <bubble at hoster-ok.com>
+ Alexander Todorov <atodorov at redhat.com>
+ Andy Lutomirski <luto at mit.edu>
++Anssi Hannula <anssi at mageia.org>
+ Christian Heinz <christian.ch.heinz at gmail.com>
+-Dan Horák <dhorak at redhat.com>
+ Dave Jones <davej at redhat.com>
++Duane Griffin <duaneg at dghda.com>
+ Frederic Crozat <fcrozat at mandriva.com>
+ Glen Gray <slaine at slaine.org>
+-Ian Dall <ian at beware.dropbear.id.au>
++Hermann Gausterer <git-dracut-2012 at mrq1.org>
+ James Laska <jlaska at redhat.com>
+ Konrad Rzeszutek Wilk <konrad.wilk at oracle.com>
++Leho Kraav <leho at kraav.com>
+ Lubomir Rintel <lkundrak at v3.sk>
+-Luca Berra <bluca at vodka.it>
+ Matt <smoothsailing72 at hotmail.com>
+ Matt Smith <shadowfax at gmx.com>
+ Michal Schmidt <mschmidt at redhat.com>
+ Munehiro Matsuda <haro at kgt.co.jp>
++Paolo Bonzini <pbonzini at redhat.com>
++Peter Robinson <pbrobinson at fedoraproject.org>
+ Pádraig Brady <P at draigBrady.com>
+ Quentin Armitage <quentin at armitage.org.uk>
+ Sergey Fionov <fionov at gmail.com>
diff --git a/0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch b/0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch
new file mode 100644
index 0000000..31834ee
--- /dev/null
+++ b/0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch
@@ -0,0 +1,187 @@
+From ccaa9bee2e813daa3460698d5aa444423d92483f Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 23 Jan 2012 11:26:17 +0100
+Subject: [PATCH] dracut, dracut.8.xml: added more documentation about
+ "[LIST]"
+
+added examples on how to use [LIST] on the shell command line.
+
+https://bugzilla.redhat.com/show_bug.cgi?id=767736
+---
+ dracut       |    4 +++
+ dracut.8.xml |   69 +++++++++++++++++++++++++++++++++++++++++++++++-----------
+ 2 files changed, 60 insertions(+), 13 deletions(-)
+
+diff --git a/dracut b/dracut
+index 9c833a8..f2e5feb 100755
+--- a/dracut
++++ b/dracut
+@@ -120,6 +120,10 @@ Creates initial ramdisk images for preloading modules
+   --keep                Keep the temporary initramfs for debugging purposes
+   --sshkey [SSHKEY]     Add ssh key to initramfs (use with ssh-client module)
+   --ctty                Add control tty for emergency shells
++
++If [LIST] has multiple arguments, then you have to put these in quotes.
++For example:
++# dracut --add-drivers "module1 module2"  ...
+ EOF
+ }
+ 
+diff --git a/dracut.8.xml b/dracut.8.xml
+index 5a5df54..88c97c3 100644
+--- a/dracut.8.xml
++++ b/dracut.8.xml
+@@ -20,21 +20,25 @@
+       </author>
+       <author>
+         <contrib>Developer</contrib>
++        <firstname>Philippe</firstname>
++        <surname>Seewer</surname>
++        <email>philippe.seewer at bfh.ch</email>
++      </author>
++      <author>
++        <contrib>Developer</contrib>
+         <firstname>Warren</firstname>
+         <surname>Togami</surname>
+-        <email>wtogami at redhat.com</email>
+       </author>
+       <author>
+         <contrib>Developer</contrib>
+-        <firstname>Jeremy</firstname>
+-        <surname>Katz</surname>
+-        <email>katzj at redhat.com</email>
++        <firstname>Amadeusz</firstname>
++        <surname>Żołnowski</surname>
++        <email>aidecoe at aidecoe.name</email>
+       </author>
+       <author>
+         <contrib>Developer</contrib>
+-        <firstname>Philippe</firstname>
+-        <surname>Seewer</surname>
+-        <email>philippe.seewer at bfh.ch</email>
++        <firstname>Jeremy</firstname>
++        <surname>Katz</surname>
+       </author>
+       <author>
+         <contrib>Developer</contrib>
+@@ -42,12 +46,6 @@
+         <surname>Dillow</surname>
+         <email>dave at thedillows.org</email>
+       </author>
+-      <author>
+-        <contrib>Developer</contrib>
+-        <firstname>Amadeusz</firstname>
+-        <surname>Żołnowski</surname>
+-        <email>aidecoe at aidecoe.name</email>
+-      </author>
+     </authorgroup>
+   </refentryinfo>
+   <refmeta>
+@@ -113,6 +111,11 @@ For a complete list of kernel command line options see
+ when building the initramfs.
+ Modules are located in
+ <filename>/usr/lib/dracut/modules.d</filename>. This parameter can be specified multiple times.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --modules "module1 module2"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+@@ -124,6 +127,11 @@ Modules are located in
+           </term>
+           <listitem>
+             <para>omit a space-separated list of dracut modules. This parameter can be specified multiple times.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --omit "module1 module2"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+@@ -135,6 +143,11 @@ Modules are located in
+           </term>
+           <listitem>
+             <para>add a space-separated list of dracut modules to the default set of modules. This parameter can be specified multiple times.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --add "module1 module2"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+@@ -143,6 +156,11 @@ Modules are located in
+           </term>
+           <listitem>
+             <para>force to add a space-separated list of dracut modules to the default set of modules, when -H is specified. This parameter can be specified multiple times.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --force-add "module1 module2"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+ 
+@@ -157,6 +175,11 @@ Modules are located in
+             <para>specify a space-separated list of kernel modules to exclusively include
+ in the initramfs.
+ The kernel modules have to be specified without the &quot;.ko&quot; suffix. This parameter can be specified multiple times.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --drivers "kmodule1 kmodule2"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+@@ -166,6 +189,11 @@ The kernel modules have to be specified without the &quot;.ko&quot; suffix. This
+           <listitem>
+             <para>specify a space-separated list of kernel modules to add to the initramfs.
+ The kernel modules have to be specified without the &quot;.ko&quot; suffix. This parameter can be specified multiple times.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --add-drivers "kmodule1 kmodule2"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+@@ -175,6 +203,11 @@ The kernel modules have to be specified without the &quot;.ko&quot; suffix. This
+           <listitem>
+             <para>specify a space-separated list of kernel filesystem modules to exclusively
+ include in the generic initramfs. This parameter can be specified multiple times.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --filesystems "filesystem1 filesystem2"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+@@ -253,6 +286,11 @@ include in the generic initramfs. This parameter can be specified multiple times
+               <filename>dracut.conf</filename>'s specification; the
+               installation is opportunistic (non-existing tools are ignored)
+             </para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --fscks "fsck.foo barfsck"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+@@ -450,6 +488,11 @@ TARGET directory in the final initramfs. If SOURCE is a file, it will be install
+           </term>
+           <listitem>
+             <para>install the space separated list of files into the initramfs.</para>
++	    <para>
++	      If [LIST] has multiple arguments, then you have to put these in quotes.
++	      For example:
++	      <screen># dracut --install "/bin/foo /sbin/bar"  ...</screen>
++	    </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
diff --git a/0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch b/0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch
new file mode 100644
index 0000000..2f32d22
--- /dev/null
+++ b/0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch
@@ -0,0 +1,23 @@
+From 1b91369455d2011b7eaa13e0a892d4dc914197c4 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 23 Jan 2012 11:32:06 +0100
+Subject: [PATCH] 98usrmount/mount-usr.sh: do not mount /usr read-only
+
+https://bugzilla.redhat.com/show_bug.cgi?id=782897
+---
+ modules.d/98usrmount/mount-usr.sh |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
+index fc205d5..b24446a 100755
+--- a/modules.d/98usrmount/mount-usr.sh
++++ b/modules.d/98usrmount/mount-usr.sh
+@@ -11,7 +11,7 @@ mount_usr()
+     # check, if we have to mount the /usr filesystem
+     while read _dev _mp _fs _opts _rest; do
+         if [ "$_mp" = "/usr" ]; then
+-            echo "$_dev $NEWROOT/$_mp $_fs ${_opts},ro $_rest"
++            echo "$_dev $NEWROOT/$_mp $_fs ${_opts} $_rest"
+             _usr_found="1"
+             break
+         fi
diff --git a/0059-40network-also-look-in-drivers-s390-net-for-network-.patch b/0059-40network-also-look-in-drivers-s390-net-for-network-.patch
new file mode 100644
index 0000000..c4727d9
--- /dev/null
+++ b/0059-40network-also-look-in-drivers-s390-net-for-network-.patch
@@ -0,0 +1,23 @@
+From c254ac796fe52d19ad47df99055cd58fee5e517e Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald at redhat.com>
+Date: Mon, 23 Jan 2012 11:41:44 +0100
+Subject: [PATCH] 40network: also look in drivers/s390/net for network drivers
+
+https://bugzilla.redhat.com/show_bug.cgi?id=782074
+---
+ modules.d/40network/module-setup.sh |    2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/modules.d/40network/module-setup.sh b/modules.d/40network/module-setup.sh
+index 6c4ae92..9017413 100755
+--- a/modules.d/40network/module-setup.sh
++++ b/modules.d/40network/module-setup.sh
+@@ -58,7 +58,7 @@ installkernel() {
+         [[ $debug ]] && set -x
+     }
+ 
+-    find_kernel_modules_by_path drivers/net | net_module_filter | instmods
++    find_kernel_modules_by_path drivers/net drivers/s390/net | net_module_filter | instmods
+ 
+     instmods ecb arc4
+     # bridge modules
diff --git a/0060-fix-rpm-build-error-after-adding-ssh-client-module.patch b/0060-fix-rpm-build-error-after-adding-ssh-client-module.patch
new file mode 100644
index 0000000..dff6340
--- /dev/null
+++ b/0060-fix-rpm-build-error-after-adding-ssh-client-module.patch
@@ -0,0 +1,29 @@
+From a29cf54c02d11af96e3c0e59935c536921d3fc9b Mon Sep 17 00:00:00 2001
+From: Cong Wang <xiyou.wangcong at gmail.com>
+Date: Tue, 10 Jan 2012 11:42:33 +0800
+Subject: [PATCH] fix rpm build error after adding ssh-client module
+
+This patch fixes the following error when building rpm,
+
+      error: Installed (but unpackaged) file(s) found:
+       /usr/lib/dracut/modules.d/95ssh-client/module-setup.sh
+
+Based on my kdump tree.
+
+Signed-off-by: Cong Wang <xiyou.wangcong at gmail.com>
+---
+ dracut.spec |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/dracut.spec b/dracut.spec
+index 3986894..16c8aa3 100644
+--- a/dracut.spec
++++ b/dracut.spec
+@@ -269,6 +269,7 @@ rm -rf $RPM_BUILD_ROOT
+ %{dracutlibdir}/modules.d/90livenet
+ %{dracutlibdir}/modules.d/95nbd
+ %{dracutlibdir}/modules.d/95nfs
++%{dracutlibdir}/modules.d/95ssh-client
+ %{dracutlibdir}/modules.d/45ifcfg
+ %{dracutlibdir}/modules.d/95znet
+ 
diff --git a/dracut.spec b/dracut.spec
index d864470..a2936e0 100644
--- a/dracut.spec
+++ b/dracut.spec
@@ -10,7 +10,7 @@
 
 Name: dracut
 Version: 014
-Release: 38.git20120117%{?dist}
+Release: 61.git20120123%{?dist}
 
 Summary: Initramfs generator using udev
 %if 0%{?fedora} || 0%{?rhel} > 6
@@ -61,6 +61,29 @@ Patch34: 0034-minor-cleanups-in-parsing-for-dmsquash-live-and-live.patch
 Patch35: 0035-fstab-sys-mount-it-in-initramfs-instead-of-newroot-i.patch
 Patch36: 0036-typo-fix.patch
 Patch37: 0037-mktemp-was-long-obsoleted-by-coreutils.patch
+Patch38: 0038-dmsquash-live-really-changed-dev-live-baseloop-to-ru.patch
+Patch39: 0039-90kernel-modules-module-setup.sh-install-modules.ord.patch
+Patch40: 0040-Handle-upper-case-MAC-addresses-in-ifname-option.patch
+Patch41: 0041-server-id-in-ip-is-not-optional.patch
+Patch42: 0042-ip-server-id-should-be-server-IP.patch
+Patch43: 0043-remove-extra-semicolons-in-dracut.8.xml.patch
+Patch44: 0044-deal-common-part-of-etc-passwd-in-99base.patch
+Patch45: 0045-Add-job-control-support-to-emergency-shell.patch
+Patch46: 0046-change-root-home-dir-to-root.patch
+Patch47: 0047-Add-ssh-client-module-code.patch
+Patch48: 0048-ctty-add-help-line-in-usage.patch
+Patch49: 0049-plymouth-add-xz-support-for-kernel-modules.patch
+Patch50: 0050-add-xz-compression-for-kernel-modules.patch
+Patch51: 0051-lsinitrd-add-s-option-to-sort-the-initrd-output-by-f.patch
+Patch52: 0052-dracut-unset-GREP_OPTIONS.patch
+Patch53: 0053-lsinitrd-use-xz-with-single-stream-if-available.patch
+Patch54: 0054-plymouth-kernel-cleanup-not-needed-parts-for-shutdow.patch
+Patch55: 0055-network-dhclient-script-set-FQDN.patch
+Patch56: 0056-AUTHORS-updated-and-fixed-.mailmap.patch
+Patch57: 0057-dracut-dracut.8.xml-added-more-documentation-about-L.patch
+Patch58: 0058-98usrmount-mount-usr.sh-do-not-mount-usr-read-only.patch
+Patch59: 0059-40network-also-look-in-drivers-s390-net-for-network-.patch
+Patch60: 0060-fix-rpm-build-error-after-adding-ssh-client-module.patch
 
 
 BuildArch: noarch
@@ -307,6 +330,7 @@ rm -rf $RPM_BUILD_ROOT
 %{dracutlibdir}/modules.d/90livenet
 %{dracutlibdir}/modules.d/95nbd
 %{dracutlibdir}/modules.d/95nfs
+%{dracutlibdir}/modules.d/95ssh-client
 %{dracutlibdir}/modules.d/45ifcfg
 %{dracutlibdir}/modules.d/95znet
 
@@ -337,6 +361,9 @@ rm -rf $RPM_BUILD_ROOT
 %dir /var/lib/dracut/overlay
 
 %changelog
+* Mon Jan 23 2012 Harald Hoyer <harald at redhat.com> 014-61.git20120123
+- update to latest git
+
 * Tue Jan 17 2012 Harald Hoyer <harald at redhat.com> 014-38.git20120117
 - update to latest git
 


More information about the scm-commits mailing list