commit:     32774e9d9e056831857e7aaf6aeed10498e9de39
Author:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
AuthorDate: Wed Dec 13 09:17:35 2023 +0000
Commit:     Andrew Ammerlaan <andrewammerlaan <AT> gentoo <DOT> org>
CommitDate: Wed Dec 13 09:17:35 2023 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=32774e9d

sys-kernel/dracut: backport fix for systemd-255 pcrphase

Signed-off-by: Andrew Ammerlaan <andrewammerlaan <AT> gentoo.org>

 ...030.ebuild => dracut-060_pre20231030-r1.ebuild} |  1 +
 .../dracut/files/dracut-060-systemd-255.patch      | 26 ++++++++++++++++++++++
 2 files changed, 27 insertions(+)

diff --git a/sys-kernel/dracut/dracut-060_pre20231030.ebuild 
b/sys-kernel/dracut/dracut-060_pre20231030-r1.ebuild
similarity index 98%
rename from sys-kernel/dracut/dracut-060_pre20231030.ebuild
rename to 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

Reply via email to