diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2019-07-19 22:59:15 +0100 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2019-07-19 22:59:15 +0100 |
commit | a9b7d6d041be3ac011bf87b47d33cdd3cdf9346b (patch) | |
tree | d98c727eb328946550806f49efdb5e8f7b5defcd | |
parent | 10acd8a455d7551227220b3445bcb5351afc15ce (diff) |
sys-kernel/dracut : version bump
15 files changed, 274 insertions, 542 deletions
diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest index 2b65cf5d..ff319ade 100644 --- a/sys-kernel/dracut/Manifest +++ b/sys-kernel/dracut/Manifest @@ -1 +1 @@ -DIST dracut-044.tar.xz 280004 BLAKE2B 5b9603eb769b542e2d56fae4d0f0fe250e7e60eb9c85f9c7b7a472b9d889a9f323b3ba1cbbeb1d5de10507498542275cd4430695cc8b48426b42c03d0672ea87 SHA512 bc788076e425b223d98cf0e0b15ff57d75d423991d7a67fb564a2857c38d5c3a21d846d2ca4523f9d4b0128bb981d09b5c26031435c5fc5e30f53080bca19b3d +DIST dracut-048.tar.xz 308484 BLAKE2B b19c8122034a8b40cbc9d09245730900b59691c336f1d231e768786ad64068e0a8daf57ae9a4182ab50d9e1c683c9b7dcac354eb26d8a60f061db78121bc11c7 SHA512 97fcfd5d314ef40687c245d95d2f1d0f3f9ff0472e66b6e6324bf9bd6b98186104f9d71fd9af344126d6ea9fa47b744d52831a374225633225f6f17fb15c04e0 diff --git a/sys-kernel/dracut/dracut-044-r9.ebuild b/sys-kernel/dracut/dracut-044-r9.ebuild deleted file mode 100644 index b53f4ab8..00000000 --- a/sys-kernel/dracut/dracut-044-r9.ebuild +++ /dev/null @@ -1,277 +0,0 @@ -# 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="amd64 x86" -IUSE="debug +microcode selinux +splash systemd" - -RESTRICT="test" - -CDEPEND="virtual/udev - microcode? ( - sys-firmware/intel-microcode - sys-kernel/linux-firmware - ) - splash? ( - sys-boot/plymouth - ) - systemd? ( >=sys-apps/systemd-199 ) - sys-kernel/dracut-config-redcore - " -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 - " - -PATCHES=( - ""${FILESDIR}"/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch" - ""${FILESDIR}"/044-0002-systemd-initrd-add-initrd-root-device.target.patch" - ""${FILESDIR}"/044-0003-50-dracut.install-use-bin-bash-shebang.patch" - ""${FILESDIR}"/044-0004-redcore-change-default-initramfs-name.patch" - ""${FILESDIR}"/"${P}"-bash-4.4.patch" - ""${FILESDIR}"/"${P}"-preserve-xattrs-when-copying.patch" - ""${FILESDIR}"/"${P}"-backport-fix-for-microcode-loading.patch" - ""${FILESDIR}"/"${P}"-ext4-and-f2fs-need-crc32X-too.patch" - ""${FILESDIR}"/sort-fixup-creating-early-microcode.patch" -) - -# -# 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 "${PATCHES[@]}" - - epatch_user -} - -src_configure() { - local myconf=( - --libdir="${MY_LIBDIR}" - --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 -} diff --git a/sys-kernel/dracut/dracut-048.ebuild b/sys-kernel/dracut/dracut-048.ebuild new file mode 100644 index 00000000..7b9c61d4 --- /dev/null +++ b/sys-kernel/dracut/dracut-048.ebuild @@ -0,0 +1,175 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +inherit bash-completion-r1 eutils linux-info systemd toolchain-funcs + +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 ~mips ppc ~ppc64 sparc x86" +IUSE="+cryptsetup debug +device-mapper +lvm +microcode +mdadm selinux +splash" + +# Tests need root privileges, bug #298014 +RESTRICT="test" + +COMMON_DEPEND=">=sys-apps/kmod-23[tools] + virtual/pkgconfig + virtual/udev + cryptsetup? ( + sys-fs/cryptsetup + ) + device-mapper? ( + sys-fs/lvm2 + ) + lvm? ( + sys-fs/lvm2 + ) + microcode? ( + sys-firmware/intel-microcode + sys-kernel/linux-firmware + ) + mdadm? ( + sys-fs/mdadm + ) + splash? ( + sys-boot/plymouth + ) + sys-kernel/dracut-config-redcore + " +RDEPEND="${COMMON_DEPEND} + app-arch/cpio + >=app-shells/bash-4.0:0 + sys-apps/coreutils[xattr(-)] + || ( + >=sys-apps/sysvinit-2.87-r3 + sys-apps/systemd[sysv-utils] + ) + >=sys-apps/util-linux-2.21 + + debug? ( dev-util/strace ) + selinux? ( + sec-policy/selinux-dracut + sys-libs/libselinux + sys-libs/libsepol + ) + " +DEPEND="${COMMON_DEPEND} + app-text/asciidoc + app-text/docbook-xml-dtd:4.5 + >=app-text/docbook-xsl-stylesheets-1.75.2 + >=dev-libs/libxslt-1.1.26 + " + +DOCS=( AUTHORS HACKING NEWS README README.generic README.kernel README.modules + README.testsuite TODO ) + +QA_MULTILIB_PATHS="usr/lib/dracut/.*" + +PATCHES=( + "${FILESDIR}"/048-dracut-install-simplify-ldd-parsing-logic.patch + "${FILESDIR}"/048-redcore-change-default-initramfs-name.patch + "${FILESDIR}"/048-remove_JobRunningTimeoutSec.patch + "${FILESDIR}"/048-sort-fixup-creating-early-microcode.patch +) + +src_configure() { + local myconf=( + --prefix="${EPREFIX}/usr" + --sysconfdir="${EPREFIX}/etc" + --bashcompletiondir="$(get_bashcompdir)" + --systemdsystemunitdir="$(systemd_get_systemunitdir)" + ) + + tc-export CC PKG_CONFIG + + echo ./configure "${myconf[@]}" + ./configure "${myconf[@]}" || die +} + +src_install() { + default + + local libdirs=( /$(get_libdir) /usr/$(get_libdir) ) + if [[ ${SYMLINK_LIB} = yes && $(get_libdir) != lib ]]; then + # Preserve lib -> lib64 symlinks in initramfs + libdirs+=( /lib /usr/lib ) + fi + + einfo "Setting libdirs to \"${libdirs[*]}\" ..." + echo "libdirs=\"${libdirs[*]}\"" > "${T}/gentoo.conf" || die + insinto "/usr/lib/dracut/dracut.conf.d" + doins "${T}/gentoo.conf" + + insinto /etc/logrotate.d + newins dracut.logrotate dracut + + docinto html + dodoc dracut.html +} + +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 ERROR_DEVTMPFS='CONFIG_DEVTMPFS: "Maintain a devtmpfs filesystem to mount at /dev" ' + ERROR_DEVTMPFS+='is missing and REQUIRED' + local ERROR_BLK_DEV_INITRD='CONFIG_BLK_DEV_INITRD: "Initial RAM filesystem and RAM disk ' + ERROR_BLK_DEV_INITRD+='(initramfs/initrd) support" is missing and REQUIRED' + + check_extra_config + echo + else + ewarn "" + ewarn "Your kernel configuration couldn't be checked." + ewarn "Please check manually if 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 "net-misc/iputils[arping]" + 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 "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/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch b/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch deleted file mode 100644 index fd6f1185..00000000 --- a/sys-kernel/dracut/files/044-0001-base-dracut-lib.sh-dev_unit_name-guard-against-dev-b.patch +++ /dev/null @@ -1,32 +0,0 @@ -From c41df7e1db1adc51399ab2c22f251b15eb2065b1 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy <alexander@tsoy.me> -Date: Tue, 5 Jan 2016 22:11:57 +0300 -Subject: [PATCH] base/dracut-lib.sh:dev_unit_name() guard against $dev - beginning with "-" - -crypt/parse-crypt.sh generate initqueue job which always call -dev_unit_name() with an argument beginning with "-". This results -in the following error: - -dracut-initqueue[307]: + systemd-escape -p -cfb4aa43-2f02-4c6b-a313-60ea99288087 -dracut-initqueue[307]: systemd-escape: invalid option -- 'c' ---- - modules.d/99base/dracut-lib.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh -index ad03394..0a0b1b9 100755 ---- a/modules.d/99base/dracut-lib.sh -+++ b/modules.d/99base/dracut-lib.sh -@@ -874,7 +874,7 @@ dev_unit_name() - local dev="$1" - - if command -v systemd-escape >/dev/null; then -- systemd-escape -p "$dev" -+ systemd-escape -p -- "$dev" - return - fi - --- -2.10.2 - diff --git a/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch b/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch deleted file mode 100644 index 21cb6792..00000000 --- a/sys-kernel/dracut/files/044-0002-systemd-initrd-add-initrd-root-device.target.patch +++ /dev/null @@ -1,24 +0,0 @@ -From d4efc0aeeecc470d9a267b7f3c130f472488905c Mon Sep 17 00:00:00 2001 -From: Harald Hoyer <harald@redhat.com> -Date: Wed, 25 May 2016 15:06:29 +0200 -Subject: [PATCH] systemd-initrd: add initrd-root-device.target - ---- - modules.d/01systemd-initrd/module-setup.sh | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/modules.d/01systemd-initrd/module-setup.sh b/modules.d/01systemd-initrd/module-setup.sh -index fb6a9ea..c1ccd2a 100755 ---- a/modules.d/01systemd-initrd/module-setup.sh -+++ b/modules.d/01systemd-initrd/module-setup.sh -@@ -28,6 +28,7 @@ install() { - inst_multiple -o \ - $systemdsystemunitdir/initrd.target \ - $systemdsystemunitdir/initrd-fs.target \ -+ $systemdsystemunitdir/initrd-root-device.target \ - $systemdsystemunitdir/initrd-root-fs.target \ - $systemdsystemunitdir/initrd-switch-root.target \ - $systemdsystemunitdir/initrd-switch-root.service \ --- -2.10.2 - diff --git a/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch b/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch deleted file mode 100644 index 85ebc7e6..00000000 --- a/sys-kernel/dracut/files/044-0003-50-dracut.install-use-bin-bash-shebang.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 69395a528aed99ec04b16c14ebacf4c2e10afd26 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert <floppym@gentoo.org> -Date: Fri, 4 Nov 2016 13:09:28 -0400 -Subject: [PATCH] 50-dracut.install: use /bin/bash shebang - -This script utilizes several bash-specific constructs. ---- - 50-dracut.install | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/50-dracut.install b/50-dracut.install -index 7d081d5..54c71d4 100755 ---- a/50-dracut.install -+++ b/50-dracut.install -@@ -1,4 +1,4 @@ --#!/bin/sh -+#!/bin/bash - - COMMAND="$1" - KERNEL_VERSION="$2" --- -2.10.2 - diff --git a/sys-kernel/dracut/files/044-0004-redcore-change-default-initramfs-name.patch b/sys-kernel/dracut/files/044-0004-redcore-change-default-initramfs-name.patch deleted file mode 100644 index 39163375..00000000 --- a/sys-kernel/dracut/files/044-0004-redcore-change-default-initramfs-name.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur a/dracut.sh b/dracut.sh ---- a/dracut.sh 2015-11-25 13:22:28.000000000 +0000 -+++ b/dracut.sh 2017-12-30 00:26:04.680751115 +0000 -@@ -627,7 +627,7 @@ - if [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then - outfile="/boot/${MACHINE_ID}/$kernel/initrd" - else -- outfile="/boot/initramfs-$kernel.img" -+ outfile="/boot/initrd-$kernel" - fi - fi - diff --git a/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch b/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch new file mode 100644 index 00000000..aa9c543f --- /dev/null +++ b/sys-kernel/dracut/files/048-dracut-install-simplify-ldd-parsing-logic.patch @@ -0,0 +1,41 @@ +From 6d886bb74d1608e4565d926aa259ea5afc9df7b9 Mon Sep 17 00:00:00 2001 +From: Mike Gilbert <floppym@gentoo.org> +Date: Thu, 4 Oct 2018 16:45:47 -0400 +Subject: [PATCH] dracut-install: simplify ldd parsing logic + +The previous logic would not handle absolute paths on the left side of +the "=>" properly. For example, on Gentoo ARM64, ldd outputs this: + + /lib/ld-linux-aarch64.so.1 => /lib64/ld-linux-aarch64.so.1 + +At runtime, the kernel tries to load the file from /lib, and fails if we +only provide it in /lib64. + +Instead of looking for the first slash after the "=>", just look for the +first slash, period. This would fail if we somehow had a relative path +on the left side (foo/libbar.so), but I'm not aware of any binaries that +would contain such an entry in DT_NEEDED. + +Bug: https://bugs.gentoo.org/667752 +Signed-off-by: Mike Gilbert <floppym@gentoo.org> +--- + install/dracut-install.c | 6 +----- + 1 file changed, 1 insertion(+), 5 deletions(-) + +diff --git a/install/dracut-install.c b/install/dracut-install.c +index 88bca1d44..5f352b360 100644 +--- a/install/dracut-install.c ++++ b/install/dracut-install.c +@@ -479,11 +479,7 @@ static int resolve_deps(const char *src) + if (strstr(buf, destrootdir)) + break; + +- p = strstr(buf, "=>"); +- if (!p) +- p = buf; +- +- p = strchr(p, '/'); ++ p = strchr(buf, '/'); + if (p) { + char *q; + diff --git a/sys-kernel/dracut/files/048-redcore-change-default-initramfs-name.patch b/sys-kernel/dracut/files/048-redcore-change-default-initramfs-name.patch new file mode 100644 index 00000000..82519600 --- /dev/null +++ b/sys-kernel/dracut/files/048-redcore-change-default-initramfs-name.patch @@ -0,0 +1,17 @@ +diff -Nur a/dracut.sh b/dracut.sh +--- a/dracut.sh 2018-07-06 09:37:51.000000000 +0100 ++++ b/dracut.sh 2019-07-19 22:33:11.571832132 +0100 +@@ -791,11 +791,11 @@ + outfile="$efidir/Linux/linux-$kernel${MACHINE_ID:+-${MACHINE_ID}}${BUILD_ID:+-${BUILD_ID}}.efi" + else + if [[ -e "/boot/vmlinuz-$kernel" ]]; then +- outfile="/boot/initramfs-$kernel.img" ++ outfile="/boot/initrd-$kernel" + elif [[ $MACHINE_ID ]] && ( [[ -d /boot/${MACHINE_ID} ]] || [[ -L /boot/${MACHINE_ID} ]] ); then + outfile="/boot/${MACHINE_ID}/$kernel/initrd" + else +- outfile="/boot/initramfs-$kernel.img" ++ outfile="/boot/initrd-$kernel" + fi + fi + fi diff --git a/sys-kernel/dracut/files/048-remove_JobRunningTimeoutSec.patch b/sys-kernel/dracut/files/048-remove_JobRunningTimeoutSec.patch new file mode 100644 index 00000000..4953bb1c --- /dev/null +++ b/sys-kernel/dracut/files/048-remove_JobRunningTimeoutSec.patch @@ -0,0 +1,40 @@ +diff -Naur dracut-047/modules.d/90dmsquash-live/dmsquash-generator.sh dracut-047.new/modules.d/90dmsquash-live/dmsquash-generator.sh +--- dracut-047/modules.d/90dmsquash-live/dmsquash-generator.sh 2018-02-19 10:00:33.000000000 +0100 ++++ dracut-047.new/modules.d/90dmsquash-live/dmsquash-generator.sh 2018-04-03 09:27:39.770986599 +0200 +@@ -78,5 +78,4 @@ + { + echo "[Unit]" + echo "JobTimeoutSec=3000" +- echo "JobRunningTimeoutSec=3000" + } > "$GENERATOR_DIR/$_dev.device.d/timeout.conf" +diff -Naur dracut-047/modules.d/90livenet/livenet-generator.sh dracut-047.new/modules.d/90livenet/livenet-generator.sh +--- dracut-047/modules.d/90livenet/livenet-generator.sh 2018-02-19 10:00:33.000000000 +0100 ++++ dracut-047.new/modules.d/90livenet/livenet-generator.sh 2018-04-03 09:27:47.559986347 +0200 +@@ -57,5 +57,4 @@ + { + echo "[Unit]" + echo "JobTimeoutSec=3000" +- echo "JobRunningTimeoutSec=3000" + } > "$GENERATOR_DIR/dev-mapper-live\x2drw.device.d/timeout.conf" +diff -Naur dracut-047/modules.d/98dracut-systemd/rootfs-generator.sh dracut-047.new/modules.d/98dracut-systemd/rootfs-generator.sh +--- dracut-047/modules.d/98dracut-systemd/rootfs-generator.sh 2018-02-19 10:00:33.000000000 +0100 ++++ dracut-047.new/modules.d/98dracut-systemd/rootfs-generator.sh 2018-04-03 09:27:32.335986840 +0200 +@@ -32,7 +32,6 @@ + { + echo "[Unit]" + echo "JobTimeoutSec=$_timeout" +- echo "JobRunningTimeoutSec=$_timeout" + } > "$GENERATOR_DIR"/${_name}.device.d/timeout.conf + fi + } +diff -Naur dracut-047/modules.d/99base/dracut-lib.sh dracut-047.new/modules.d/99base/dracut-lib.sh +--- dracut-047/modules.d/99base/dracut-lib.sh 2018-02-19 10:00:33.000000000 +0100 ++++ dracut-047.new/modules.d/99base/dracut-lib.sh 2018-04-03 09:27:21.155987203 +0200 +@@ -938,7 +938,6 @@ + { + echo "[Unit]" + echo "JobTimeoutSec=$_timeout" +- echo "JobRunningTimeoutSec=$_timeout" + } > ${PREFIX}/etc/systemd/system/${_name}.device.d/timeout.conf + type mark_hostonly >/dev/null 2>&1 && mark_hostonly /etc/systemd/system/${_name}.device.d/timeout.conf + _needreload=1 diff --git a/sys-kernel/dracut/files/sort-fixup-creating-early-microcode.patch b/sys-kernel/dracut/files/048-sort-fixup-creating-early-microcode.patch index 1dc95158..1dc95158 100644 --- a/sys-kernel/dracut/files/sort-fixup-creating-early-microcode.patch +++ b/sys-kernel/dracut/files/048-sort-fixup-creating-early-microcode.patch diff --git a/sys-kernel/dracut/files/dracut-044-backport-fix-for-microcode-loading.patch b/sys-kernel/dracut/files/dracut-044-backport-fix-for-microcode-loading.patch deleted file mode 100644 index a7454d3b..00000000 --- a/sys-kernel/dracut/files/dracut-044-backport-fix-for-microcode-loading.patch +++ /dev/null @@ -1,12 +0,0 @@ -diff -Nur a/dracut-functions.sh b/dracut-functions.sh ---- a/dracut-functions.sh 2015-11-25 13:22:28.000000000 +0000 -+++ b/dracut-functions.sh 2018-01-10 06:32:03.255256206 +0000 -@@ -652,7 +652,7 @@ - if [[ "$(get_cpu_vendor)" == "AMD" ]]; then - # If family greater or equal than 0x15 - if [[ $family -ge 21 ]]; then -- printf "microcode_amd_fam15h.bin" -+ printf "microcode_amd_fam%xh.bin" $family - else - printf "microcode_amd.bin" - fi diff --git a/sys-kernel/dracut/files/dracut-044-bash-4.4.patch b/sys-kernel/dracut/files/dracut-044-bash-4.4.patch deleted file mode 100644 index 3144c8e6..00000000 --- a/sys-kernel/dracut/files/dracut-044-bash-4.4.patch +++ /dev/null @@ -1,80 +0,0 @@ -diff -urN dracut-044.orig/modules.d/50drm/module-setup.sh dracut-044/modules.d/50drm/module-setup.sh ---- dracut-044.orig/modules.d/50drm/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 -+++ dracut-044/modules.d/50drm/module-setup.sh 2016-09-28 02:50:08.914967926 +0300 -@@ -24,9 +24,9 @@ - local _fname _fcont - while read _fname || [ -n "$_fname" ]; do - case "$_fname" in -- *.ko) _fcont="$(< $_fname)" ;; -- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;; -- *.ko.xz) _fcont="$(xz -dc $_fname)" ;; -+ *.ko) _fcont="$(< $_fname tr -d \\0)" ;; -+ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;; -+ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;; - esac - [[ $_fcont =~ $_drm_drivers - && ! $_fcont =~ iw_handler_get_spy ]] \ -diff -urN dracut-044.orig/modules.d/90kernel-modules/module-setup.sh dracut-044/modules.d/90kernel-modules/module-setup.sh ---- dracut-044.orig/modules.d/90kernel-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 -+++ dracut-044/modules.d/90kernel-modules/module-setup.sh 2016-09-28 02:49:11.725390294 +0300 -@@ -10,9 +10,9 @@ - function bmf1() { - local _f - while read _f || [ -n "$_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" ;; -+ *.ko) [[ $(< $_f tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;; -+ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;; -+ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_blockfuncs ]] && echo "$_f" ;; - esac - done - return 0 -diff -urN dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh dracut-044/modules.d/90kernel-network-modules/module-setup.sh ---- dracut-044.orig/modules.d/90kernel-network-modules/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 -+++ dracut-044/modules.d/90kernel-network-modules/module-setup.sh 2016-09-28 02:51:08.202422231 +0300 -@@ -26,9 +26,9 @@ - while read _fname; do - [[ $_fname =~ $_unwanted_drivers ]] && continue - case "$_fname" in -- *.ko) _fcont="$(< $_fname)" ;; -- *.ko.gz) _fcont="$(gzip -dc $_fname)" ;; -- *.ko.xz) _fcont="$(xz -dc $_fname)" ;; -+ *.ko) _fcont="$(< $_fname tr -d \\0)" ;; -+ *.ko.gz) _fcont="$(gzip -dc $_fname | tr -d \\0)" ;; -+ *.ko.xz) _fcont="$(xz -dc $_fname | tr -d \\0)" ;; - esac - [[ $_fcont =~ $_net_drivers - && ! $_fcont =~ iw_handler_get_spy ]] \ -diff -urN dracut-044.orig/modules.d/90multipath/module-setup.sh dracut-044/modules.d/90multipath/module-setup.sh ---- dracut-044.orig/modules.d/90multipath/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 -+++ dracut-044/modules.d/90multipath/module-setup.sh 2016-09-28 02:49:11.726390235 +0300 -@@ -58,9 +58,9 @@ - local _f - while read _f || [ -n "$_f" ]; do - case "$_f" in -- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;; -- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; -- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; -+ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; -+ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; -+ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; - esac - done - return 0 -diff -urN dracut-044.orig/modules.d/95iscsi/module-setup.sh dracut-044/modules.d/95iscsi/module-setup.sh ---- dracut-044.orig/modules.d/95iscsi/module-setup.sh 2015-11-25 16:22:28.000000000 +0300 -+++ dracut-044/modules.d/95iscsi/module-setup.sh 2016-09-28 02:49:11.726390235 +0300 -@@ -168,9 +168,9 @@ - local _f - while read _f || [ -n "$_f" ]; do - case "$_f" in -- *.ko) [[ $(< $_f) =~ $_funcs ]] && echo "$_f" ;; -- *.ko.gz) [[ $(gzip -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; -- *.ko.xz) [[ $(xz -dc <$_f) =~ $_funcs ]] && echo "$_f" ;; -+ *.ko) [[ $(< $_f tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; -+ *.ko.gz) [[ $(gzip -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; -+ *.ko.xz) [[ $(xz -dc <$_f | tr -d \\0) =~ $_funcs ]] && echo "$_f" ;; - esac - done - return 0 diff --git a/sys-kernel/dracut/files/dracut-044-ext4-and-f2fs-need-crc32X-too.patch b/sys-kernel/dracut/files/dracut-044-ext4-and-f2fs-need-crc32X-too.patch deleted file mode 100644 index dad12c9b..00000000 --- a/sys-kernel/dracut/files/dracut-044-ext4-and-f2fs-need-crc32X-too.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff -Naur dracut-044/modules.d/99fs-lib/module-setup.sh dracut-044-p/modules.d/99fs-lib/module-setup.sh ---- dracut-044/modules.d/99fs-lib/module-setup.sh 2015-11-25 14:22:28.000000000 +0100 -+++ dracut-044-p/modules.d/99fs-lib/module-setup.sh 2018-04-26 16:30:19.960345610 +0200 -@@ -38,20 +38,23 @@ - include_fs_helper_modules() { - local dev=$1 fs=$2 - case "$fs" in -- xfs|btrfs) -+ xfs|btrfs|ext4) - instmods crc32c - ;; -+ f2fs) -+ instmods crc32 -+ ;; - esac - } - - # called by dracut - installkernel() { -- # xfs and btrfs needs crc32c... -+ # xfs, btrfs , ext4, f2fs needs crc32c / crc32 - if [[ $hostonly ]]; then - for_each_host_dev_fs include_fs_helper_modules - : - else -- instmods crc32c -+ instmods crc32c crc32 - fi - } - diff --git a/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch b/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch deleted file mode 100644 index 3146d848..00000000 --- a/sys-kernel/dracut/files/dracut-044-preserve-xattrs-when-copying.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 61c761bc2c35fb244d46fbbde97161f5927071dc Mon Sep 17 00:00:00 2001 -From: Stefan Berger <stefanb@us.ibm.com> -Date: Tue, 25 Oct 2016 15:09:49 -0400 -Subject: [PATCH] dracut-install: preserve extended attributes when copying - files - -Preserve extended attributes when copying files using dracut-install. - -The copying of extended attributes avoids file execution denials when -the Linux Integrity Measurement's Appraisal mode is active. In that mode -executables need their file signatures copied. In particular, this patch -solves the problem that dependent libaries are not included in the -initramfs since the copied programs could not be executed due to missing -signatures. The following audit record shows the type of failure that -is now prevented: - -type=INTEGRITY_DATA msg=audit(1477409025.492:30065): pid=922 uid=0 - auid=4294967295 ses=4294967295 - subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 - op="appraise_data" cause="IMA-signature-required" - comm="ld-linux-x86-64" - name="/var/tmp/dracut.R6ySa4/initramfs/usr/bin/journalctl" - dev="dm-0" ino=37136 res=0 - -Signed-off-by: Stefan Berger <stefanb@linux.vnet.ibm.com> ---- - install/dracut-install.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/install/dracut-install.c b/install/dracut-install.c -index fe30bba..c0f1c17 100644 ---- a/install/dracut-install.c -+++ b/install/dracut-install.c -@@ -294,7 +294,7 @@ static int cp(const char *src, const char *dst) - normal_copy: - pid = fork(); - if (pid == 0) { -- execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps", "-fL", src, dst, -+ execlp("cp", "cp", "--reflink=auto", "--sparse=auto", "--preserve=mode,timestamps,xattr", "-fL", src, dst, - NULL); - _exit(EXIT_FAILURE); - } -@@ -302,7 +302,7 @@ static int cp(const char *src, const char *dst) - while (waitpid(pid, &ret, 0) < 0) { - if (errno != EINTR) { - ret = -1; -- log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps -fL %s %s", src, -+ log_error("Failed: cp --reflink=auto --sparse=auto --preserve=mode,timestamps,xattr -fL %s %s", src, - dst); - break; - } |