summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmadeusz Żołnowski <aidecoe@gentoo.org>2012-02-29 18:13:20 +0000
committerAmadeusz Żołnowski <aidecoe@gentoo.org>2012-02-29 18:13:20 +0000
commit1763ed752e122a85e35588c3c3a114a7033b93dc (patch)
tree04cbb7ed71685e8e543e6199bad25cbc3e600ac1 /sys-kernel/dracut
parentFix typo in openbox's version (diff)
downloadhistorical-1763ed752e122a85e35588c3c3a114a7033b93dc.tar.gz
historical-1763ed752e122a85e35588c3c3a114a7033b93dc.tar.bz2
historical-1763ed752e122a85e35588c3c3a114a7033b93dc.zip
sys-kernel/dracut: Version bump to 017. Rels bug #406023 and bug #405921.
Backported patches: - fixes for usrmount (bug #406023) - workaround for broken dm-setup not detecting /dev/dm-* (bug #405921) - fix for convertfs NEWS ~~~~ - a _lot_ faster than dracut-016 in image creation - systemd service dracut-shutdown.service - livenet fixes - ssh-client module install fix - root=iscsi:... fixed - lots of restructuring and optimizing in dracut-functions.sh - usrmount: honor fs_passno in /etc/fstab - renamed all shell scripts to .sh - new option "--omit-drivers" and config option "omit_drivers" - hostonly mode fixups Package-Manager: portage-2.1.10.48/cvs/Linux x86_64
Diffstat (limited to 'sys-kernel/dracut')
-rw-r--r--sys-kernel/dracut/ChangeLog30
-rw-r--r--sys-kernel/dracut/Manifest23
-rw-r--r--sys-kernel/dracut/dracut-017.ebuild261
-rw-r--r--sys-kernel/dracut/files/dracut-017-convertfs-fix-check-for-usr-bin.patch57
-rw-r--r--sys-kernel/dracut/files/dracut-017-crypt-simplify-rd.luks.uuid-testing.patch40
-rw-r--r--sys-kernel/dracut/files/dracut-017-multipath-udev-rules.patch24
-rw-r--r--sys-kernel/dracut/files/dracut-017-usrmount-fstab-comments.patch24
-rw-r--r--sys-kernel/dracut/files/dracut-017-usrmount-newroot-etc-check.patch25
8 files changed, 475 insertions, 9 deletions
diff --git a/sys-kernel/dracut/ChangeLog b/sys-kernel/dracut/ChangeLog
index ee7959a3e03a..4aa039ec2288 100644
--- a/sys-kernel/dracut/ChangeLog
+++ b/sys-kernel/dracut/ChangeLog
@@ -1,6 +1,34 @@
# ChangeLog for sys-kernel/dracut
# Copyright 1999-2012 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.50 2012/02/27 11:12:54 aidecoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.51 2012/02/29 18:13:20 aidecoe Exp $
+
+*dracut-017 (29 Feb 2012)
+
+ 29 Feb 2012; Amadeusz Żołnowski <aidecoe@gentoo.org> +dracut-017.ebuild,
+ +files/dracut-017-convertfs-fix-check-for-usr-bin.patch,
+ +files/dracut-017-crypt-simplify-rd.luks.uuid-testing.patch,
+ +files/dracut-017-multipath-udev-rules.patch,
+ +files/dracut-017-usrmount-fstab-comments.patch,
+ +files/dracut-017-usrmount-newroot-etc-check.patch:
+ Version bump.
+
+ Backported patches:
+ - fixes for usrmount (bug #406023)
+ - workaround for broken dm-setup not detecting /dev/dm-* (bug #405921)
+ - fix for convertfs
+
+ NEWS
+ ~~~~
+ - a _lot_ faster than dracut-016 in image creation
+ - systemd service dracut-shutdown.service
+ - livenet fixes
+ - ssh-client module install fix
+ - root=iscsi:... fixed
+ - lots of restructuring and optimizing in dracut-functions.sh
+ - usrmount: honor fs_passno in /etc/fstab
+ - renamed all shell scripts to .sh
+ - new option "--omit-drivers" and config option "omit_drivers"
+ - hostonly mode fixups
27 Feb 2012; Amadeusz Żołnowski <aidecoe@gentoo.org> dracut-010-r3.ebuild,
dracut-013-r2.ebuild, dracut-014-r2.ebuild, dracut-016.ebuild:
diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest
index af7e1cdb2706..8590fb06a14a 100644
--- a/sys-kernel/dracut/Manifest
+++ b/sys-kernel/dracut/Manifest
@@ -12,24 +12,31 @@ AUX dracut-013-multipath-udev-rules.patch 848 RMD160 99527326b1c5c33647a750d4bba
AUX dracut-014-multipath-udev-rules.patch 848 RMD160 99527326b1c5c33647a750d4bba2da9b6b5f0c92 SHA1 353c065322645f063fd3ae90ece7635eab8225ed SHA256 0e2215897b7cbac1bf9c84b42d6eb8af4438674934749bc339f768cba6662c18
AUX dracut-014-usrmount-fsck-fix.patch 1208 RMD160 0247c724be5e130e23d89cdfc387612de5fee3f4 SHA1 65d74c80b2ed702a6cf073f0eff819bd6df022b9 SHA256 192ed24457c07d282cbdc75576d6bfc272572c482d28188c34a48c613a5b1565
AUX dracut-016-multipath-udev-rules.patch 848 RMD160 99527326b1c5c33647a750d4bba2da9b6b5f0c92 SHA1 353c065322645f063fd3ae90ece7635eab8225ed SHA256 0e2215897b7cbac1bf9c84b42d6eb8af4438674934749bc339f768cba6662c18
+AUX dracut-017-convertfs-fix-check-for-usr-bin.patch 1595 RMD160 f5d8dd5c6284cb45c0cb561f14a255232489cc07 SHA1 d64dc3a154c41938d364bc9b1cc669ec12ed980f SHA256 3a71d98361289613b66831a6c3c2e9490513796df724b9128c403bda6847a99d
+AUX dracut-017-crypt-simplify-rd.luks.uuid-testing.patch 1768 RMD160 6884426fed59aaf7c09482f678178492225afd70 SHA1 6738c265913db46c1d5524b9ccef48e6a9f5086c SHA256 9a77bb9954fa712ba375fdf5281807395c5b6e2162d15d289eecf81f286680a8
+AUX dracut-017-multipath-udev-rules.patch 848 RMD160 99527326b1c5c33647a750d4bba2da9b6b5f0c92 SHA1 353c065322645f063fd3ae90ece7635eab8225ed SHA256 0e2215897b7cbac1bf9c84b42d6eb8af4438674934749bc339f768cba6662c18
+AUX dracut-017-usrmount-fstab-comments.patch 871 RMD160 38be8d9cfb1e304cd7f57f1389eefb2e7fe4635e SHA1 92b1d6e19af3e3b5da1c04fb538b2269f0fd6ccd SHA256 a16c8ed8c06f11382d762fe8f9b344f4928cd82f97e8f2e4da4354fe049afac8
+AUX dracut-017-usrmount-newroot-etc-check.patch 652 RMD160 6931a095650e5c7777af8224ff18702cb4e72e16 SHA1 ba58e2d77fac977609768d07f62972094b6e7be1 SHA256 799d70346c69cfb7449189bb6ccbc94aa10327d11cc385058f36bee761c81318
DIST dracut-010.tar.bz2 143576 RMD160 3b98e86fdc3a3b14c257b317852d6582de06a5c6 SHA1 cd78c8a2b2629931aaf99c5fc4ef33424d84fa1c SHA256 08df4fee439bc96f9f58fcd9ac1445cf5954fe5066643449e0d6a846d0a23ba7
DIST dracut-013.tar.bz2 149337 RMD160 0d0eb8a84ea0cd208afe433f28e49bfb0b423209 SHA1 1e1c7fd6f7919399fb20f25f662d0529b61f4078 SHA256 5e63cd711f28e13088a095186095e1af2561be422d1e5d0e4ab351205010c717
DIST dracut-014.tar.bz2 155914 RMD160 bc20154b11f2924fe971f3fecb13ce18630adac5 SHA1 8a041beb9d1ca2b8fcc94c7619fd6b6093f02577 SHA256 1b81a71d121fa4e268bab098daadabb3077ecde7573b5726fe35591347fdd2e3
DIST dracut-016.tar.bz2 164830 RMD160 092f9e91316702778b29f0c509071a5c10889ec7 SHA1 82960502a2b32408e18485b1567fb9bc2eed8572 SHA256 c195c3df9c4653108435906f9badddddee7fc21fee6c00b1e43da8a6ca8ebb4f
+DIST dracut-017.tar.bz2 165858 RMD160 57b39997142c033d3720981184dc01db0f9dfc3a SHA1 1e391d1ae83114488d4cf556f88726eb10931e88 SHA256 d0271b31f261aa6a3a6e468e985892e7666dd6be6b6354ff231a8f7f4690479c
EBUILD dracut-010-r3.ebuild 6096 RMD160 d2a0aed68eed1c29dad5f07d5568f5cef94f49c4 SHA1 061b315a410e1bf880c2fe9d2df0abf5208a943e SHA256 33a3158b7e2f9917ab19328135aac77003cc0a7f09478e2ec7cf188c162e5b7f
EBUILD dracut-013-r2.ebuild 6370 RMD160 20e48aa5552496c0be1412e35146e896163ac0af SHA1 0285e99927e1f624e8d2491009efe0c4e54ca422 SHA256 7a86f5aca55e733e21aa87069d0a3e327352679575e9ea296a290d694f7acadb
EBUILD dracut-014-r2.ebuild 6209 RMD160 86d5c2619aa7ab3b0a100711d840be3f2f784f84 SHA1 eb37b4d8ef907cf7733d4f581dc1ffd42cd291ef SHA256 b35e3e732bbb9a155357d62473d20e035f139708b2bd79077e1b6cfee63439d6
EBUILD dracut-016.ebuild 6993 RMD160 05925a3ef1ec137068d5eb574ca505feb73b0719 SHA1 9f527004d955fb1e513337f6f93113a83b85eeae SHA256 44cf867270df2a0161b7bcc44a63a4090a24168151227db2a96a48d85b47c93f
-MISC ChangeLog 16453 RMD160 e8932fa11972457c1c77cd19085b2742d36899c2 SHA1 12a1fda721e51ac2302dd1083c57f4bb160f8f9f SHA256 e62818d8e5708c37273a2ab399c2f43a297a3d1961991231a43dd30238245cb8
+EBUILD dracut-017.ebuild 7303 RMD160 439fc10671882c8f389cf39a8e7a2ce27b5b7c21 SHA1 ed3ee53647ed83e6d43e3d18149ad2c14083ae7c SHA256 4d3cbf81b85a7419b1e0de6c60d3a6cd4c3ca7887dbe4dac5fa7dac886e5f7a3
+MISC ChangeLog 17428 RMD160 e78e45077c5302877916441a0ab8b2d4df611d66 SHA1 aba99f14a4c778632cfc42db074cdbc9d1b5e761 SHA256 02a3aa14c16382471427238cd19e1864f1706ef47b90df6e7cbd5069fe9b92eb
MISC metadata.xml 877 RMD160 cf6e2ce3aca26d92e3b0f12b6e01b90fc0c4dd80 SHA1 06e60925a137d8794d6e2351bcc0541b0c105435 SHA256 ad5b9dc7d097e501d72f7f509eed03ff28473066b1f9234b91b99b9a47c9b4f7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.18 (GNU/Linux)
-iQEcBAEBAgAGBQJPS2U5AAoJEPATRTHh2/q1VXMH/1/xXPDcx86CzClPEQFjoewE
-J6DmYBjtPK20FeIEVUJuiccWrP1FUuLERqarYp9YDMpcGTrqBm7V1b/Uy+eT3j37
-8YS8EoxO1+moAbYuuDIlARzAbSpSN0IiNpy70wc8wlQrgLmMxcpLYTw2A6mjX7Sl
-2gINgp7mdCP7NYhz9y01cfwUqZbcmYQ7SvwVpZmnw783VR1o2BiVV/pa1t1wAHXq
-7rJ8Ho0+xUaK59RRbP1ECCXevGabzbXAhQEMK72OTu4eZU65nuUGHC+m7PoxOl4U
-iK5OuFQ1TbXGp4ai0OjbIqCaG5HHbBiETys1jyMUzBtS+WJxX03Yh/okKnjerSk=
-=Y2ba
+iQEcBAEBAgAGBQJPTmrFAAoJEPATRTHh2/q1icgH/2beT1FdBU7Eji2uSrJypkvG
+AdxJCg+enGcsM257qi806Awd4nSz9WYq68PhsfhM5Q3y6UvmSC274BM3f3Vl7BSD
+ICbs5xTJeI4X5Q8RVlLbtLr4zo6EBNImKzjodoQHkmuWAXQclpp/WnSXovAZifMY
+vLl/2OrPNBFLjjcP2YIOuGS5n4dtMCa74J3m7Y0S7DEQ/IEJi+G18/cCGcvXuHMf
+NZSXeYIXIzBbUXy/vjGd3hXR/xkQLyK2W5BEUSYPXpZgAoP5yoy6OZjduGWx7TRL
+QTZIRaNoF710zk5orhCyMvIaOsNhCtSz39X1Sh3bVRkP6Q9BFjwoCFMO1IckuLY=
+=1TZk
-----END PGP SIGNATURE-----
diff --git a/sys-kernel/dracut/dracut-017.ebuild b/sys-kernel/dracut/dracut-017.ebuild
new file mode 100644
index 000000000000..a0f0d4b74659
--- /dev/null
+++ b/sys-kernel/dracut/dracut-017.ebuild
@@ -0,0 +1,261 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-017.ebuild,v 1.1 2012/02/29 18:13:20 aidecoe Exp $
+
+EAPI=4
+
+inherit eutils linux-info
+
+add_req_use_for() {
+ local dep="$1"; shift
+ local f
+
+ for f in "$@"; do
+ REQUIRED_USE+="${f}? ( ${dep} )
+"
+ done
+}
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="http://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.bz2"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+REQUIRED_USE="dracut_modules_crypt-gpg? ( dracut_modules_crypt )
+ dracut_modules_livenet? ( dracut_modules_dmsquash-live )
+ "
+COMMON_MODULES="
+ dracut_modules_biosdevname
+ dracut_modules_btrfs
+ dracut_modules_caps
+ dracut_modules_crypt-gpg
+ dracut_modules_gensplash
+ dracut_modules_mdraid
+ dracut_modules_multipath
+ dracut_modules_plymouth
+ dracut_modules_syslog
+ "
+DM_MODULES="
+ dracut_modules_crypt
+ dracut_modules_dmraid
+ dracut_modules_dmsquash-live
+ dracut_modules_livenet
+ dracut_modules_lvm
+ "
+NETWORK_MODULES="
+ dracut_modules_iscsi
+ dracut_modules_livenet
+ dracut_modules_nbd
+ dracut_modules_nfs
+ dracut_modules_ssh-client
+ "
+add_req_use_for device-mapper ${DM_MODULES}
+add_req_use_for net ${NETWORK_MODULES}
+IUSE_DRACUT_MODULES="${COMMON_MODULES} ${DM_MODULES} ${NETWORK_MODULES}"
+IUSE="debug device-mapper net selinux ${IUSE_DRACUT_MODULES}"
+
+RESTRICT="test"
+
+RDEPEND="
+ >=app-shells/bash-4.0
+ >=app-shells/dash-0.5.4.11
+ >=sys-apps/baselayout-1.12.14-r1
+ >=sys-apps/sysvinit-2.87-r3
+ >=sys-apps/util-linux-2.20
+ >=sys-fs/udev-164
+ app-arch/cpio
+ || ( >=sys-apps/module-init-tools-3.8 >sys-apps/kmod-5[tools] )
+
+ debug? ( dev-util/strace )
+ device-mapper? ( || ( sys-fs/device-mapper >=sys-fs/lvm2-2.02.33 ) )
+ net? ( net-misc/curl >=net-misc/dhcp-4.2.1-r1 sys-apps/iproute2 )
+ selinux? ( sys-libs/libselinux sys-libs/libsepol )
+ dracut_modules_biosdevname? ( sys-apps/biosdevname )
+ dracut_modules_btrfs? ( sys-fs/btrfs-progs )
+ dracut_modules_caps? ( sys-libs/libcap )
+ dracut_modules_crypt? ( sys-fs/cryptsetup )
+ dracut_modules_crypt-gpg? ( app-crypt/gnupg )
+ dracut_modules_dmraid? ( sys-fs/dmraid sys-fs/multipath-tools )
+ dracut_modules_gensplash? ( media-gfx/splashutils )
+ dracut_modules_iscsi? ( >=sys-block/open-iscsi-2.0.871.3 )
+ dracut_modules_lvm? ( >=sys-fs/lvm2-2.02.33 )
+ dracut_modules_mdraid? ( sys-fs/mdadm )
+ dracut_modules_multipath? ( sys-fs/multipath-tools )
+ dracut_modules_nbd? ( sys-block/nbd )
+ dracut_modules_nfs? ( net-fs/nfs-utils net-nds/rpcbind )
+ dracut_modules_plymouth? ( >=sys-boot/plymouth-0.8.3-r1 )
+ dracut_modules_ssh-client? ( dev-libs/openssl )
+ dracut_modules_syslog? ( || ( app-admin/syslog-ng app-admin/rsyslog ) )
+ "
+DEPEND="
+ >=dev-libs/libxslt-1.1.26
+ app-text/docbook-xml-dtd:4.5
+ >=app-text/docbook-xsl-stylesheets-1.75.2
+ "
+
+#
+# Helper functions
+#
+
+# Returns true if any of specified modules is enabled by USE flag and false
+# otherwise.
+# $1 = list of modules (which have corresponding USE flags of the same name)
+any_module() {
+ local m modules=" $@ "
+
+ for m in ${modules}; do
+ ! use $m && modules=${modules/ $m / }
+ done
+
+ shopt -s extglob
+ modules=${modules%%+( )}
+ shopt -u extglob
+
+ [[ ${modules} ]]
+}
+
+# Removes module from modules.d.
+# $1 = module name
+# Module name can be specified without number prefix.
+rm_module() {
+ local force m
+ [[ $1 = -f ]] && force=-f
+
+ for m in $@; do
+ if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
+ rm ${force} --interactive=never -r "${modules_dir}"/$m
+ else
+ rm ${force} --interactive=never -r "${modules_dir}"/[0-9][0-9]$m
+ fi
+ done
+}
+
+# Displays Gentoo Base System major release number
+base_sys_maj_ver() {
+ local line
+
+ read line < /etc/gentoo-release
+ line=${line##* }
+ echo "${line%%.*}"
+}
+
+#
+# ebuild functions
+#
+
+src_prepare() {
+ epatch "${FILESDIR}/${P}-multipath-udev-rules.patch"
+ epatch "${FILESDIR}/${P}-usrmount-fstab-comments.patch"
+ epatch "${FILESDIR}/${P}-usrmount-newroot-etc-check.patch"
+ epatch "${FILESDIR}/${P}-convertfs-fix-check-for-usr-bin.patch"
+ epatch "${FILESDIR}/${P}-crypt-simplify-rd.luks.uuid-testing.patch"
+}
+
+src_compile() {
+ emake WITH_SWITCH_ROOT=0
+}
+
+src_install() {
+ emake WITH_SWITCH_ROOT=0 \
+ prefix=/usr sysconfdir=/etc DESTDIR="${D}" \
+ install
+ dosym usr/lib/dracut/dracut-functions dracut-functions.sh
+
+ local gen2conf
+
+ dodir /var/lib/dracut/overlay
+ dodoc HACKING TODO AUTHORS NEWS README*
+
+ case "$(base_sys_maj_ver)" in
+ 1) gen2conf=gentoo.conf ;;
+ 2) gen2conf=gentoo-openrc.conf ;;
+ *) die "Expected ver. 1 or 2 of Gentoo Base System (/etc/gentoo-release)."
+ esac
+
+ insinto /etc/dracut.conf.d
+ newins dracut.conf.d/${gen2conf}.example ${gen2conf}
+
+ insinto /etc/logrotate.d
+ newins dracut.logrotate dracut
+
+ #
+ # Modules
+ #
+ local module
+ modules_dir="${D}/usr/lib/dracut/modules.d"
+
+ echo "${PF}" > "${modules_dir}"/10rpmversion/dracut-version \
+ || die 'dracut-version failed'
+
+ # Remove modules not enabled by USE flags
+ for module in ${IUSE_DRACUT_MODULES} ; do
+ ! use ${module} && rm_module -f ${module#dracut_modules_}
+ done
+
+ # Those flags are specific, and even are corresponding to modules, they need
+ # to be declared as regular USE flags.
+ use debug || rm_module 95debug
+ use selinux || rm_module 98selinux
+
+ # Following flags define set of helper modules which are base dependencies
+ # for others and as so have no practical use, so remove these modules.
+ use device-mapper || rm_module 90dm
+ use net || rm_module 40network 45ifcfg 45url-lib
+
+ # Remove S/390 modules which are not tested at all
+ rm_module 95dasd 95dasd_mod 95zfcp 95znet
+
+ # Remove modules which won't work for sure
+ rm_module 95fcoe # no tools
+ # fips module depends on masked app-crypt/hmaccalc
+ rm_module 01fips 02fips-aesni
+
+ # Remove extra modules which go to future dracut-extras
+ rm_module 00bootchart 05busybox 97masterkey 98ecryptfs 98integrity
+}
+
+pkg_postinst() {
+ if linux-info_get_any_version && linux_config_src_exists; then
+ echo
+ ewarn "If the following test report contains a missing kernel"
+ ewarn "configuration option, you should reconfigure and rebuild your"
+ ewarn "kernel before booting image generated with this Dracut version."
+ echo
+
+ local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS ~MODULES"
+
+ # Kernel configuration options descriptions:
+ local desc_DEVTMPFS="Maintain a devtmpfs filesystem to mount at /dev"
+ local desc_BLK_DEV_INITRD="Initial RAM filesystem and RAM disk "\
+"(initramfs/initrd) support"
+ local desc_MODULES="Enable loadable module support"
+
+ local opt desc
+
+ # Generate ERROR_* variables for check_extra_config.
+ for opt in ${CONFIG_CHECK}; do
+ opt=${opt#\~}
+ desc=desc_${opt}
+ eval "local ERROR_${opt}='CONFIG_${opt}: \"${!desc}\"" \
+ "is missing and REQUIRED'"
+ done
+
+ check_extra_config
+ echo
+ fi
+
+ elog 'To generate the initramfs:'
+ elog ' # mount /boot (if necessary)'
+ elog ' # dracut "" <kernel-version>'
+ elog ''
+ elog 'For command line documentation see dracut.kernel(7).'
+ elog ''
+ elog 'Simple example to select root and resume partition:'
+ elog ' root=/dev/sda1 resume=/dev/sda2'
+ elog ''
+ elog 'To include only dracut modules and kernel drivers for this system,'
+ elog 'use the "-H" option. Some modules need to be explicitly added with'
+ elog '"-a" option even if required tools are installed.'
+}
diff --git a/sys-kernel/dracut/files/dracut-017-convertfs-fix-check-for-usr-bin.patch b/sys-kernel/dracut/files/dracut-017-convertfs-fix-check-for-usr-bin.patch
new file mode 100644
index 000000000000..257032848480
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-017-convertfs-fix-check-for-usr-bin.patch
@@ -0,0 +1,57 @@
+From b6aaac5020cd2e4ee8aaff300ed1a2dbf7bcd6b4 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 29 Feb 2012 13:21:51 +0100
+Subject: [PATCH 3/4] 30convertfs/convertfs.sh: correct check for /usr/bin
+
+---
+ modules.d/30convertfs/convertfs.sh | 17 ++++++++++-------
+ 1 files changed, 10 insertions(+), 7 deletions(-)
+
+diff --git a/modules.d/30convertfs/convertfs.sh b/modules.d/30convertfs/convertfs.sh
+index 69c3b3e..aa2c8b1 100755
+--- a/modules.d/30convertfs/convertfs.sh
++++ b/modules.d/30convertfs/convertfs.sh
+@@ -21,13 +21,13 @@ while [[ "$ROOT" != "${ROOT%/}" ]]; do
+ ROOT=${ROOT%/}
+ done
+
+-if [ ! -L $ROOT/var/run ]; then
++if [ ! -L $ROOT/var/run -a -e $ROOT/var/run ]; then
+ echo "Converting /var/run to symlink"
+ mv -f $ROOT/var/run $ROOT/var/run.runmove~
+ ln -sfn ../run $ROOT/var/run
+ fi
+
+-if [ ! -L $ROOT/var/lock ]; then
++if [ ! -L $ROOT/var/lock -a -e $ROOT/var/lock ]; then
+ echo "Converting /var/lock to symlink"
+ mv -f $ROOT/var/lock $ROOT/var/lock.lockmove~
+ ln -sfn ../run/lock $ROOT/var/lock
+@@ -42,16 +42,19 @@ needconvert() {
+ return 1
+ }
+
++if ! [ -e "$ROOT/usr/bin" ]; then
++ echo "$ROOT/usr/bin does not exist!"
++ echo "Make sure, the kernel command line has enough information"
++ echo "to mount /usr (man dracut.cmdline)"
++ exit 1
++fi
++
++
+ if ! needconvert; then
+ echo "Your system is already converted."
+ exit 0
+ fi
+
+-if [ -e "$ROOT/usr/bin" ]; then
+- echo "$ROOT/usr/bin does not exist"
+- exit 1
+-fi
+-
+ testfile="$ROOT/.usrmovecheck$$"
+ rm -f "$testfile"
+ > "$testfile"
+--
+1.7.8.4
+
diff --git a/sys-kernel/dracut/files/dracut-017-crypt-simplify-rd.luks.uuid-testing.patch b/sys-kernel/dracut/files/dracut-017-crypt-simplify-rd.luks.uuid-testing.patch
new file mode 100644
index 000000000000..43572cb4bafe
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-017-crypt-simplify-rd.luks.uuid-testing.patch
@@ -0,0 +1,40 @@
+From a654b70ec172be6de1662011b723ca2ba8afbd64 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Wed, 29 Feb 2012 16:20:02 +0100
+Subject: [PATCH 4/4] 90crypt/parse-crypt.sh: simplify rd.luks.uuid testing
+
+---
+ modules.d/90crypt/parse-crypt.sh | 15 ++-------------
+ 1 files changed, 2 insertions(+), 13 deletions(-)
+
+diff --git a/modules.d/90crypt/parse-crypt.sh b/modules.d/90crypt/parse-crypt.sh
+index 2ab3a9f..f96b59a 100755
+--- a/modules.d/90crypt/parse-crypt.sh
++++ b/modules.d/90crypt/parse-crypt.sh
+@@ -24,21 +24,10 @@ else
+ printf -- '$env{DEVNAME} luks-$env{ID_FS_UUID} %s"\n' $tout
+ } >> /etc/udev/rules.d/70-luks.rules.new
+
+-
+- [ -e $hookdir/initqueue/finished/90-crypt.sh ] || \
+- {
+- printf -- 'UUIDS=:\n'
+- printf -- 'for dm in /dev/dm-*; do\n'
+- printf -- '[ -e "$dm" ] || exit 1\n'
+- printf -- 'dmid=`/sbin/dmsetup info -c -o uuid --noheadings "$dm"`\n'
+- printf -- 'uuid=${dmid#CRYPT-LUKS*-}\n'
+- printf -- '[ "x$uuid" = "x$dmid" ] && continue\n'
+- printf -- 'UUIDS="${UUIDS}${uuid%%%%-*}:"\n'
+- printf -- 'done\n'
+- } > $hookdir/initqueue/finished/90-crypt.sh
+ uuid=$luksid
+ while [ "$uuid" != "${uuid#*-}" ]; do uuid=${uuid%%-*}${uuid#*-}; done
+- printf -- '[ "x${UUIDS#*:%s*:}" != "x$UUIDS" ] || exit 1\n' $uuid >> $hookdir/initqueue/finished/90-crypt.sh
++ printf -- '[ -e /dev/disk/by-id/dm-uuid-CRYPT-LUKS?-*%s*-* ] || exit 1\n' $uuid \
++ >> $hookdir/initqueue/finished/90-crypt.sh
+
+ {
+ printf -- '[ -e /dev/disk/by-uuid/*%s* ] || ' $luksid
+--
+1.7.8.4
+
diff --git a/sys-kernel/dracut/files/dracut-017-multipath-udev-rules.patch b/sys-kernel/dracut/files/dracut-017-multipath-udev-rules.patch
new file mode 100644
index 000000000000..2b9cffad38c4
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-017-multipath-udev-rules.patch
@@ -0,0 +1,24 @@
+From 7f3e0c13f1c10e93c3823b6367f9ac83865f3d90 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
+Date: Fri, 25 Feb 2011 01:44:25 +0100
+Subject: [PATCH] 90multipath: added kpartx.rules; multipath.rules - different prefix
+
+---
+ modules.d/90multipath/module-setup.sh | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/modules.d/90multipath/module-setup.sh b/modules.d/90multipath/module-setup.sh
+index f78517c..3f4f612 100755
+--- a/modules.d/90multipath/module-setup.sh
++++ b/modules.d/90multipath/module-setup.sh
+@@ -58,6 +58,6 @@ install() {
+
+ inst_hook pre-trigger 02 "$moddir/multipathd.sh"
+ inst_hook pre-pivot 02 "$moddir/multipathd-stop.sh"
+- inst_rules 40-multipath.rules
++ inst_rules 40-multipath.rules 65-multipath.rules 66-kpartx.rules
+ }
+
+--
+1.7.4.1
+
diff --git a/sys-kernel/dracut/files/dracut-017-usrmount-fstab-comments.patch b/sys-kernel/dracut/files/dracut-017-usrmount-fstab-comments.patch
new file mode 100644
index 000000000000..4d7f22b75228
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-017-usrmount-fstab-comments.patch
@@ -0,0 +1,24 @@
+From cc74a06f4cf602f198092284d196fc4507bd806c Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Tue, 28 Feb 2012 12:54:01 +0100
+Subject: [PATCH 1/4] 98usrmount/mount-usr.sh: ignore comments in fstab
+
+---
+ modules.d/98usrmount/mount-usr.sh | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
+index 3e23b15..f9d049e 100755
+--- a/modules.d/98usrmount/mount-usr.sh
++++ b/modules.d/98usrmount/mount-usr.sh
+@@ -39,6 +39,7 @@ mount_usr()
+ local _dev _mp _fs _opts _rest _usr_found _ret _freq _passno
+ # check, if we have to mount the /usr filesystem
+ while read _dev _mp _fs _opts _freq _passno; do
++ [ "${_dev%%#*}" != "$_dev" ] && continue
+ if [ "$_mp" = "/usr" ]; then
+ case "$_dev" in
+ LABEL=*)
+--
+1.7.8.4
+
diff --git a/sys-kernel/dracut/files/dracut-017-usrmount-newroot-etc-check.patch b/sys-kernel/dracut/files/dracut-017-usrmount-newroot-etc-check.patch
new file mode 100644
index 000000000000..cf5a2c678c4d
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-017-usrmount-newroot-etc-check.patch
@@ -0,0 +1,25 @@
+From fdcfa200db3d2482ef1f63a4c6d024a556d17337 Mon Sep 17 00:00:00 2001
+From: Harald Hoyer <harald@redhat.com>
+Date: Tue, 28 Feb 2012 16:35:08 +0100
+Subject: [PATCH 2/4] 98usrmount/mount-usr.sh: check, if we have
+ $NEWROOT/etc/fstab
+
+---
+ modules.d/98usrmount/mount-usr.sh | 4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
+index f9d049e..39f75b9 100755
+--- a/modules.d/98usrmount/mount-usr.sh
++++ b/modules.d/98usrmount/mount-usr.sh
+@@ -73,4 +73,6 @@ mount_usr()
+ fi
+ }
+
+-mount_usr
++if [ -f "$NEWROOT/etc/fstab" ]; then
++ mount_usr
++fi
+--
+1.7.8.4
+