From c7d8423e53668b6e09dc46df6c5eac5023038eff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Robert=20F=C3=B6rster?= Date: Fri, 4 Jul 2025 19:40:39 +0200 Subject: [PATCH] [sys-kernel/dracut] in-tree is fine now --- sys-kernel/dracut/Manifest | 1 - sys-kernel/dracut/dracut-105-r4.ebuild | 239 ------------------ .../dracut-103-acct-user-group-gentoo.patch | 30 --- ...acut-105-ensure-abs-args-for-objcopy.patch | 48 ---- .../dracut-105-fix-check_kernel_module.patch | 28 -- .../files/dracut-105-systemd-cryptsetup.patch | 29 --- .../files/gentoo-ldconfig-paths-r1.patch | 39 --- sys-kernel/dracut/metadata.xml | 22 -- 8 files changed, 436 deletions(-) delete mode 100644 sys-kernel/dracut/Manifest delete mode 100644 sys-kernel/dracut/dracut-105-r4.ebuild delete mode 100644 sys-kernel/dracut/files/dracut-103-acct-user-group-gentoo.patch delete mode 100644 sys-kernel/dracut/files/dracut-105-ensure-abs-args-for-objcopy.patch delete mode 100644 sys-kernel/dracut/files/dracut-105-fix-check_kernel_module.patch delete mode 100644 sys-kernel/dracut/files/dracut-105-systemd-cryptsetup.patch delete mode 100644 sys-kernel/dracut/files/gentoo-ldconfig-paths-r1.patch delete mode 100644 sys-kernel/dracut/metadata.xml diff --git a/sys-kernel/dracut/Manifest b/sys-kernel/dracut/Manifest deleted file mode 100644 index 1cf2f33..0000000 --- a/sys-kernel/dracut/Manifest +++ /dev/null @@ -1 +0,0 @@ -DIST dracut-105.tar.gz 575857 BLAKE2B 93463e3d1649e6e68accbb4f2480af471e851a54185771cec01e8b7112f5c4158901747bdc1180e08e270d3b3b21afb4d510dae09ca6ef00e309300bede188d1 SHA512 1608fb31d6a53905ea25a279586573db5fc7e084b4f6ff06e52065cbcb4ff503c2d51c0a282345844228232b1b590382b482a224183e0c4ee16c9c9e6932b275 diff --git a/sys-kernel/dracut/dracut-105-r4.ebuild b/sys-kernel/dracut/dracut-105-r4.ebuild deleted file mode 100644 index 378d589..0000000 --- a/sys-kernel/dracut/dracut-105-r4.ebuild +++ /dev/null @@ -1,239 +0,0 @@ -# Copyright 1999-2024 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=8 -CARGO_OPTIONAL=1 - -inherit cargo flag-o-matic bash-completion-r1 edo optfeature systemd toolchain-funcs - -if [[ ${PV} == 9999 ]] ; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/dracut-ng/dracut-ng" -else - if [[ "${PV}" != *_rc* ]]; then - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86" - fi - SRC_URI="https://github.com/dracut-ng/dracut-ng/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz" - S="${WORKDIR}/${PN}-ng-${PV}" -fi - -DESCRIPTION="Generic initramfs generation tool" -HOMEPAGE="https://github.com/dracut-ng/dracut-ng/wiki" - -LICENSE="GPL-2" -SLOT="0" -IUSE="+dracut-cpio selinux test" -RESTRICT="test" -PROPERTIES="test? ( test_privileged test_network )" - -RDEPEND=" - app-alternatives/cpio - >=app-shells/bash-4.0:0 - sys-apps/coreutils[xattr(-)] - >=sys-apps/kmod-23[tools] - || ( - >=sys-apps/sysvinit-2.87-r3 - sys-apps/openrc[sysv-utils(-),selinux?] - sys-apps/openrc-navi[sysv-utils(-),selinux?] - sys-apps/systemd[sysv-utils] - sys-apps/s6-linux-init[sysv-utils(-)] - ) - >=sys-apps/util-linux-2.21 - virtual/pkgconfig[native-symlinks(+)] - virtual/udev - - elibc_musl? ( sys-libs/fts-standalone ) - selinux? ( - sec-policy/selinux-dracut - sys-libs/libselinux - sys-libs/libsepol - ) -" -DEPEND=" - >=sys-apps/kmod-23 - elibc_musl? ( sys-libs/fts-standalone ) -" - -BDEPEND=" - app-text/asciidoc - app-text/docbook-xml-dtd:4.5 - >=app-text/docbook-xsl-stylesheets-1.75.2 - >=dev-libs/libxslt-1.1.26 - virtual/pkgconfig - dracut-cpio? ( ${RUST_DEPEND} ) - test? ( - net-nds/rpcbind - net-fs/nfs-utils - sys-block/open-iscsi - sys-fs/btrfs-progs - sys-fs/dmraid - sys-fs/lvm2[lvm,thin] - sys-fs/mdadm - sys-fs/multipath-tools - alpha? ( app-emulation/qemu[qemu_softmmu_targets_alpha] ) - amd64? ( app-emulation/qemu[qemu_softmmu_targets_x86_64] ) - arm? ( app-emulation/qemu[qemu_softmmu_targets_arm] ) - arm64? ( app-emulation/qemu[qemu_softmmu_targets_aarch64] ) - hppa? ( app-emulation/qemu[qemu_softmmu_targets_hppa] ) - loong? ( app-emulation/qemu[qemu_softmmu_targets_loongarch64] ) - mips? ( || ( - app-emulation/qemu[qemu_softmmu_targets_mips] - app-emulation/qemu[qemu_softmmu_targets_mips64] - app-emulation/qemu[qemu_softmmu_targets_mips64el] - ) ) - ppc? ( app-emulation/qemu[qemu_softmmu_targets_ppc] ) - ppc64? ( app-emulation/qemu[qemu_softmmu_targets_ppc64] ) - riscv? ( || ( - app-emulation/qemu[qemu_softmmu_targets_riscv32] - app-emulation/qemu[qemu_softmmu_targets_riscv64] - ) ) - sparc? ( || ( - app-emulation/qemu[qemu_softmmu_targets_sparc] - app-emulation/qemu[qemu_softmmu_targets_sparc64] - ) ) - x86? ( app-emulation/qemu[qemu_softmmu_targets_i386] ) - ) -" - -QA_MULTILIB_PATHS="usr/lib/dracut/.*" - -PATCHES=( - "${FILESDIR}"/gentoo-ldconfig-paths-r1.patch - # Gentoo specific acct-user and acct-group conf adjustments - "${FILESDIR}"/${PN}-103-acct-user-group-gentoo.patch - # https://github.com/dracut-ng/dracut-ng/pull/834 - "${FILESDIR}"/${PN}-105-ensure-abs-args-for-objcopy.patch - # https://github.com/dracut-ng/dracut-ng/pull/904 - "${FILESDIR}"/${PN}-105-fix-check_kernel_module.patch - # https://github.com/dracut-ng/dracut-ng/pull/921 - "${FILESDIR}"/dracut-105-systemd-cryptsetup.patch -) - -pkg_setup() { - use dracut-cpio && rust_pkg_setup -} - -src_configure() { - local myconf=( - --prefix="${EPREFIX}/usr" - --sysconfdir="${EPREFIX}/etc" - --bashcompletiondir="$(get_bashcompdir)" - --systemdsystemunitdir="$(systemd_get_systemunitdir)" - --disable-dracut-cpio - ) - - # this emulates what the build system would be doing without us - append-cflags -D_FILE_OFFSET_BITS=64 - - tc-export CC PKG_CONFIG - - edo ./configure "${myconf[@]}" - if use dracut-cpio; then - cargo_gen_config - cargo_src_configure - fi -} - -src_compile() { - default - if use dracut-cpio; then - pushd src/dracut-cpio >/dev/null || die - cargo_src_compile - popd >/dev/null || die - fi -} - -src_test() { - addwrite /dev/kvm - # Translate ARCH so run-qemu can find the correct qemu-system-ARCH - local qemu_arch - if use amd64; then - qemu_arch=x86_64 - elif use arm64; then - qemu_arch=aarch64 - elif use loong; then - qemu_arch=loongarch64 - elif use x86; then - qemu_arch=i386 - else - qemu_arch=$(tc-arch) - fi - ARCH=${qemu_arch} emake -C test check -} - -src_install() { - local DOCS=( - AUTHORS - NEWS.md - README.md - ) - default - if use dracut-cpio; then - exeinto /usr/lib/dracut - doexe "src/dracut-cpio/$(cargo_target_dir)/dracut-cpio" - fi -} - -pkg_preinst() { - # Remove directory/symlink conflicts - # https://bugs.gentoo.org/943007 - local save_nullglob=$(shopt -p nullglob) - shopt -s nullglob - local module - for module in "${EROOT}"/usr/lib/dracut/modules.d/{80test,80test-makeroot,80test-root}; do - if [[ ! -L ${module} && -d ${module} ]]; then - rm -rv "${module}" || die - fi - local backups=( "${module}".backup.* ) - if [[ ${#backups[@]} -gt 0 ]]; then - rm -v "${backups[@]}" || die - fi - done - eval "${save_nullglob}" -} - -pkg_postinst() { - optfeature "Networking support" net-misc/networkmanager - optfeature "Legacy networking support" net-misc/curl "net-misc/dhcp[client]" \ - sys-apps/iproute2 "net-misc/iputils[arping]" - 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 \ - "Allows use of busybox instead of default bash (on your own risk)" \ - sys-apps/busybox - optfeature "Support iSCSI" sys-block/open-iscsi - optfeature "Support Logical Volume Manager" sys-fs/lvm2[lvm] - optfeature "Support MD devices, also known as software RAID devices" \ - sys-fs/mdadm sys-fs/dmraid - 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" \ - virtual/openssh - optfeature "Enable logging with rsyslog" app-admin/rsyslog - optfeature "Support Squashfs" sys-fs/squashfs-tools - optfeature "Support TPM 2.0 TSS" app-crypt/tpm2-tools - optfeature "Support Bluetooth (experimental)" net-wireless/bluez - optfeature "Support BIOS-given device names" sys-apps/biosdevname - optfeature "Support network NVMe" sys-apps/nvme-cli app-misc/jq - optfeature \ - "Enable rngd service to help generating entropy early during boot" \ - sys-apps/rng-tools - optfeature "building Unified Kernel Images with dracut (--uefi)" \ - "sys-apps/systemd[boot]" "sys-apps/systemd-utils[boot]" - optfeature "automatically generating an initramfs on each kernel installation" \ - "sys-kernel/installkernel[dracut]" - optfeature "automatically generating an UKI on each kernel installation" \ - "sys-kernel/installkernel[dracut,uki]" -} diff --git a/sys-kernel/dracut/files/dracut-103-acct-user-group-gentoo.patch b/sys-kernel/dracut/files/dracut-103-acct-user-group-gentoo.patch deleted file mode 100644 index 045528b..0000000 --- a/sys-kernel/dracut/files/dracut-103-acct-user-group-gentoo.patch +++ /dev/null @@ -1,30 +0,0 @@ -diff --git a/dracut-init.sh b/dracut-init.sh -index 986da96b..bd47bc92 100755 ---- a/dracut-init.sh -+++ b/dracut-init.sh -@@ -711,10 +711,10 @@ inst_libdir_file() { - - # install sysusers files - inst_sysusers() { -- inst_multiple -o "$sysusers/$*" -+ inst_multiple -o "$sysusers/acct-*-$*" - - if [[ $hostonly ]]; then -- inst_multiple -H -o "$sysusersconfdir/$*" -+ inst_multiple -H -o "$sysusersconfdir/acct-*-$*" - fi - } - -diff --git a/modules.d/91tpm2-tss/module-setup.sh b/modules.d/91tpm2-tss/module-setup.sh -index 4441f552..4b5654d5 100755 ---- a/modules.d/91tpm2-tss/module-setup.sh -+++ b/modules.d/91tpm2-tss/module-setup.sh -@@ -30,7 +30,7 @@ installkernel() { - - # Install the required file(s) and directories for the module in the initramfs. - install() { -- inst_sysusers tpm2-tss.conf -+ inst_sysusers tss.conf - - inst_multiple -o \ - "$tmpfilesdir"/tpm2-tss-fapi.conf \ diff --git a/sys-kernel/dracut/files/dracut-105-ensure-abs-args-for-objcopy.patch b/sys-kernel/dracut/files/dracut-105-ensure-abs-args-for-objcopy.patch deleted file mode 100644 index aefd8be..0000000 --- a/sys-kernel/dracut/files/dracut-105-ensure-abs-args-for-objcopy.patch +++ /dev/null @@ -1,48 +0,0 @@ -From 1579bb0c77d9e1e4599623a165c54a0dccdaf875 Mon Sep 17 00:00:00 2001 -From: Andrew Ammerlaan -Date: Thu, 31 Oct 2024 11:28:37 +0100 -Subject: [PATCH] fix(dracut.sh): ensure abs path for objcopy args - -Closes: https://github.com/dracut-ng/dracut-ng/issues/833 -Signed-off-by: Andrew Ammerlaan ---- - dracut.sh | 19 ++++++++++++++++--- - 1 file changed, 16 insertions(+), 3 deletions(-) - -diff --git a/dracut.sh b/dracut.sh -index 90927136e..8b666a1ac 100755 ---- a/dracut.sh -+++ b/dracut.sh -@@ -35,6 +35,19 @@ readonly dracut_cmd=$(readlink -f "$0") - - set -o pipefail - -+# below we sometimes cd, which causes problems if we're building an UKI -+# and relative paths are passed on to us. Store the pwd before we do anything. -+pwd=$(pwd) -+path_rel_to_abs() { -+ for var in "$@"; do -+ if [[ $var == /* ]]; then -+ echo "$var" -+ else -+ echo "$pwd/$var" -+ fi -+ done -+} -+ - usage() { - [[ $sysroot_l ]] && dracutsysrootdir="$sysroot_l" - [[ $dracutbasedir ]] || dracutbasedir="$dracutsysrootdir"/usr/lib/dracut -@@ -1095,9 +1108,9 @@ drivers_dir="${drivers_dir%"${drivers_dir##*[!/]}"}" - [[ $reproducible_l ]] && reproducible="$reproducible_l" - [[ $loginstall_l ]] && loginstall="$loginstall_l" - [[ $uefi_l ]] && uefi=$uefi_l --[[ $uefi_stub_l ]] && uefi_stub="$uefi_stub_l" --[[ $uefi_splash_image_l ]] && uefi_splash_image="$uefi_splash_image_l" --[[ $kernel_image_l ]] && kernel_image="$kernel_image_l" -+[[ $uefi_stub_l ]] && uefi_stub=$(path_rel_to_abs "$uefi_stub_l") -+[[ $uefi_splash_image_l ]] && uefi_splash_image=$(path_rel_to_abs "$uefi_splash_image_l") -+[[ $kernel_image_l ]] && kernel_image=$(path_rel_to_abs "$kernel_image_l") - [[ $sbat_l ]] && sbat="$sbat_l" - [[ $machine_id_l ]] && machine_id="$machine_id_l" - diff --git a/sys-kernel/dracut/files/dracut-105-fix-check_kernel_module.patch b/sys-kernel/dracut/files/dracut-105-fix-check_kernel_module.patch deleted file mode 100644 index 558bd38..0000000 --- a/sys-kernel/dracut/files/dracut-105-fix-check_kernel_module.patch +++ /dev/null @@ -1,28 +0,0 @@ -From b90eda4b431af23d1101f1ea68b656929c6a82b2 Mon Sep 17 00:00:00 2001 -From: Nowa Ammerlaan -Date: Fri, 8 Nov 2024 20:01:54 +0100 -Subject: [PATCH] fix(dracut-functions.sh): check for modules in --kmoddir, not - in --sysroot - -Modules are installed from the directory specified by --kmoddir, but currently -the check_kernel_module() function is checking for the module in ---sysroot/lib/modules. This is notably not the same when kernels packages are -being built inside some docker container. We should check for the modules -existence in the directory we are actually going to install it from. ---- - dracut-functions.sh | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 865c31290..245c69cb6 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -761,7 +761,7 @@ check_kernel_config() { - # 0 if the kernel module is either built-in or available - # 1 if the kernel module is not enabled - check_kernel_module() { -- modprobe -d "$dracutsysrootdir" -S "$kernel" --dry-run "$1" &> /dev/null || return 1 -+ modprobe -d "$drivers_dir/../../../" -S "$kernel" --dry-run "$1" &> /dev/null || return 1 - } - - # get_cpu_vendor diff --git a/sys-kernel/dracut/files/dracut-105-systemd-cryptsetup.patch b/sys-kernel/dracut/files/dracut-105-systemd-cryptsetup.patch deleted file mode 100644 index 154bd21..0000000 --- a/sys-kernel/dracut/files/dracut-105-systemd-cryptsetup.patch +++ /dev/null @@ -1,29 +0,0 @@ -https://github.com/dracut-ng/dracut-ng/pull/921 -https://bugs.gentoo.org/943035 - -From 2d4b550c71cc79ac7a3f18afc09d8263963d5de2 Mon Sep 17 00:00:00 2001 -From: Jo Zzsi -Date: Sat, 9 Nov 2024 14:06:57 -0500 -Subject: [PATCH] fix(dracut-systemd): check systemd-cryptsetup before - including - ---- - modules.d/98dracut-systemd/module-setup.sh | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/modules.d/98dracut-systemd/module-setup.sh b/modules.d/98dracut-systemd/module-setup.sh -index 0438e40f0..f2502cd78 100755 ---- a/modules.d/98dracut-systemd/module-setup.sh -+++ b/modules.d/98dracut-systemd/module-setup.sh -@@ -19,7 +19,10 @@ depends() { - # systemd-cryptsetup is mandatory dependency - # see https://github.com/dracut-ng/dracut-ng/issues/563 - if dracut_module_included "crypt"; then -- deps+=" systemd-cryptsetup" -+ module_check systemd-cryptsetup > /dev/null 2>&1 -+ if [[ $? == 255 ]]; then -+ deps+=" systemd-cryptsetup" -+ fi - fi - - echo "$deps" diff --git a/sys-kernel/dracut/files/gentoo-ldconfig-paths-r1.patch b/sys-kernel/dracut/files/gentoo-ldconfig-paths-r1.patch deleted file mode 100644 index 53349a1..0000000 --- a/sys-kernel/dracut/files/gentoo-ldconfig-paths-r1.patch +++ /dev/null @@ -1,39 +0,0 @@ -From e6a5f02038954ede223cc75901386acf43ec4264 Mon Sep 17 00:00:00 2001 -From: Alexander Tsoy -Date: Mon, 9 Mar 2020 02:47:07 +0300 -Subject: [PATCH] Remove redundant gcc paths in ldconfig_paths() - -Bug: https://bugs.gentoo.org/705728 ---- - dracut-functions.sh | 15 ++++++++++++++- - 1 file changed, 14 insertions(+), 1 deletion(-) - -diff --git a/dracut-functions.sh b/dracut-functions.sh -index 5206bd21..a119fb15 100755 ---- a/dracut-functions.sh -+++ b/dracut-functions.sh -@@ -81,7 +81,20 @@ find_binary() { - } - - ldconfig_paths() { -- $DRACUT_LDCONFIG ${dracutsysrootdir:+-r ${dracutsysrootdir} -f /etc/ld.so.conf} -pN 2> /dev/null | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | sed -n 's,.* => \(.*\)/.*,\1,p' | sort | uniq -+ local gccpath -+ -+ if type -P gcc-config &>/dev/null; then -+ gccpath=$(gcc-config -c) -+ gccpath=/usr/lib/gcc/${gccpath%-*}/${gccpath##*-} -+ fi -+ -+ while read -r line; do -+ if [[ ${line} != /usr/lib/gcc/* || -z ${gccpath} ]]; then -+ echo ${line} -+ elif [[ ${line} == ${gccpath} ]]; then -+ echo ${line} -+ fi -+ done < <($DRACUT_LDCONFIG ${dracutsysrootdir:+-r ${dracutsysrootdir} -f /etc/ld.so.conf} -pN 2>/dev/null | grep -E -v '/(lib|lib64|usr/lib|usr/lib64)/[^/]*$' | sed -n 's,.* => \(.*\)/.*,\1,p' | sort | uniq) - } - - # Version comparision function. Assumes Linux style version scheme. --- -2.32.0 - diff --git a/sys-kernel/dracut/metadata.xml b/sys-kernel/dracut/metadata.xml deleted file mode 100644 index f1071d2..0000000 --- a/sys-kernel/dracut/metadata.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - alexander@tsoy.me - Alexander Tsoy - - - floppym@gentoo.org - Mike Gilbert - - - nowa@gentoo.org - Nowa Ammerlaan - - - Build the enhanced 'dracut-cpio' program - - - dracut-ng/dracut-ng - -