From 6fb02070d3d7bb33c779a834cccfa7883c0a5b72 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Wed, 8 Nov 2023 14:43:42 +0100 Subject: [PATCH] Backport patches to unbreak systemd v255 --- ...hase-rename-systemd-pcrphase-binary-.patch | 34 +++++++++++++++++++ 2527.patch | 26 ++++++++++++++ ...c4824a8cd47ce6c01892a548bdc07b1fa678.patch | 26 ++++++++++++++ dracut.spec | 11 +++++- 4 files changed, 96 insertions(+), 1 deletion(-) create mode 100644 0001-fix-systemd-pcrphase-rename-systemd-pcrphase-binary-.patch create mode 100644 2527.patch create mode 100644 bee1c4824a8cd47ce6c01892a548bdc07b1fa678.patch diff --git a/0001-fix-systemd-pcrphase-rename-systemd-pcrphase-binary-.patch b/0001-fix-systemd-pcrphase-rename-systemd-pcrphase-binary-.patch new file mode 100644 index 0000000..919ff80 --- /dev/null +++ b/0001-fix-systemd-pcrphase-rename-systemd-pcrphase-binary-.patch @@ -0,0 +1,34 @@ +From 805728cabf81ddef6a550b95d08f1f6e00e0cf8b Mon Sep 17 00:00:00 2001 +From: Antonio Alvarez Feijoo +Date: Tue, 26 Sep 2023 08:12:23 +0200 +Subject: [PATCH] fix(systemd-pcrphase): rename systemd-pcrphase binary to + systemd-pcrextend + +The `systemd-pcrphase` binary has been renamed to `systemd-pcrextend` since +https://github.com/systemd/systemd/commit/32295fa0 +--- + modules.d/01systemd-pcrphase/module-setup.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/modules.d/01systemd-pcrphase/module-setup.sh b/modules.d/01systemd-pcrphase/module-setup.sh +index 3dbb4974ef..b9817e6405 100755 +--- a/modules.d/01systemd-pcrphase/module-setup.sh ++++ b/modules.d/01systemd-pcrphase/module-setup.sh +@@ -6,7 +6,7 @@ + check() { + + # If the binary(s) requirements are not fulfilled the module can't be installed. +- require_binaries "$systemdutildir"/systemd-pcrphase || return 1 ++ require_binaries "$systemdutildir"/systemd-pcrextend || return 1 + + # Return 255 to only include the module, if another module requires it. + return 255 +@@ -27,7 +27,7 @@ depends() { + install() { + + inst_multiple -o \ +- "$systemdutildir"/systemd-pcrphase \ ++ "$systemdutildir"/systemd-pcrextend \ + "$systemdsystemunitdir"/systemd-pcrphase.service \ + "$systemdsystemunitdir/systemd-pcrphase.service.d/*.conf" \ + "$systemdsystemunitdir"/systemd-pcrphase-sysinit.service \ diff --git a/2527.patch b/2527.patch new file mode 100644 index 0000000..5ba7966 --- /dev/null +++ b/2527.patch @@ -0,0 +1,26 @@ +From a2fe89116db4b286fbf515f26bd1773b5e6ee8ad Mon Sep 17 00:00:00 2001 +From: Antonio Alvarez Feijoo +Date: Tue, 26 Sep 2023 09:43:37 +0200 +Subject: [PATCH] fix(resume): add new systemd-hibernate-resume.service + +Since https://github.com/systemd/systemd/commit/a628d933, the generator only +does the initial validation of the system info and then enables the new +`systemd-hibernate-resume.service`. + +Fixes #2513 +--- + modules.d/95resume/module-setup.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/95resume/module-setup.sh b/modules.d/95resume/module-setup.sh +index d255103366..9204f9cb73 100755 +--- a/modules.d/95resume/module-setup.sh ++++ b/modules.d/95resume/module-setup.sh +@@ -44,6 +44,7 @@ install() { + if dracut_module_included "systemd" && [[ -x $dracutsysrootdir$systemdutildir/systemd-hibernate-resume ]]; then + inst_multiple -o \ + "$systemdutildir"/system-generators/systemd-hibernate-resume-generator \ ++ "$systemdsystemunitdir"/systemd-hibernate-resume.service \ + "$systemdsystemunitdir"/systemd-hibernate-resume@.service \ + "$systemdutildir"/systemd-hibernate-resume + return 0 diff --git a/bee1c4824a8cd47ce6c01892a548bdc07b1fa678.patch b/bee1c4824a8cd47ce6c01892a548bdc07b1fa678.patch new file mode 100644 index 0000000..0800157 --- /dev/null +++ b/bee1c4824a8cd47ce6c01892a548bdc07b1fa678.patch @@ -0,0 +1,26 @@ +From bee1c4824a8cd47ce6c01892a548bdc07b1fa678 Mon Sep 17 00:00:00 2001 +From: Frantisek Sumsal +Date: Sat, 14 Oct 2023 23:45:57 +0200 +Subject: [PATCH] feat(systemd): install systemd-executor + +In [0] systemd gained a new binary - systemd-executor - that's used to +spawn processes forked off systemd. Let's copy it into the initrd if +it's available. + +[0] https://github.com/systemd/systemd/pull/27890 +--- + modules.d/00systemd/module-setup.sh | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh +index 554c25a08..9a13a1dbb 100755 +--- a/modules.d/00systemd/module-setup.sh ++++ b/modules.d/00systemd/module-setup.sh +@@ -34,6 +34,7 @@ install() { + "$systemdutildir"/systemd \ + "$systemdutildir"/systemd-coredump \ + "$systemdutildir"/systemd-cgroups-agent \ ++ "$systemdutildir"/systemd-executor \ + "$systemdutildir"/systemd-shutdown \ + "$systemdutildir"/systemd-reply-password \ + "$systemdutildir"/systemd-fsck \ diff --git a/dracut.spec b/dracut.spec index ef15c28..a2b66a8 100644 --- a/dracut.spec +++ b/dracut.spec @@ -7,7 +7,7 @@ %global __requires_exclude pkg-config # rpmdev-bumpspec and releng automation compatible variable -%global baserelease 15 +%global baserelease 16 Name: dracut Version: 059 @@ -83,6 +83,12 @@ Patch12: 0001-fix-make-iso-scan-trigger-udev-events.patch # https://github.com/dracutdevs/dracut/pull/2545 Patch13: 0001-fix-wait-12-hours-before-halt-on-media-check-fail.patch +# Unbreak new systemd +Patch14: https://github.com/dracutdevs/dracut/commit/bee1c4824a8cd47ce6c01892a548bdc07b1fa678.patch +# https://github.com/dracutdevs/dracut/pull/2526.patch rebased +Patch15: 0001-fix-systemd-pcrphase-rename-systemd-pcrphase-binary-.patch +Patch16: https://github.com/dracutdevs/dracut/pull/2527.patch + BuildRequires: bash BuildRequires: git-core BuildRequires: pkgconfig(libkmod) >= 23 @@ -483,6 +489,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog +* Wed Nov 8 2023 Zbigniew Jedrzejewski-Szmek - 059-16 +- Backport patches to fix compatibility with systemd 255 + * Sat Oct 28 2023 Adam Williamson - 059-15 - Backport PR #2545 to fix media check failure visibility