sys-kernel/dracut-014: Fixed bug #396575 and revbumped to r1.
authorAmadeusz Żołnowski <aidecoe@gentoo.org>
Thu, 12 Jan 2012 16:35:22 +0000 (16:35 +0000)
committerAmadeusz Żołnowski <aidecoe@gentoo.org>
Thu, 12 Jan 2012 16:35:22 +0000 (16:35 +0000)
Fixed fsck usage error on /usr mount wrt bug #396575.

Package-Manager: portage-2.1.10.44/cvs/Linux x86_64

sys-kernel/dracut/ChangeLog
sys-kernel/dracut/Manifest
sys-kernel/dracut/dracut-014-r1.ebuild [new file with mode: 0644]
sys-kernel/dracut/files/dracut-014-usrmount-fsck-fix.patch [new file with mode: 0644]

index b4c0a20079321a4482938508c24945dbc1aba5cf..fb59c93571f71b8af8699f12934472192825d702 100644 (file)
@@ -1,6 +1,12 @@
 # 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.39 2012/01/11 09:58:12 aidecoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.40 2012/01/12 16:35:22 aidecoe Exp $
+
+*dracut-014-r1 (12 Jan 2012)
+
+  12 Jan 2012; Amadeusz Żołnowski <aidecoe@gentoo.org> +dracut-014-r1.ebuild,
+  +files/dracut-014-usrmount-fsck-fix.patch:
+  Fixed fsck usage error on /usr mount wrt bug #396575.
 
   11 Jan 2012; Amadeusz Żołnowski <aidecoe@gentoo.org> +dracut-010-r3.ebuild,
   +files/dracut-010-empty-etc-ld.so.conf.d.patch,
index 987e919f8cf0da481b35ae0ddac543afa5d9b83e..84026dd12815f95cbed3ef78e779a0ee7be7e7ea 100644 (file)
@@ -10,22 +10,24 @@ AUX dracut-013-livenet-gentoo-ca-bundle-path.patch 2434 RMD160 6b25686da38045cd5
 AUX dracut-013-makefile-manpages.patch 1351 RMD160 09f3fe7b488b3ff5aaa11f7c8a671cf342b35c78 SHA1 d0d42f0e0459f7733f34daa785064bafb754b131 SHA256 3eb118087ea1e3e816d6bc912075eb7d086a22cfb774c7b224fe707581740568
 AUX dracut-013-multipath-udev-rules.patch 848 RMD160 99527326b1c5c33647a750d4bba2da9b6b5f0c92 SHA1 353c065322645f063fd3ae90ece7635eab8225ed SHA256 0e2215897b7cbac1bf9c84b42d6eb8af4438674934749bc339f768cba6662c18
 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
 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
 EBUILD dracut-010-r3.ebuild 6065 RMD160 a22dc9a5262b0f8e5e0464f6ae7ac7e9e0569f0d SHA1 94dc7e9fde02a332a22d605e142f73336ac3a1c3 SHA256 c905f82f3ce5097abcbc240a2cdc92d0306c8750cc0102c2bcfea464d250b57b
 EBUILD dracut-013-r2.ebuild 6358 RMD160 b5032e1e7b6aad9291819474ee2527cbd93a5c74 SHA1 84bcde740a5f59bbc86df7cb67ea4c2d7ca66387 SHA256 d068b0b40efb8c589e5f22d5642421781efba38ed71476eb119a1ef32db89bba
+EBUILD dracut-014-r1.ebuild 6197 RMD160 a6d5c77f118004c7b926f07599d79d0bcb2e95e8 SHA1 50f0941fcee91afdfca28f1c06d00b14e7b70b73 SHA256 2488eaf09d220abe7d39b3593522eda8e56c7974fea600711494464ac9bc0369
 EBUILD dracut-014.ebuild 6143 RMD160 e427aa08f4b663478a3ddebfd7055e62f61575c5 SHA1 3f26ce3b5a37354faca10f3ea5e75b9adc881645 SHA256 3e08dcb3aea4a8759216620fd9c99493cfc8f631d7c4f9f1ace939a1b3e284e3
-MISC ChangeLog 12977 RMD160 77951747013ac4f4bbd212e3a6c5846c1672ad1d SHA1 7720b9516f978e8858e05bb6f51ce29208ab1ef2 SHA256 942b71edcbb4a06dfb34c9afd31a35e31598119753915c6534b605cc6a7242a0
+MISC ChangeLog 13189 RMD160 36fe42537ba9198feead088a7a22604c90f9f92b SHA1 f60e3862abeca929930203913e5fb113be95d71e SHA256 5b7c144b817af9a3dc36227930f6adb1721e8e0875fedfeda773df947d2c7f7f
 MISC metadata.xml 602 RMD160 cd11704bfcf7aca599c2671b91416112fdb2cc75 SHA1 d2345b2bb4d17a6887754a7569d7d91f32f42df2 SHA256 c234e9242c61200d81fe2ba3b58deaab911bc36413d657a61580ca6de69f2412
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2.0.18 (GNU/Linux)
 
-iQEcBAEBAgAGBQJPDV05AAoJEPATRTHh2/q1x84IAIQcpOc6mD3yIjmEQjFsDS+2
-CHyJklVA7pfDYRbdZ1+pA5aBSLN9LazyKsubMgShUZlqmNPqyDe6NF3sedRgIemw
-yDGZNAUxl1cj4UYMsc1ztihNwAuzzK9FULwONl9hbxWpguDMDWJx5ZMuJemSPcP4
-RxFhUAysX+L1U2XHZjHQciSiU9SLkoRPJXCxFxEBUE4jEPYXGSd1zYkHdeBqUfRB
-Vi+WTBhz2j+LsMeaVdaspItHGqvvWIB0lOD7E8OzJrixeuysDmMogvoOVcXeDpSl
-/+00NsAcDZryxq/2KCve58TxJ1MvFbkRxMhpn3OCmTXFjI6x4ivoS2N14POYxA8=
-=2+2y
+iQEcBAEBAgAGBQJPDwvPAAoJEPATRTHh2/q1F1AH/jZIrN3BhQGqxaMiVWZaBhnw
+pj9RqaqVB00Ml1Uy2GDVZHTux6MnDM8DUxNhkGgbEalvhKzf9oWp9zMrN/0XGT1x
+74mFmUURWUmSlectqE/hxvQH8d1L5/0v9tUR0HUcx42eMEa9+tbtOHrW31ilyxDR
+XUbhFK+3JnrCORd2YQ1rDfoA7mlmvltlMh+B/2r8yXTCoeCJlcKwLOTFTJ2c4/tb
+TudvASAVHAl5mWJQLxpiRJCSTFRoI20mdHAgzcNBW+K5MqZRqq0vzpL8jzYB6ICg
+7WjwVfz6Tf6viaPjiBBv5xbreB3Gc1bwLCCBNTKUTxBYsVWWfe/pKoVipCCe8ew=
+=o7Z9
 -----END PGP SIGNATURE-----
diff --git a/sys-kernel/dracut/dracut-014-r1.ebuild b/sys-kernel/dracut/dracut-014-r1.ebuild
new file mode 100644 (file)
index 0000000..429d8bd
--- /dev/null
@@ -0,0 +1,224 @@
+# 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-014-r1.ebuild,v 1.1 2012/01/12 16:35:22 aidecoe Exp $
+
+EAPI=4
+
+inherit eutils
+
+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="~x86 ~amd64"
+REQUIRED_USE="dracut_modules_livenet? ( dracut_modules_dmsquash-live )
+       dracut_modules_crypt-gpg? ( dracut_modules_crypt )
+       "
+
+BASIC_MODULES="
+       "
+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
+       "
+NETWORK_MODULES="
+       dracut_modules_iscsi
+       dracut_modules_livenet
+       dracut_modules_nbd
+       dracut_modules_nfs
+       "
+DM_MODULES="
+       dracut_modules_crypt
+       dracut_modules_dmraid
+       dracut_modules_dmsquash-live
+       dracut_modules_livenet
+       dracut_modules_lvm
+       "
+IUSE_DRACUT_MODULES="${COMMON_MODULES} ${DM_MODULES} ${NETWORK_MODULES}"
+IUSE="debug selinux ${IUSE_DRACUT_MODULES}"
+RESTRICT="test"
+
+NETWORK_DEPS=">=net-misc/dhcp-4.2.1-r1 sys-apps/iproute2"
+DM_DEPS="|| ( sys-fs/device-mapper >=sys-fs/lvm2-2.02.33 )"
+
+RDEPEND="
+       >=app-shells/bash-4.0
+       >=app-shells/dash-0.5.4.11
+       >=sys-apps/baselayout-1.12.14-r1
+       >=sys-apps/module-init-tools-3.8
+       >=sys-apps/sysvinit-2.87-r3
+       >=sys-apps/util-linux-2.16
+       >=sys-fs/udev-164
+       app-arch/cpio
+
+       debug? ( dev-util/strace )
+       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 ${DM_DEPS} )
+       dracut_modules_crypt-gpg? ( app-crypt/gnupg )
+       dracut_modules_dmraid? ( sys-fs/dmraid sys-fs/multipath-tools ${DM_DEPS} )
+       dracut_modules_dmsquash-live? ( ${DM_DEPS} )
+       dracut_modules_gensplash? ( media-gfx/splashutils )
+       dracut_modules_iscsi? ( >=sys-block/open-iscsi-2.0.871.3 ${NETWORK_DEPS} )
+       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 ${NETWORK_DEPS} )
+       dracut_modules_nfs? ( net-fs/nfs-utils net-nds/rpcbind ${NETWORK_DEPS} )
+       dracut_modules_plymouth? ( >=sys-boot/plymouth-0.8.3-r1 )
+       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 m
+
+       for m in $@; do
+               if [[ $m =~ ^[0-9][0-9][^\ ]*$ ]]; then
+                       rm -rf "${modules_dir}"/$m
+               else
+                       rm -rf "${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-fsck-fix.patch"
+}
+
+src_compile() {
+       emake WITH_SWITCH_ROOT=0
+}
+
+src_install() {
+       emake WITH_SWITCH_ROOT=0 \
+               prefix=/usr sysconfdir=/etc DESTDIR="${D}" \
+               install
+
+       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 ${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
+
+       ! any_module ${DM_MODULES} && rm_module 90dm
+       ! any_module ${NETWORK_MODULES} && rm_module 45ifcfg 40network
+
+       # 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() {
+       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 'The default config (in /etc/dracut.conf) is very minimal and is highly'
+       elog 'recommended you adjust based on your needs. To include only dracut'
+       elog 'modules and kernel drivers for this system, use the "-H" option.'
+       elog 'Some modules need to be explicitly added with "-a" option even if'
+       elog 'required tools are installed.'
+       echo
+       elog 'Options (documented in dracut.kernel(7)) have new format since'
+       elog 'version 008. Old format is preserved, but will be removed in future.'
+       elog 'Please migrate to the new one.'
+       echo
+       elog 'Some dependencies were removed, because they are optional. dracut'
+       elog "will inform you with a warning when you're lacking something optional."
+}
diff --git a/sys-kernel/dracut/files/dracut-014-usrmount-fsck-fix.patch b/sys-kernel/dracut/files/dracut-014-usrmount-fsck-fix.patch
new file mode 100644 (file)
index 0000000..2ed5283
--- /dev/null
@@ -0,0 +1,45 @@
+From 5926a2cb526f11d4a4a3cd3980e5894f8e96e615 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
+Date: Thu, 12 Jan 2012 10:23:38 +0100
+Subject: [PATCH] 98usrmount: don't pass fstab fs options as fsck options
+
+For example for line in /etc/fstab:
+
+  /dev/vg/usr  /usr  ext4  nosuid,nodev  0 2
+
+fsck_single is called as follows:
+
+  fsck_single /dev/vg/usr ext4 nosuid,nodev
+
+and this eventually resolves to:
+
+  e2fsck -a nosuid,nodev /dev/vg/usr
+
+which causes e2fsck usage error.
+---
+ modules.d/98usrmount/mount-usr.sh |    4 ++--
+ 1 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/modules.d/98usrmount/mount-usr.sh b/modules.d/98usrmount/mount-usr.sh
+index a61f935..fc205d5 100755
+--- a/modules.d/98usrmount/mount-usr.sh
++++ b/modules.d/98usrmount/mount-usr.sh
+@@ -19,7 +19,7 @@ mount_usr()
+     if [ "x$_usr_found" != "x" ]; then
+         # we have to mount /usr
+-        fsck_single "$_dev" "$_fs" "$_opts"
++        fsck_single "$_dev" "$_fs"
+         _ret=$?
+         echo $_ret >/run/initramfs/usr-fsck
+         if [ $_ret -ne 255 ]; then
+@@ -29,4 +29,4 @@ mount_usr()
+     fi
+ }
+-mount_usr
+\ No newline at end of file
++mount_usr
+-- 
+1.7.8.3
+