summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-12-13 10:17:35 +0100
committerAndrew Ammerlaan <andrewammerlaan@gentoo.org>2023-12-13 10:17:35 +0100
commit32774e9d9e056831857e7aaf6aeed10498e9de39 (patch)
treea42fa67b9c6a10f5bc75ba764f1764e3cf5dd228 /sys-kernel
parentapp-containers/incus: add lxd-5.20 compatibility patch (diff)
downloadgentoo-32774e9d9e056831857e7aaf6aeed10498e9de39.tar.gz
gentoo-32774e9d9e056831857e7aaf6aeed10498e9de39.tar.bz2
gentoo-32774e9d9e056831857e7aaf6aeed10498e9de39.zip
sys-kernel/dracut: backport fix for systemd-255 pcrphase
Signed-off-by: Andrew Ammerlaan <andrewammerlaan@gentoo.org>
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/dracut/dracut-060_pre20231030-r1.ebuild (renamed from sys-kernel/dracut/dracut-060_pre20231030.ebuild)1
-rw-r--r--sys-kernel/dracut/files/dracut-060-systemd-255.patch26
2 files changed, 27 insertions, 0 deletions
diff --git a/sys-kernel/dracut/dracut-060_pre20231030.ebuild b/sys-kernel/dracut/dracut-060_pre20231030-r1.ebuild
index 639d28605329..cdb6f8ce433f 100644
--- a/sys-kernel/dracut/dracut-060_pre20231030.ebuild
+++ b/sys-kernel/dracut/dracut-060_pre20231030-r1.ebuild
@@ -69,6 +69,7 @@ QA_MULTILIB_PATHS="usr/lib/dracut/.*"
PATCHES=(
"${FILESDIR}"/gentoo-ldconfig-paths-r1.patch
"${FILESDIR}"/dracut-060-fix-resume-hostonly.patch
+ "${FILESDIR}"/dracut-060-systemd-255.patch
)
src_configure() {
diff --git a/sys-kernel/dracut/files/dracut-060-systemd-255.patch b/sys-kernel/dracut/files/dracut-060-systemd-255.patch
new file mode 100644
index 000000000000..9d577e9504da
--- /dev/null
+++ b/sys-kernel/dracut/files/dracut-060-systemd-255.patch
@@ -0,0 +1,26 @@
+https://github.com/dracutdevs/dracut/pull/2586/files
+diff --git a/modules.d/01systemd-pcrphase/module-setup.sh b/modules.d/01systemd-pcrphase/module-setup.sh
+index fa960a42c1..87efd0c1a6 100755
+--- a/modules.d/01systemd-pcrphase/module-setup.sh
++++ b/modules.d/01systemd-pcrphase/module-setup.sh
+@@ -6,7 +6,11 @@
+ check() {
+
+ # If the binary(s) requirements are not fulfilled the module can't be installed.
+- require_binaries "$systemdutildir"/systemd-pcrphase || return 1
++ # systemd-255 renamed the binary, check for old and new location.
++ if ! require_binaries "$systemdutildir"/systemd-pcrphase && \
++ ! require_binaries "$systemdutildir"/systemd-pcrextend; then
++ return 1
++ fi
+
+ # Return 255 to only include the module, if another module requires it.
+ return 255
+@@ -28,6 +32,7 @@ install() {
+
+ inst_multiple -o \
+ "$systemdutildir"/systemd-pcrphase \
++ "$systemdutildir"/systemd-pcrextend \
+ "$systemdsystemunitdir"/systemd-pcrphase-initrd.service \
+ "$systemdsystemunitdir/systemd-pcrphase-initrd.service.d/*.conf" \
+ "$systemdsystemunitdir"/initrd.target.wants/systemd-pcrphase-initrd.service