Clean up patches for upcoming stabilization.
authorAmadeusz Żołnowski <aidecoe@gentoo.org>
Tue, 24 Mar 2015 13:12:06 +0000 (13:12 +0000)
committerAmadeusz Żołnowski <aidecoe@gentoo.org>
Tue, 24 Mar 2015 13:12:06 +0000 (13:12 +0000)
Package-Manager: portage-2.2.18/cvs/Linux x86_64
Manifest-Sign-Key: 0xF0134531E1DBFAB5

sys-kernel/dracut/ChangeLog
sys-kernel/dracut/Manifest
sys-kernel/dracut/dracut-041-r1.ebuild [new file with mode: 0644]
sys-kernel/dracut/files/041-r1-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch [new file with mode: 0644]
sys-kernel/dracut/files/041-r1-0002-Install-dracut-install-and-skipcpio-in.patch [new file with mode: 0644]
sys-kernel/dracut/files/041-r1-0003-Take-into-account-lib64-dirs-when-dete.patch [new file with mode: 0644]
sys-kernel/dracut/files/041-r1-0004-Don-t-install-scripts-in-kernel-instal.patch [new file with mode: 0644]

index 0d5a92cf43f86390ad08d4662e0bd972c6d88c0e..e10207c4c10655093a5474eb197d7ba1d01a84ec 100644 (file)
@@ -1,6 +1,15 @@
 # ChangeLog for sys-kernel/dracut
 # Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.186 2015/02/18 17:02:17 aidecoe Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/ChangeLog,v 1.187 2015/03/24 13:12:00 aidecoe Exp $
+
+*dracut-041-r1 (24 Mar 2015)
+
+  24 Mar 2015; Amadeusz Żołnowski <aidecoe@gentoo.org> +dracut-041-r1.ebuild,
+  +files/041-r1-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch,
+  +files/041-r1-0002-Install-dracut-install-and-skipcpio-in.patch,
+  +files/041-r1-0003-Take-into-account-lib64-dirs-when-dete.patch,
+  +files/041-r1-0004-Don-t-install-scripts-in-kernel-instal.patch:
+  Clean up patches for upcoming stabilization.
 
 *dracut-041 (17 Feb 2015)
 
index ea974d939639f1110660912e43766df85aa320ea..63683f05d8c37ee9c2cd7bc852dc7d04b8057f1f 100644 (file)
@@ -26,6 +26,10 @@ AUX 041-0002-gentoo.conf-let-udevdir-be-handled-by-.patch 948 SHA256 54d4df39b01
 AUX 041-0003-Use-the-same-paths-in-dracut.sh-as-tho.patch 2410 SHA256 c8756f630d6e27397ebe60b0cc3c0d4e1d7622013fc8f4461fca5a6bb8a81b29 SHA512 4e057e401bf8301d77a113e0a37d0092ca451beb3210133f9729258d405224035b27fac731c0494e4a19affe7cbc3c4d962b20dd32acecdf77d9c7ac08061b83 WHIRLPOOL ce912e42d1c3cbb6156c9cf48d3c12cdf949883b6c2daabaab3f40508c239fe881d561a57fc4e07ee333f7deb2ae4eeedeb96536839562b11554c7514fc7899b
 AUX 041-0004-Install-dracut-install-into-libexec-di.patch 2663 SHA256 542b01eb6c403ea744a35505376d5aca09d515085b13a1539faebdc161ae0827 SHA512 656d79a3824f01f50c9d8d7455f3d2dae3df4958ae5d712d87eff297c7383dfe67bb5efabecd7bc211f210415355e544c6c38d2fc03b5b5f59e57704662cbabc WHIRLPOOL 274f8633f38590b777d6d4b65950a505cee7498d3ffceebb6cf5d2566e4a03bf261aa8926abf5e3eea4944098983b30e9ead60f7655ff6b3f762135ca6aa33ff
 AUX 041-0005-Take-into-account-lib64-dirs-when-dete.patch 1877 SHA256 9f0ddd9dc36d35a740d45c1e4af6af71718dbb4b46ca25501170f11e6de17f57 SHA512 c2fbfda6ef2f4b6a8b880b525716adab48c42b6862a6abec2c6561afdb3cf35ad34464cfa744780cd597c52aee8db665009929c61c6e5eae8f688d954d967a4a WHIRLPOOL baf231bde44e8bc722c01d379d1016eb665f43a0730dd8f0fb4fa92a4ccd0da06a0bf905f54652dc63a659bc58851c644c551e28b561845f8d7b90627fdfaba9
+AUX 041-r1-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch 2410 SHA256 31f7ef0e7837f7f3977c29eb6102beb238e170edbdbbe0da0c9e0893424a22b7 SHA512 98e3ceaf1ad196ca951ef48aae5dae6eb4ee2eb603d7d842fd134c24713bceb9732efc5924670abd32409c82c6a1cec60b24da1353fd7846f1af475008dccabc WHIRLPOOL 847df267c421d01a220816e803802394e321a75f9b0130209844e717e1692e38961108590f2148e2a57737150c27a94ebd78b5d7c2ec9c5a5d5816348aa18a52
+AUX 041-r1-0002-Install-dracut-install-and-skipcpio-in.patch 4255 SHA256 b32c724c08daefa3886e11a5b098da6ef66039ef01378ea24beb52b81cd61b83 SHA512 cc6b09811729b177885600c7c5de061051e8b15ee190396665e705d086f723b28c0b4b892ba1faee645765b364361b03d6f70c1039b48b745c6c50d82e090db6 WHIRLPOOL d8e7ca8444fe61e293947b347e31cd96110f1b25aa8a997cca9cf7f45cee44820d1bb2902dfd46b67c3f8c74bed2d78a37132ed8a91ad75eee2c152077551840
+AUX 041-r1-0003-Take-into-account-lib64-dirs-when-dete.patch 2028 SHA256 2726bd4eea86017fb443ed1375408a64c01e1070702c14c349bcd0a5e276eacb SHA512 b71a9c884974b22389370ca3c72fad7dccb3ce3f80fcca230e47b68928bf5ed388707433d9093277bfc2a9d20f261d2abe1ecd639ebd147582bd6a6792cacfe4 WHIRLPOOL c02d50137b5a5d21c530a20e2e04c08dfd53b2c6ead6f4f976b10aaf2cb3f472590435ee9c1e619bfaa354c34a950b1b7bec41699c72903df566024f2a30a47d
+AUX 041-r1-0004-Don-t-install-scripts-in-kernel-instal.patch 1122 SHA256 3275d9a1845c4f66b974f6da7933b228c3360a14e30706867d1b881bf0246fa8 SHA512 ee7711b680c3fc107590dd2f6d9657104efd8174a204cbbe7ce2a84b36a78b6af433b7f080ef57de5e2e544e924012aa1a5ef1e336f9d7218a3f7fb9af3d908d WHIRLPOOL 8f087073ea068ef859a17c50d4690d4625cc737157a2099eaebb1f9ca0bb214db1159856ff333f27ff389e9798cb18917c5fc2b9cb48d2cca8891cf77e47f551
 DIST 034-0010-module-setup.sh-add-comments.patch.bz2 6424 SHA256 fbcb940c83e362cc93a78c5be28ffd7c794a331f992498e451d69c1830f054fa SHA512 e5e41b8696716c5284ea981ae85dbe688c5c31330e400c79f4ba46890939dffdd7744e4a85d27d074987a8db65114332171af0a5471338e3e4bed19d54edc6fd WHIRLPOOL c5d29ef2f20aa752e57180be35a2014c214a25e4e49d3f623d05cd6ef1debd2cec38d24453ecb0c004cdbb52239f0d541ddc9df065ab84fb7d62c30594704347
 DIST dracut-034.tar.bz2 277692 SHA256 48c7fd57e287d4f34dfff5b5ead14a4511926858f1e2ffaa40b762f257516d7f SHA512 ae06510668e63550d4d6b509b314c7668880387cfe696fc7f21cf04cc488be743440871dbd1fcf4e8314f9aa9e61ee3e78a42a75631123c420767677c6744e34 WHIRLPOOL 0412dea239fbd82d79e873869211ea31b7495dac74d7079e8aa52dd8d2484986fd0a0831aefffe29cfe5acfbf64fa01a9a1fa742192a28276a8671b663a69e13
 DIST dracut-040.tar.xz 263944 SHA256 b6e743353804b46e350177b9ecb9a8511df7e8c4ff9e0b4f3b4f72bc509c98a3 SHA512 6bc6a714572cc18c4cf9f9c1af4bc787287554ead1e39fbec8a1b8986585cf8c7c7ef476f87fc361f565eb344fe2594d63185ffe02cc5fa7cc3eaa03bcb4b72b WHIRLPOOL d8dbdbf6cb7705a0b7793f82a0323c49b4ac0dc3d61cf0073e3061f34af0b5c92dd21a7dc080f2a8d24d3eef3abc99df91f113675721267352f934f1319c66ba
@@ -33,17 +37,18 @@ DIST dracut-041.tar.xz 268288 SHA256 8ece6c2240bf0e9283e5f717b65dfcd6830b3ef7f8d
 EBUILD dracut-034-r4.ebuild 10446 SHA256 80ab338aeeadb2fbd62f2ecfd61b35ea79acabbda0f927af1e28523e166ba092 SHA512 c8a0190f302d986f808886e5e2846f094c62a3c6d8073559237b54d1f3e70334db3f0b6eace31e6b57825dab3a261a2e6c23fad542a54a04fd7938dade3f2c4b WHIRLPOOL 3ea152d45dad874279424f38c67eafb4c30f9d61fdc23a9256178aea6268ad4be68ebac193839e0c6f9f66ca47305f6d1eb637862bc710dbb2ee3403aac0dbb5
 EBUILD dracut-040-r2.ebuild 7925 SHA256 70525b9785a16f408f41e35c8e1bd544fb0a6002b72878fc87f8ab10a6bb9418 SHA512 b6b9aac944574fefd3609c36abf382478981136c855bdc46be5eb1ac08ca450e8404cf81dc2c214be41c2deacf8b5bdf54281e2538baee4485adfc603e3de907 WHIRLPOOL c238ab3f7197efc19fbc7a77308f19d91df104ce8b46805cdfb8244ec731e0fa3a179d4f9aeec1922b1612bc00315bafca7bf2d4a41a3894fb5b59da382cbe06
 EBUILD dracut-040-r3.ebuild 7998 SHA256 b9201824939326f805e9be6257b48ccf4d3d896364d4084a07f2d978c74d9255 SHA512 eaf85f05d3f63e50ab4e5d4ca7140dd96cb029ff789dbec5fca6ff557713be7bd187c445543cca53b7ba2bf15f12d808c5390f8dd8c1c199cbcbd6b065b7e887 WHIRLPOOL 854a55cb81b5b5f33573fe14fd32c0ef4fbe189bf4339bf9155824ffcd726f0aad74d3071dcb9a11fbe863ed7435b448870bd0b13b2f06e6c2575b387156836e
+EBUILD dracut-041-r1.ebuild 7887 SHA256 dec381287097fba0ca1cfa72f2b102b28060120f09040e88bfbc0cdc96504873 SHA512 89e778c66f45d2d3380f79c27cea5dbba26a07b4f99debabaaf035cd2eb4c5945ee904db5c9003fcb20e73cf57559821c6536d35eb4f905dc7f9c4e831cd621a WHIRLPOOL 1292a2e6ee57fe8da7d5377a7a02a895c7157e16a785fc162b6791dd5594bd9aa6cc2c253cfc07941d13506b14237ad3f7ea352254556a4344a88d4623051109
 EBUILD dracut-041.ebuild 7944 SHA256 201a1c1dcfbdd970e7747227fe0e1db1fc511231ac94a7a1a6a06bf7ad02bb21 SHA512 2516d7c7f9a49a5aa7008d8d09783124d6c0ddd8448643550fdcca34ccb66ff479060fbefff764b219c91493cc6d968e3a7b94ce0ca399592f7eb28a1d43deca WHIRLPOOL f5d43b40f447a669bd798c21b90058ef5aa24d415c9e8440a28b133a6c9c45283dd80307fc327a554815f77425dba9db6d6e8c6cd63eeee411ca9bdba7ca5ea9
-MISC ChangeLog 80798 SHA256 5ad71a11f2ceb69b88c4b8e6591967310dedfdd93195e37dc462b3b1ccf51ca4 SHA512 f3e515b3b9511c7b85d92b064466aa8cf8f48f4b4982b2386a8c4463eafc7fafc0eb821b13d707c65fa3567a0092d7960f7b206c1828bb536ed2d239c5a47629 WHIRLPOOL 9a2d9db7b99c5317061558ef8c46e7a1da918947231ecb54f24ebdf6b5fda163ee2b57e3920892343320a9453843240b6c3adb33f3bbe0ffcda3e5b63bd5f58a
+MISC ChangeLog 81224 SHA256 c16b15c4fe1568a4afdc6e51690a3ad72de3f8a5a03e8321a54fc2922e875550 SHA512 9e3a6e68c2bebaa40b5b8a939a83773ccae65aeba06c7940ee00ebb3f9e39fcd5c65477bbd34e9fc1aee06439e8608929914bdf6f10b76c8e1b9502b206076bc WHIRLPOOL a106155622878c1ca2253d4903547310b37c2a67819d1e173fb9f41cc254ffe98f3503aec457e3362a055ce7a9abdaabf15d52c7b19498517963ab82e82c6887
 MISC metadata.xml 906 SHA256 5f19b725d0669877fdd7814634b7aa7dd73331459bace52de02908417b833c3f SHA512 c5838d36080528d541b67cb38de17cc2351f7e5e17ab060c58f037792225ea223ade6b7e69376f4a9256b0bb3dcf4de578dcd50ee1c7d04a3f3288ca3c1ada43 WHIRLPOOL 532ea421fab965094820d5c0961a00ca38c858461f572a0cd4a145aa90340a569ee942062338ae03773c2709a08e4882f3176333aa5383b7e3c467cb01c0874d
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
-iQEcBAEBCAAGBQJU5MWaAAoJEPATRTHh2/q110MH/3DhOoHmuVfOBoo/WHR76Mtv
-FIOKCCx8u2QsnT6Uj2uxscSk3F/8JFSVskvZdPvqkGrPFdeZjhaIBBdnY4j5MPDq
-bDTaKaZxpMjeA2wifWuXeGrPDUrwvwQ+3QxwF7k5PNpxHDjJdWzfgxUxeBoUJm3r
-lLKmL9kqTfbdgskUcNYp9lsFzRsCdk71q7/GmuXJyZTn/O//I02+gzZOaf2PtSzU
-bn93PQaD8OxXZ2CBVNfmaSv3q7Mn3tLPH8Vk/YnT+VHICCYNqgqdblvCPM1tRgrN
-KHn717EZZ7lbsyuVyTDzm9+G89x21Oi++2z3+aRsPfSo744mXagrtEOCmM6BwrI=
-=HPS/
+iQEcBAEBCAAGBQJVEWKhAAoJEPATRTHh2/q10wwH/0No4JPS4NbSNUi4y4w/w7ke
+NyZVr0sz725KGDoHzDktrGEcCiICO+aorbWUzgy8eM6dbceYPtOrWXm5UDKOp+c/
+uF+Xu7HRatI8/Mkp5gpInIyqDlCADEAVXM1Rsmctcp29NEsq2J85adtBlRXV5EQE
+VFNYm44hGXXtV8kz2fMipWw/ItI5wzRLbDPCJu9VUGPrAEfp631ZOJ62s1a6eBre
+HHNg+WsumDm0RRMH+hL2u6h99pUokt+JTwMJIsgi8I5xxT8q/6PeZ1FluUFA5u6r
+Q8vl8WJUN7Jc2EZME8mEi4vl0/6GbTVAFBmjKIyfqVXzzBxSIEwMEQsf+pXAp8U=
+=6xqr
 -----END PGP SIGNATURE-----
diff --git a/sys-kernel/dracut/dracut-041-r1.ebuild b/sys-kernel/dracut/dracut-041-r1.ebuild
new file mode 100644 (file)
index 0000000..5ed7581
--- /dev/null
@@ -0,0 +1,274 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-kernel/dracut/dracut-041-r1.ebuild,v 1.1 2015/03/24 13:12:00 aidecoe Exp $
+
+EAPI=4
+
+inherit bash-completion-r1 eutils linux-info multilib systemd
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="http://dracut.wiki.kernel.org"
+SRC_URI="mirror://kernel/linux/utils/boot/${PN}/${P}.tar.xz"
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="debug selinux systemd"
+
+RESTRICT="test"
+
+CDEPEND="virtual/udev
+       systemd? ( >=sys-apps/systemd-199 )
+       "
+RDEPEND="${CDEPEND}
+       app-arch/cpio
+       >=app-shells/bash-4.0
+       >sys-apps/kmod-5[tools]
+       || (
+               >=sys-apps/sysvinit-2.87-r3
+               sys-apps/systemd[sysv-utils]
+               sys-apps/systemd-sysv-utils
+       )
+       >=sys-apps/util-linux-2.21
+
+       debug? ( dev-util/strace )
+       selinux? (
+               sys-libs/libselinux
+               sys-libs/libsepol
+               sec-policy/selinux-dracut
+       )
+       "
+DEPEND="${CDEPEND}
+       app-text/asciidoc
+       >=dev-libs/libxslt-1.1.26
+       app-text/docbook-xml-dtd:4.5
+       >=app-text/docbook-xsl-stylesheets-1.75.2
+       virtual/pkgconfig
+       "
+
+DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules
+       README.testsuite TODO )
+MY_LIBDIR=/usr/lib
+PATCHES=(
+       "${FILESDIR}/${PVR}-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch"
+       "${FILESDIR}/${PVR}-0002-Install-dracut-install-and-skipcpio-in.patch"
+       "${FILESDIR}/${PVR}-0003-Take-into-account-lib64-dirs-when-dete.patch"
+       "${FILESDIR}/${PVR}-0004-Don-t-install-scripts-in-kernel-instal.patch"
+       )
+QA_MULTILIB_PATHS="
+       usr/lib/dracut/dracut-install
+       usr/lib/dracut/skipcpio
+       "
+
+#
+# Helper functions
+#
+
+# 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
+}
+
+# Grabbed from net-misc/netctl ebuild.
+optfeature() {
+       local desc=$1
+       shift
+       while (( $# )); do
+               if has_version "$1"; then
+                       elog "  [I] $1 to ${desc}"
+               else
+                       elog "  [ ] $1 to ${desc}"
+               fi
+               shift
+       done
+}
+
+#
+# ebuild functions
+#
+
+src_prepare() {
+       epatch "${PATCHES[@]}"
+
+       local libdirs="/$(get_libdir) /usr/$(get_libdir)"
+       if [[ ${SYMLINK_LIB} = yes ]]; then
+               # Preserve lib -> lib64 symlinks in initramfs
+               [[ $libdirs =~ /lib\  ]] || libdirs+=" /lib /usr/lib"
+       fi
+       einfo "Setting libdirs to \"${libdirs}\" ..."
+       sed -e "3alibdirs=\"${libdirs}\"" \
+               -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+
+       local udevdir="$("$(tc-getPKG_CONFIG)" udev --variable=udevdir)"
+       einfo "Setting udevdir to ${udevdir}..."
+       sed -r -e "s|^(udevdir=).*$|\1${udevdir}|" \
+                       -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+
+       if use systemd; then
+               local systemdutildir="$(systemd_get_utildir)"
+               local systemdsystemunitdir="$(systemd_get_unitdir)"
+               local systemdsystemconfdir="$("$(tc-getPKG_CONFIG)" systemd \
+                       --variable=systemdsystemconfdir)"
+               [[ ${systemdsystemconfdir} ]] \
+                       || systemdsystemconfdir=/etc/systemd/system
+               einfo "Setting systemdutildir to ${systemdutildir} and ..."
+               sed -e "5asystemdutildir=\"${systemdutildir}\"" \
+                       -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+               einfo "Setting systemdsystemunitdir to ${systemdsystemunitdir} and..."
+               sed -e "6asystemdsystemunitdir=\"${systemdsystemunitdir}\"" \
+                       -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+               einfo "Setting systemdsystemconfdir to ${systemdsystemconfdir}..."
+               sed -e "7asystemdsystemconfdir=\"${systemdsystemconfdir}\"" \
+                       -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+       else
+               local systemdutildir="/lib/systemd"
+               einfo "Setting systemdutildir for standalone udev to" \
+                       "${systemdutildir}..."
+               sed -e "5asystemdutildir=\"${systemdutildir}\"" \
+                       -i "${S}/dracut.conf.d/gentoo.conf.example" || die
+       fi
+
+       epatch_user
+}
+
+src_configure() {
+       local myconf="--libdir=${MY_LIBDIR}"
+       myconf+=" --bashcompletiondir=$(get_bashcompdir)"
+
+       if use systemd; then
+               myconf+=" --systemdsystemunitdir='$(systemd_get_unitdir)'"
+       fi
+
+       econf ${myconf}
+}
+
+src_compile() {
+       tc-export CC
+       emake doc install/dracut-install skipcpio/skipcpio
+}
+
+src_install() {
+       default
+
+       local my_libdir="${MY_LIBDIR}"
+       local dracutlibdir="${my_libdir#/}/dracut"
+
+       echo "DRACUT_VERSION=$PVR" > "${D%/}/${dracutlibdir}/dracut-version.sh"
+
+       insinto "${dracutlibdir}/dracut.conf.d/"
+       newins dracut.conf.d/gentoo.conf.example gentoo.conf
+
+       insinto /etc/logrotate.d
+       newins dracut.logrotate dracut
+
+       dodir /var/lib/dracut/overlay
+
+       dohtml dracut.html
+
+       #
+       # Modules
+       #
+       local module
+       modules_dir="${D%/}/${dracutlibdir}/modules.d"
+
+       use debug || rm_module 95debug
+       use selinux || rm_module 98selinux
+
+       if use systemd; then
+               # With systemd following modules do not make sense
+               rm_module 96securityfs 97masterkey 98integrity
+       else
+               rm_module 98systemd
+               # Without systemd following modules do not make sense
+               rm_module 00systemd-bootchart
+       fi
+
+       # 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
+}
+
+pkg_postinst() {
+       if linux-info_get_any_version && linux_config_src_exists; then
+               ewarn ""
+               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."
+               ewarn ""
+
+               local CONFIG_CHECK="~BLK_DEV_INITRD ~DEVTMPFS"
+
+               # 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 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
+       else
+               ewarn ""
+               ewarn "Your kernel configuration couldn't be checked.  Do you have"
+               ewarn "/usr/src/linux/.config file there?  Please check manually if"
+               ewarn "following options are enabled:"
+               ewarn ""
+               ewarn "  CONFIG_BLK_DEV_INITRD"
+               ewarn "  CONFIG_DEVTMPFS"
+               ewarn ""
+       fi
+
+       elog "To get additional features, a number of optional runtime"
+       elog "dependencies may be installed:"
+       elog ""
+       optfeature "Networking support"  net-misc/curl "net-misc/dhcp[client]" \
+               sys-apps/iproute2
+       optfeature \
+               "Measure performance of the boot process for later visualisation" \
+               app-benchmarks/bootchart2 app-admin/killproc sys-process/acct
+       optfeature "Scan for Btrfs on block devices"  sys-fs/btrfs-progs
+       optfeature "Load kernel modules and drop this privilege for real init" \
+               sys-libs/libcap
+       optfeature "Support CIFS" net-fs/cifs-utils
+       optfeature "Decrypt devices encrypted with cryptsetup/LUKS" \
+               sys-fs/cryptsetup
+       optfeature "Support for GPG-encrypted keys for crypt module" \
+               app-crypt/gnupg
+       optfeature \
+               "Allows use of dash instead of default bash (on your own risk)" \
+               app-shells/dash
+       optfeature "Framebuffer splash (media-gfx/splashutils)" \
+               media-gfx/splashutils
+       optfeature "Support iSCSI" sys-block/open-iscsi
+       optfeature "Support Logical Volume Manager" sys-fs/lvm2
+       optfeature "Support MD devices, also known as software RAID devices" \
+               sys-fs/mdadm
+       optfeature "Support Device Mapper multipathing" sys-fs/multipath-tools
+       optfeature "Plymouth boot splash"  '>=sys-boot/plymouth-0.8.5-r5'
+       optfeature "Support network block devices" sys-block/nbd
+       optfeature "Support NFS" net-fs/nfs-utils net-nds/rpcbind
+       optfeature \
+               "Install ssh and scp along with config files and specified keys" \
+               net-misc/openssh
+       optfeature "Enable logging with syslog-ng or rsyslog" app-admin/syslog-ng \
+               app-admin/rsyslog
+}
diff --git a/sys-kernel/dracut/files/041-r1-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch b/sys-kernel/dracut/files/041-r1-0001-Use-the-same-paths-in-dracut.sh-as-tho.patch
new file mode 100644 (file)
index 0000000..d16119c
--- /dev/null
@@ -0,0 +1,74 @@
+From 89334439113c0ea8196ac5e9e188e6a1bbebe267 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
+Date: Wed, 2 Oct 2013 22:37:09 +0200
+Subject: [PATCH 1/4] Use the same paths in dracut.sh as those set with
+ configure script
+
+Makefile alters destination main dracut script and sets dracutbasedir to
+the value of pkglibdir set in configure.
+---
+ Makefile  | 3 +++
+ dracut.sh | 9 ++++-----
+ 2 files changed, 7 insertions(+), 5 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 41ae274..41968b0 100644
+--- a/Makefile
++++ b/Makefile
+@@ -103,6 +103,9 @@ install: dracut-version.sh
+       mkdir -p $(DESTDIR)$(pkglibdir)/modules.d
+       mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
+       install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
++      sed -r \
++              -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
++              -i $(DESTDIR)$(bindir)/dracut
+       install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
+       install -m 0755 mkinitrd-dracut.sh $(DESTDIR)$(bindir)/mkinitrd
+       install -m 0755 lsinitrd.sh $(DESTDIR)$(bindir)/lsinitrd
+diff --git a/dracut.sh b/dracut.sh
+index 5e2feba..89a711e 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -24,10 +24,13 @@
+ # store for logging
+ dracut_args=( "$@" )
+ 
++# base dirs
++pkglibdir=/usr/lib/dracut
++dracutbasedir="$pkglibdir"
++
+ set -o pipefail
+ 
+ usage() {
+-    [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
+     if [[ -f $dracutbasedir/dracut-version.sh ]]; then
+         . $dracutbasedir/dracut-version.sh
+     fi
+@@ -52,7 +55,6 @@ EOF
+ }
+ 
+ long_usage() {
+-    [[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
+     if [[ -f $dracutbasedir/dracut-version.sh ]]; then
+         . $dracutbasedir/dracut-version.sh
+     fi
+@@ -666,8 +668,6 @@ export DRACUT_LOG_LEVEL=warning
+     debug=yes
+ }
+ 
+-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
+-
+ # if we were not passed a config file, try the default one
+ if [[ ! -f $conffile ]]; then
+     if [[ $allowlocal ]]; then
+@@ -808,7 +808,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l))
+ [[ $use_fstab_l ]] && use_fstab=$use_fstab_l
+ [[ $mdadmconf_l ]] && mdadmconf=$mdadmconf_l
+ [[ $lvmconf_l ]] && lvmconf=$lvmconf_l
+-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
+ [[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware"
+ [[ $tmpdir_l ]] && tmpdir="$tmpdir_l"
+ [[ $tmpdir ]] || tmpdir=/var/tmp
+-- 
+2.3.3
+
diff --git a/sys-kernel/dracut/files/041-r1-0002-Install-dracut-install-and-skipcpio-in.patch b/sys-kernel/dracut/files/041-r1-0002-Install-dracut-install-and-skipcpio-in.patch
new file mode 100644 (file)
index 0000000..5202ac3
--- /dev/null
@@ -0,0 +1,125 @@
+From 7d8dadfdb2d59ac60c6a579f602e13ac7c743e39 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
+Date: Wed, 2 Oct 2013 22:40:43 +0200
+Subject: [PATCH 2/4] Install dracut-install and skipcpio into libexec dir
+ instead of lib dir
+
+dracut-install and skipcpio are the only ABI specific things atm.
+
+See https://bugs.gentoo.org/show_bug.cgi?id=485218 for details on the
+problem.
+---
+ Makefile                    | 7 +++++--
+ configure                   | 1 +
+ dracut-functions.sh         | 4 ++++
+ dracut-initramfs-restore.sh | 4 ++--
+ dracut.sh                   | 1 +
+ lsinitrd.sh                 | 4 ++--
+ 6 files changed, 15 insertions(+), 6 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index 41968b0..bb007d1 100644
+--- a/Makefile
++++ b/Makefile
+@@ -104,6 +104,7 @@ install: dracut-version.sh
+       mkdir -p $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(mandir)/man5 $(DESTDIR)$(mandir)/man7 $(DESTDIR)$(mandir)/man8
+       install -m 0755 dracut.sh $(DESTDIR)$(bindir)/dracut
+       sed -r \
++              -e "s|^(libexecdir)=.*|\1=$(libexecdir)|" \
+               -e "s|^(pkglibdir)=.*|\1=$(pkglibdir)|" \
+               -i $(DESTDIR)$(bindir)/dracut
+       install -m 0755 dracut-catimages.sh $(DESTDIR)$(bindir)/dracut-catimages
+@@ -147,10 +148,12 @@ endif
+               done \
+       fi
+       if [ -f install/dracut-install ]; then \
+-              install -m 0755 install/dracut-install $(DESTDIR)$(pkglibdir)/dracut-install; \
++              mkdir -p $(DESTDIR)$(libexecdir)/dracut; \
++              install -m 0755 install/dracut-install $(DESTDIR)$(libexecdir)/dracut/dracut-install; \
+       fi
+       if [ -f skipcpio/skipcpio ]; then \
+-              install -m 0755 skipcpio/skipcpio $(DESTDIR)$(pkglibdir)/skipcpio; \
++              mkdir -p $(DESTDIR)$(libexecdir)/dracut; \
++              install -m 0755 skipcpio/skipcpio $(DESTDIR)$(libexecdir)/dracut/skipcpio; \
+       fi
+       mkdir -p $(DESTDIR)${prefix}/lib/kernel/install.d
+       install -m 0755 50-dracut.install $(DESTDIR)${prefix}/lib/kernel/install.d/50-dracut.install
+diff --git a/configure b/configure
+index 0bd3d2d..17370de 100755
+--- a/configure
++++ b/configure
+@@ -59,6 +59,7 @@ sbindir ?= ${sbindir:-${prefix}/sbin}
+ mandir ?= ${mandir:-${prefix}/share/man}
+ enable_documentation ?= ${enable_documentation:-yes}
+ bindir ?= ${bindir:-${prefix}/bin}
++libexecdir ?= ${libexecdir:-${prefix}/libexec}
+ EOF
+ 
+ {
+diff --git a/dracut-functions.sh b/dracut-functions.sh
+index 37ddca2..953acd1 100755
+--- a/dracut-functions.sh
++++ b/dracut-functions.sh
+@@ -733,6 +733,10 @@ if ! [[ $DRACUT_INSTALL ]]; then
+     DRACUT_INSTALL=$(find_binary dracut-install)
+ fi
+ 
++if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutlibexecdir/dracut-install ]]; then
++    DRACUT_INSTALL=$dracutlibexecdir/dracut-install
++fi
++
+ if ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/dracut-install ]]; then
+     DRACUT_INSTALL=$dracutbasedir/dracut-install
+ elif ! [[ $DRACUT_INSTALL ]] && [[ -x $dracutbasedir/install/dracut-install ]]; then
+diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh
+index 8b9b80f..8dd358e 100644
+--- a/dracut-initramfs-restore.sh
++++ b/dracut-initramfs-restore.sh
+@@ -8,8 +8,8 @@ set -e
+ 
+ KERNEL_VERSION="$(uname -r)"
+ 
+-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
+-SKIP="$dracutbasedir/skipcpio"
++[[ $dracutlibexecdir ]] || dracutlibexecdir=/usr/libexec/dracut
++SKIP="$dracutlibexecdir/skipcpio"
+ [[ -x $SKIP ]] || SKIP=cat
+ 
+ [[ -f /etc/machine-id ]] && read MACHINE_ID < /etc/machine-id
+diff --git a/dracut.sh b/dracut.sh
+index 89a711e..9cfeef1 100755
+--- a/dracut.sh
++++ b/dracut.sh
+@@ -25,6 +25,7 @@
+ dracut_args=( "$@" )
+ 
+ # base dirs
++dracutlibexecdir=/usr/libexec/dracut
+ pkglibdir=/usr/lib/dracut
+ dracutbasedir="$pkglibdir"
+ 
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index 4f12c2c..2ed6e56 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -33,7 +33,7 @@ usage()
+ }
+ 
+ 
+-[[ $dracutbasedir ]] || dracutbasedir=/usr/lib/dracut
++[[ $dracutlibexecdir ]] || dracutlibexecdir=/usr/libexec/dracut
+ 
+ sorted=0
+ modules=0
+@@ -158,7 +158,7 @@ case $bin in
+                 echo "Early CPIO image"
+                 list_files
+             fi
+-            SKIP="$dracutbasedir/skipcpio"
++            SKIP="$dracutlibexecdir/skipcpio"
+             if ! [[ -x $SKIP ]]; then
+                 echo
+                 echo "'$SKIP' not found, cannot display remaining contents!" >&2
+-- 
+2.3.3
+
diff --git a/sys-kernel/dracut/files/041-r1-0003-Take-into-account-lib64-dirs-when-dete.patch b/sys-kernel/dracut/files/041-r1-0003-Take-into-account-lib64-dirs-when-dete.patch
new file mode 100644 (file)
index 0000000..b355f84
--- /dev/null
@@ -0,0 +1,60 @@
+From acfd4d98e821dbaa9ae68dde82fb8843fbf5de59 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
+Date: Sun, 11 Jan 2015 15:10:39 +0100
+Subject: [PATCH 3/4] Take into account lib64 dirs when detecting version,
+ modules and params
+
+---
+ lsinitrd.sh | 15 ++++++++++++---
+ 1 file changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/lsinitrd.sh b/lsinitrd.sh
+index 2ed6e56..0355c87 100755
+--- a/lsinitrd.sh
++++ b/lsinitrd.sh
+@@ -108,6 +108,12 @@ if ! [[ -f "$image" ]]; then
+     exit 1
+ fi
+ 
++dracutlibdirs() {
++    for d in lib64/dracut lib/dracut usr/lib64/dracut usr/lib/dracut; do
++        echo "$d/$1"
++    done
++}
++
+ extract_files()
+ {
+     (( ${#filenames[@]} == 1 )) && nofileinfo=1
+@@ -124,7 +130,8 @@ extract_files()
+ list_modules()
+ {
+     echo "dracut modules:"
+-    $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/modules.txt' 'usr/lib/dracut/modules.txt' 2>/dev/null
++    $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- \
++        $(dracutlibdirs modules.txt) 2>/dev/null
+     ((ret+=$?))
+ }
+ 
+@@ -217,7 +224,8 @@ ret=0
+ if (( ${#filenames[@]} > 0 )); then
+     extract_files
+ else
+-    version=$($CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/dracut-*' 'usr/lib/dracut/dracut-*' 2>/dev/null)
++    version=$($CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- \
++        $(dracutlibdirs 'dracut-*') 2>/dev/null)
+     ((ret+=$?))
+     echo "Version: $version"
+     echo
+@@ -226,7 +234,8 @@ else
+         echo "========================================================================"
+     else
+         echo -n "Arguments: "
+-        $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- 'lib/dracut/build-parameter.txt' 'usr/lib/dracut/build-parameter.txt' 2>/dev/null
++        $CAT "$image" | cpio --extract --verbose --quiet --to-stdout -- \
++            $(dracutlibdirs build-parameter.txt) 2>/dev/null
+         echo
+         list_modules
+         list_files
+-- 
+2.3.3
+
diff --git a/sys-kernel/dracut/files/041-r1-0004-Don-t-install-scripts-in-kernel-instal.patch b/sys-kernel/dracut/files/041-r1-0004-Don-t-install-scripts-in-kernel-instal.patch
new file mode 100644 (file)
index 0000000..84c7f22
--- /dev/null
@@ -0,0 +1,28 @@
+From 6b1ed1bcc4df213f9bf7ffbc5a7586e7d5b26206 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Amadeusz=20=C5=BBo=C5=82nowski?= <aidecoe@aidecoe.name>
+Date: Mon, 23 Mar 2015 21:58:28 +0100
+Subject: [PATCH 4/4] Don't install scripts in kernel/install.d
+
+Scripts installed kernel/install.d have no use in Gentoo.  It is
+probably a RH specific thing.
+---
+ Makefile | 3 ---
+ 1 file changed, 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index bb007d1..b150491 100644
+--- a/Makefile
++++ b/Makefile
+@@ -155,9 +155,6 @@ endif
+               mkdir -p $(DESTDIR)$(libexecdir)/dracut; \
+               install -m 0755 skipcpio/skipcpio $(DESTDIR)$(libexecdir)/dracut/skipcpio; \
+       fi
+-      mkdir -p $(DESTDIR)${prefix}/lib/kernel/install.d
+-      install -m 0755 50-dracut.install $(DESTDIR)${prefix}/lib/kernel/install.d/50-dracut.install
+-      install -m 0755 51-dracut-rescue.install $(DESTDIR)${prefix}/lib/kernel/install.d/51-dracut-rescue.install
+       mkdir -p $(DESTDIR)${bashcompletiondir}
+       install -m 0644 dracut-bash-completion.sh $(DESTDIR)${bashcompletiondir}/dracut
+       install -m 0644 lsinitrd-bash-completion.sh $(DESTDIR)${bashcompletiondir}/lsinitrd
+-- 
+2.3.3
+