sys-kernel/dracut: Version bump
authorManuel Rüger <mrueg@gentoo.org>
Sun, 3 Jan 2016 14:22:35 +0000 (15:22 +0100)
committerManuel Rüger <mrueg@gentoo.org>
Sun, 3 Jan 2016 14:34:02 +0000 (15:34 +0100)
Gentoo-Bug: 567118

Package-Manager: portage-2.2.26

sys-kernel/dracut/Manifest
sys-kernel/dracut/dracut-044.ebuild [new file with mode: 0644]

index de964128f976cfbc0c84dd51450fc8b791bff26e..0e1c9857f9be207858862e9eeb8b6147c1fee089 100644 (file)
@@ -3,3 +3,4 @@ DIST dracut-034.tar.bz2 277692 SHA256 48c7fd57e287d4f34dfff5b5ead14a4511926858f1
 DIST dracut-040.tar.xz 263944 SHA256 b6e743353804b46e350177b9ecb9a8511df7e8c4ff9e0b4f3b4f72bc509c98a3 SHA512 6bc6a714572cc18c4cf9f9c1af4bc787287554ead1e39fbec8a1b8986585cf8c7c7ef476f87fc361f565eb344fe2594d63185ffe02cc5fa7cc3eaa03bcb4b72b WHIRLPOOL d8dbdbf6cb7705a0b7793f82a0323c49b4ac0dc3d61cf0073e3061f34af0b5c92dd21a7dc080f2a8d24d3eef3abc99df91f113675721267352f934f1319c66ba
 DIST dracut-041.tar.xz 268288 SHA256 8ece6c2240bf0e9283e5f717b65dfcd6830b3ef7f8d1c01b60014052f1063251 SHA512 358444588febfc482627eb5423b8a87b588ed3842ae814b9f88d8c5dfec28419f2aea92cd54c11c4949b9968d60d7e05ba9cfea78d26d2dc6f2a943a38b28dac WHIRLPOOL ab538fe1ffeb3d43185c6222a6e65af8c684b292be571e0571fdd69011f654c3093f3a2256f3003d5dbaf07d0a26f83d82055885bae1868738ad15dc74982e72
 DIST dracut-043.tar.xz 272744 SHA256 1484b558ed20330125aa04dcccab84da15c5689e19068285aa011f7177889cd1 SHA512 a36271e1ed4c1205a01bece7652095a8bfd722bcf7239a93baeb21e7e0a60fa86dd6657aa69b594241981056c87c6fe9d372f18ac045785122a9cafe8b0c31eb WHIRLPOOL d1efd59e2c41478e489d4707114b141e8bb0501c54209e364edc2060d3ffac7f2e1afd640b0812a452e7fbe7f9134e5e96436f0f1f2a54613d9468f9dca61a0c
+DIST dracut-044.tar.xz 280004 SHA256 84b97c9b0120e9fde06c3b9cf2ede1c4632cccd8e085e980b9ec9c788655af05 SHA512 bc788076e425b223d98cf0e0b15ff57d75d423991d7a67fb564a2857c38d5c3a21d846d2ca4523f9d4b0128bb981d09b5c26031435c5fc5e30f53080bca19b3d WHIRLPOOL 684591df596fa902447e671adfaeeb8cdc469c257f756616e42747835b71be7caaac9c72bd4b1a5ba5728ec4332baaba1d265cddb1c30cbfa65cf4dce0690bc0
diff --git a/sys-kernel/dracut/dracut-044.ebuild b/sys-kernel/dracut/dracut-044.ebuild
new file mode 100644 (file)
index 0000000..8d1e45c
--- /dev/null
@@ -0,0 +1,253 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit bash-completion-r1 eutils linux-info multilib systemd
+
+DESCRIPTION="Generic initramfs generation tool"
+HOMEPAGE="https://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
+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
+}
+
+src_prepare() {
+       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
+
+       if ! use systemd; then
+               # Scripts in kernel/install.d are systemd-specific
+               rm -r "${D%/}/${my_libdir}/kernel" || die
+       fi
+
+       #
+       # 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 00systemd 98dracut-systemd
+               # Without systemd following modules do not make sense
+               rm_module 00systemd-bootchart 01systemd-initrd 02systemd-networkd
+       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_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[-static-libs]"
+       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
+}