Upgrade to dracut 107

From-source-git-commit: e0d1d0707c4694219b6d44d417c4c4e6a0fdc94c

Resolves: RHEL-97473
This commit is contained in:
Pavel Valena 2025-07-21 15:14:33 +02:00
parent 02524c3169
commit e68b4f0939
21 changed files with 273 additions and 243 deletions

View File

@ -1,7 +1,7 @@
From 07151e560561b415f7e016362ab1d180b13f33fb Mon Sep 17 00:00:00 2001
From a9afc62a54034b452c974a2c6dfa959031566e61 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Wed, 12 Jun 2024 06:30:42 +0200
Subject: [PATCH 01/13] revert: "fix(install.d): correctly install pre-genned
Subject: [PATCH 01/16] revert: "fix(install.d): correctly install pre-genned
image and die if no args"
revert: "fix(install.d): simplify and use what kernel-install gives us"
@ -15,12 +15,12 @@ https://github.com/dracut-ng/dracut-ng/issues/334
This is temporary, until the `20-grub.install` will be able to handle initrd
from kernel staging area.
---
install.d/50-dracut.install | 152 ++++++++++++++++++-----------
install.d/50-dracut.install | 153 ++++++++++++++++++-----------
install.d/51-dracut-rescue.install | 22 +----
2 files changed, 97 insertions(+), 77 deletions(-)
2 files changed, 97 insertions(+), 78 deletions(-)
diff --git a/install.d/50-dracut.install b/install.d/50-dracut.install
index 14f87721..441414ac 100755
index 6019e8d8..441414ac 100755
--- a/install.d/50-dracut.install
+++ b/install.d/50-dracut.install
@@ -1,13 +1,13 @@
@ -42,7 +42,7 @@ index 14f87721..441414ac 100755
exit 0
fi
@@ -16,64 +16,102 @@ if [[ "$KERNEL_INSTALL_IMAGE_TYPE" = "uki" ]]; then
@@ -16,65 +16,102 @@ if [[ "$KERNEL_INSTALL_IMAGE_TYPE" = "uki" ]]; then
exit 0
fi
@ -190,6 +190,7 @@ index 14f87721..441414ac 100755
-# shellcheck disable=SC2046
-dracut -f \
- --add-confdir hostonly \
- ${noimageifnotneeded:+--noimageifnotneeded} \
- $([[ $KERNEL_INSTALL_VERBOSE == 1 ]] && echo --verbose) \
- $([[ -n $KERNEL_IMAGE ]] && echo --kernel-image "$KERNEL_IMAGE") \
@ -234,5 +235,5 @@ index 4ec9e3c5..9312e242 100755
suffix=$1
shift
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From e8c6d93a1fe7ea255754bfb93fad8daad62a85ce Mon Sep 17 00:00:00 2001
From ae9180bd95fcfc2b01475dac3ddf05cd3011d484 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 18 Jan 2022 18:08:42 +0100
Subject: [PATCH 02/13] feat(kernel-install): do nothing when
Subject: [PATCH 02/16] feat(kernel-install): do nothing when
$KERNEL_INSTALL_INITRD_GENERATOR says so
dracut may be installed without being actually used. This is very common in
@ -68,5 +68,5 @@ index 9312e242..decee283 100755
suffix=$1
shift
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From 430b1b06e60de78c28ed6e70982a30f41585b219 Mon Sep 17 00:00:00 2001
From 65705f91734f79d157d1365cef1ce8eb988996b5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= <zbyszek@in.waw.pl>
Date: Tue, 18 Jan 2022 18:58:58 +0100
Subject: [PATCH 03/13] fix(kernel-install): do not generate an initrd when one
Subject: [PATCH 03/16] fix(kernel-install): do not generate an initrd when one
was specified
According to the synopsis, kernel-install can be called with an
@ -35,5 +35,5 @@ index 3f961b11..076b4f5e 100755
IMAGE_PREGENERATED=${KERNEL_IMAGE%/*}/uki.efi
else
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From 67654956c27c159e29701a2b9fd9430d372a9f91 Mon Sep 17 00:00:00 2001
From 8b0520da9fd68cfb47a128610949636ec88876ef Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Thu, 8 Aug 2024 00:21:12 +0200
Subject: [PATCH 04/13] fix(resume): always include the resume module
Subject: [PATCH 04/16] fix(resume): always include the resume module
as we can't determine with certainity that it won't be needed.
@ -47,5 +47,5 @@ index d419566e..785f681a 100755
if [[ -f /sys/power/resume ]]; then
if [[ "$(< /sys/power/resume)" == "0:0" ]]; then
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From 9e9193f6da0348eb476c3aff6d066292b10cefe1 Mon Sep 17 00:00:00 2001
From 87f4fba8e038e9ba16daf6bf89d20d6be4063998 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Fri, 16 Aug 2024 20:40:15 +0200
Subject: [PATCH 07/13] feat(lsinitrd.sh): look for initrd in /usr/lib/modules/
Subject: [PATCH 05/16] feat(lsinitrd.sh): look for initrd in /usr/lib/modules/
Introduce new path for lsinitrd.sh to look into:
@ -19,10 +19,10 @@ Resolves: RHEL-54650
1 file changed, 4 insertions(+)
diff --git a/lsinitrd.sh b/lsinitrd.sh
index ac49b5d7..f8696e68 100755
index ea26a260..3f719201 100755
--- a/lsinitrd.sh
+++ b/lsinitrd.sh
@@ -125,6 +125,10 @@ find_initrd_for_kernel_version() {
@@ -133,6 +133,10 @@ find_initrd_for_kernel_version() {
echo "/lib/modules/${kernel_version}/initrd"
elif [[ -f /lib/modules/${kernel_version}/initramfs.img ]]; then
echo "/lib/modules/${kernel_version}/initramfs.img"
@ -32,7 +32,7 @@ index ac49b5d7..f8696e68 100755
+ echo "/usr/lib/modules/${kernel_version}/initramfs.img"
elif [[ -f /boot/initramfs-${kernel_version}.img ]]; then
echo "/boot/initramfs-${kernel_version}.img"
else
elif [[ -f /usr/lib/modules/${kernel_version}/initramfs.img ]]; then
--
2.47.1
2.50.1

View File

@ -1,39 +0,0 @@
From 3e33ee5ce614059c9e4a81e8003df5142f1312c5 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Mon, 19 Jul 2021 11:27:28 +0200
Subject: [PATCH 05/13] fix(nfs): set correct ownership and permissions for
statd directory
The directory ownership for the statd directory should be
rpcuser:rpcuser.
(cherry picked from commit ed5ab5787177f2be8a620a8d2d63a9ad26fbf149 from PR#583)
Resolves: RHEL-53361
---
modules.d/95nfs/module-setup.sh | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/modules.d/95nfs/module-setup.sh b/modules.d/95nfs/module-setup.sh
index c6fdd506..e36cd144 100755
--- a/modules.d/95nfs/module-setup.sh
+++ b/modules.d/95nfs/module-setup.sh
@@ -120,8 +120,13 @@ install() {
mkdir -m 0755 -p "$initdir/var/lib/nfs"
mkdir -m 0755 -p "$initdir/var/lib/nfs/rpc_pipefs"
mkdir -m 0770 -p "$initdir/var/lib/rpcbind"
- [ -d "/var/lib/nfs/statd/sm" ] && mkdir -m 0755 -p "$initdir/var/lib/nfs/statd/sm"
- [ -d "/var/lib/nfs/sm" ] && mkdir -m 0755 -p "$initdir/var/lib/nfs/sm"
+ [ -d "$dracutsysrootdir/var/lib/nfs/statd/sm" ] \
+ && mkdir -m 0700 -p "$initdir/var/lib/nfs/statd" \
+ && mkdir -m 0755 -p "$initdir/var/lib/nfs/statd/sm" \
+ && chown -R rpcuser:rpcuser "$initdir/var/lib/nfs/statd"
+ [ -d "$dracutsysrootdir/var/lib/nfs/sm" ] \
+ && mkdir -m 0755 -p "$initdir/var/lib/nfs/sm" \
+ && chown -R rpcuser:rpcuser "$initdir/var/lib/nfs/sm"
# Rather than copy the passwd file in, just set a user for rpcbind
# We'll save the state and restart the daemon from the root anyway
--
2.47.1

View File

@ -1,44 +0,0 @@
From 7fea469146481fdf30e6f2c933fa85426b6a2927 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Sat, 17 Aug 2024 01:43:50 +0200
Subject: [PATCH 06/13] feat(dracut-init.sh): give --force-add precedence over
--omit
This gives precedence of force_add_dracutmodules to omit_dracutmodules,
as there is not other way to override omit_dracutmodules list, and users
would expect it to be overriden from command line.
Ref: https://github.com/dracut-ng/dracut-ng/pull/569
This way, `--add` retains it behaviour, and `--force-add` gains additional
functionality in non-hostonly mode. The module may still be skipped
if the module check returns 1, but it should throw error (as I'd expect
for `--force-add`).
(cherry picked commit a669346f48cbb3278c51ba5e95b1b91f9bfdee0a from PR#584)
Resolves: RHEL-53791
---
dracut-init.sh | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dracut-init.sh b/dracut-init.sh
index 1ce0d7ed..d78d3cd0 100755
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -935,8 +935,10 @@ check_module() {
[[ $2 ]] || mods_checked_as_dep+=" $_mod "
if [[ " $omit_dracutmodules " == *\ $_mod\ * ]]; then
- ddebug "Module '$_mod' will not be installed, because it's in the list to be omitted!"
- return 1
+ if [[ " $force_add_dracutmodules " != *\ $_mod\ * ]]; then
+ ddebug "Module '$_mod' will not be installed, because it's in the list to be omitted!"
+ return 1
+ fi
fi
if [[ " $dracutmodules $add_dracutmodules $force_add_dracutmodules" == *\ $_mod\ * ]]; then
--
2.47.1

View File

@ -1,7 +1,7 @@
From c41f441214a98284475f0965973c3541bd158df7 Mon Sep 17 00:00:00 2001
From 456b922e1610316d3b5980a9749eee62b9b0db34 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Mon, 19 Aug 2024 09:41:27 +0200
Subject: [PATCH 08/13] feat(fips): include fips module unconditionally
Subject: [PATCH 06/16] feat(fips): include fips module unconditionally
rhel-only
@ -11,7 +11,7 @@ Resolves: RHEL-39404
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index a497ac5c..e3b7ca33 100755
index ed4ef20b..60b044ed 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -2,7 +2,7 @@
@ -24,5 +24,5 @@ index a497ac5c..e3b7ca33 100755
# called by dracut
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From ad4549b5e8fb66ee33126ba01bbb24f4801a3936 Mon Sep 17 00:00:00 2001
From ea8bbaac7b4e0d91acc2d1a192d87b3f328e5808 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Wed, 29 Jan 2025 20:25:03 +0100
Subject: [PATCH 11/13] revert: "fix(rescue): make rescue always no-hostonly"
Subject: [PATCH 07/16] revert: "fix(rescue): make rescue always no-hostonly"
This partly reverts commit 224c00914bfb4ba1dee48e094ebb137facfd5947.
@ -26,5 +26,5 @@ index decee283..1be9b882 100755
--kver "$KERNEL_VERSION" \
"$BOOT_DIR_ABS/$INITRD"
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From 2c33b7315571dd0fd8240111018ce474fc45f667 Mon Sep 17 00:00:00 2001
From 0466276d2dabc86dde6ac2ce4f5b6387292bc377 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Thu, 13 Feb 2025 22:18:06 +0100
Subject: [PATCH 12/13] fix(dracut-install): initize fts pointer
Subject: [PATCH 08/16] fix(dracut-install): initize fts pointer
Related: RHEL-65204
---
@ -9,10 +9,10 @@ Related: RHEL-65204
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/install/dracut-install.c b/src/install/dracut-install.c
index 96bc2eb6..3cd4e5cb 100644
index bacbe86e..bd72f0b9 100644
--- a/src/install/dracut-install.c
+++ b/src/install/dracut-install.c
@@ -1681,7 +1681,7 @@ static void find_suppliers_for_sys_node(Hashmap *suppliers, const char *node_pat
@@ -1703,7 +1703,7 @@ static void find_suppliers_for_sys_node(Hashmap *suppliers, const char *node_pat
static void find_suppliers(struct kmod_ctx *ctx)
{
@ -22,5 +22,5 @@ index 96bc2eb6..3cd4e5cb 100644
fts = fts_open(paths, FTS_NOSTAT | FTS_PHYSICAL, NULL);
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From 73122f8b3430e8ecab30a5c261391081f8289d31 Mon Sep 17 00:00:00 2001
From df9c56dd26d9a31ad9045e7b2ca00e0b366d56a8 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Mon, 20 Jan 2025 14:16:38 +0100
Subject: [PATCH 13/13] feat: add openssl module
Subject: [PATCH 09/16] feat: add openssl module
Resolves: RHEL-76323
---
@ -60,12 +60,12 @@ Resolves: RHEL-76323
create mode 100644 src/ossl/tests/files/providers.cnf.expected
diff --git a/Makefile b/Makefile
index bcb2bc8f..4bc88561 100644
index 5ce30d5f..f10f72d7 100644
--- a/Makefile
+++ b/Makefile
@@ -50,7 +50,7 @@ manpages = $(man1pages) $(man5pages) $(man7pages) $(man8pages)
.PHONY: install clean archive testimage test all check AUTHORS CONTRIBUTORS doc
.PHONY: install clean archive test all check AUTHORS CONTRIBUTORS doc
-all: dracut.pc dracut-install src/skipcpio/skipcpio dracut-util
+all: dracut.pc dracut-install src/skipcpio/skipcpio dracut-util ossl-config ossl-files
@ -85,7 +85,7 @@ index bcb2bc8f..4bc88561 100644
.PHONY: indent-c
indent-c:
astyle -n --quiet --options=.astylerc $(wildcard *.[ch] */*.[ch] src/*/*.[ch])
@@ -208,6 +214,12 @@ endif
@@ -219,6 +225,12 @@ endif
if [ -f dracut-util ]; then \
install -m 0755 dracut-util $(DESTDIR)$(pkglibdir)/dracut-util; \
fi
@ -98,16 +98,16 @@ index bcb2bc8f..4bc88561 100644
ifeq ($(enable_dracut_cpio),yes)
install -m 0755 dracut-cpio $(DESTDIR)$(pkglibdir)/dracut-cpio
endif
@@ -234,6 +246,7 @@ clean:
$(RM) dracut.pc
@@ -252,6 +264,7 @@ clean:
$(RM) dracut-cpio src/dracut-cpio/target/release/dracut-cpio*
$(RM) -rf build/ doc_site/modules/ROOT/pages/man/*
$(MAKE) -C test clean
+ $(MAKE) -C src/ossl clean
syncheck:
@ret=0;for i in dracut-initramfs-restore.sh modules.d/*/*.sh; do \
diff --git a/modules.d/01fips/module-setup.sh b/modules.d/01fips/module-setup.sh
index e3b7ca33..206f0456 100755
index 60b044ed..dc9b7fdd 100755
--- a/modules.d/01fips/module-setup.sh
+++ b/modules.d/01fips/module-setup.sh
@@ -5,6 +5,10 @@ check() {
@ -1017,5 +1017,5 @@ index 00000000..23b1b7de
+/usr/lib64/ossl-modules/pkcs11.so
+/usr/lib64/ossl-modules/oqsprovider.so.0.6.0
--
2.47.1
2.50.1

View File

@ -1,39 +0,0 @@
From 8002a6125bf3f36144a92643ea02ad3abfa5d6d8 Mon Sep 17 00:00:00 2001
From: Jo Zzsi <jozzsicsataban@gmail.com>
Date: Sun, 12 Jan 2025 20:01:09 -0500
Subject: [PATCH 09/13] fix(systemd-ask-password): do not half-install
systemd-ask-password-wall
Do not install the path unit when the service unit is not installed
for systemd-ask-password-wall.
Fixes the following warning on the CI:
[FAILED] Failed to start Forward Password Requests to Wall Directory Watch.
See 'systemctl status systemd-ask-password-wall.path' for details.
...
systemd[1]: systemd-ask-password-wall.path: Refusing to start, unit systemd-ask-password-wall.service to trigger not loaded.
systemd[1]: Failed to start Forward Password Requests to Wall Directory Watch.
(cherry picked from commit 4ddc0053e869eb37b7c3d4e08876a687e1a995ae)
Related: RHEL-65204
---
modules.d/01systemd-ask-password/module-setup.sh | 1 -
1 file changed, 1 deletion(-)
diff --git a/modules.d/01systemd-ask-password/module-setup.sh b/modules.d/01systemd-ask-password/module-setup.sh
index 40774ab9..8b09b69f 100755
--- a/modules.d/01systemd-ask-password/module-setup.sh
+++ b/modules.d/01systemd-ask-password/module-setup.sh
@@ -43,7 +43,6 @@ install() {
inst_multiple -o \
"$systemdsystemunitdir"/systemd-ask-password-console.path \
"$systemdsystemunitdir"/systemd-ask-password-console.service \
- "$systemdsystemunitdir"/multi-user.target.wants/systemd-ask-password-wall.path \
"$systemdsystemunitdir"/sysinit.target.wants/systemd-ask-password-console.path \
systemd-ask-password \
systemd-tty-ask-password-agent
--
2.47.1

View File

@ -1,7 +1,7 @@
From a5e477c67c45b4439249ab92590f7b67dab4f7df Mon Sep 17 00:00:00 2001
From 18de7972b688001e73924a693d0bcd8c83e79f06 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Mon, 17 Feb 2025 06:58:26 +0100
Subject: [PATCH 14/14] fix(openssl): harden ossl build CFLAGS
Subject: [PATCH 10/16] fix(openssl): harden ossl build CFLAGS
Related: RHEL-76323
---
@ -22,5 +22,5 @@ index 17b418c2..200dcbb5 100644
TESTS_CONFIG = $(wildcard tests/config/*.cnf)
--
2.47.1
2.50.1

View File

@ -1,37 +0,0 @@
From 8f3b92db19bf4654d7346a1532928fcf172c09e6 Mon Sep 17 00:00:00 2001
From: Manuel Fombuena <fombuena@outlook.com>
Date: Thu, 31 Oct 2024 12:01:46 +0000
Subject: [PATCH 10/13] fix(pcsc): add libpcsclite_real.so.*
systemd-cryptsetup requires libpcsclite_real.so.1
Without it you get the following error:
systemd-cryptsetup[697]: loading "libpcsclite_real.so.1" failed: libpcsclite_real.so.1: cannot open shared object file: No such file or directory
Signed-off-by: Manuel Fombuena <fombuena@outlook.com>
(cherry picked from commit bfa00c2a03b07efae5a826aa881317acea9a4ec6)
Related: RHEL-65204
---
modules.d/91pcsc/module-setup.sh | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/modules.d/91pcsc/module-setup.sh b/modules.d/91pcsc/module-setup.sh
index 26b463d4..5ae1272b 100755
--- a/modules.d/91pcsc/module-setup.sh
+++ b/modules.d/91pcsc/module-setup.sh
@@ -51,7 +51,8 @@ install() {
{"tls/$_arch/",tls/,"$_arch/",}"pcsc/drivers/ifd-ccid.bundle/Contents/Info.plist" \
{"tls/$_arch/",tls/,"$_arch/",}"pcsc/drivers/ifd-ccid.bundle/Contents/Linux/libccid.so" \
{"tls/$_arch/",tls/,"$_arch/",}"pcsc/drivers/serial/libccidtwin.so" \
- {"tls/$_arch/",tls/,"$_arch/",}"libpcsclite.so.*"
+ {"tls/$_arch/",tls/,"$_arch/",}"libpcsclite.so.*" \
+ {"tls/$_arch/",tls/,"$_arch/",}"libpcsclite_real.so.*"
# Install the hosts local user configurations if enabled.
if [[ $hostonly ]]; then
--
2.47.1

View File

@ -1,7 +1,7 @@
From d4b71c7fc24ba1245a86c41f904b05a18cbe3e15 Mon Sep 17 00:00:00 2001
From 1f5c47ebd37d4f493cb4eab6e955ca8e04c3ef89 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Mon, 17 Feb 2025 17:31:35 +0100
Subject: [PATCH 15/15] fix(ossl): copy executables for the test suite
Subject: [PATCH 11/16] fix(ossl): copy executables for the test suite
and also fix CFLAGS in case of std=c99.
@ -12,7 +12,7 @@ Related: RHEL-76323
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/Makefile b/Makefile
index 4bc88561..51095b0a 100644
index f10f72d7..dd12e8cc 100644
--- a/Makefile
+++ b/Makefile
@@ -88,11 +88,14 @@ util/util: $(UTIL_OBJECTS)
@ -31,7 +31,7 @@ index 4bc88561..51095b0a 100644
.PHONY: indent-c
indent-c:
@@ -205,20 +208,20 @@ endif
@@ -216,20 +219,20 @@ endif
$(DESTDIR)$(systemdsystemunitdir)/initrd.target.wants/$$i; \
done \
fi
@ -59,10 +59,10 @@ index 4bc88561..51095b0a 100644
fi
ifeq ($(enable_dracut_cpio),yes)
install -m 0755 dracut-cpio $(DESTDIR)$(pkglibdir)/dracut-cpio
@@ -245,6 +248,7 @@ clean:
$(RM) $(manpages)
@@ -263,6 +266,7 @@ clean:
$(RM) dracut.pc
$(RM) dracut-cpio src/dracut-cpio/target/release/dracut-cpio*
$(RM) -rf build/ doc_site/modules/ROOT/pages/man/*
+ $(RM) ossl-files ossl-config
$(MAKE) -C test clean
$(MAKE) -C src/ossl clean
@ -81,5 +81,5 @@ index 200dcbb5..43e7b464 100644
TESTS_CONFIG = $(wildcard tests/config/*.cnf)
--
2.47.1
2.50.1

View File

@ -1,7 +1,7 @@
From 687582799c466e215229336ad6cf6dd3e050c326 Mon Sep 17 00:00:00 2001
From 13333e5c47d8b9cadb8a1ba881a39c05be186553 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Thu, 6 Mar 2025 14:23:27 +0100
Subject: [PATCH 16/16] fix(rescue): create hmac file for rescue kernel
Subject: [PATCH 12/16] fix(rescue): create hmac file for rescue kernel
Resolves: RHEL-59543
---
@ -31,5 +31,5 @@ index 1be9b882..030f45ba 100755
# shellcheck disable=SC2046
dracut -f --no-hostonly --no-uefi \
--
2.48.1
2.50.1

View File

@ -0,0 +1,100 @@
From ad54db31bbe6c006d44c1890a48ddea69c0c2529 Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Fri, 11 Jul 2025 01:37:09 -0700
Subject: [PATCH 13/15] Revert "feat(systemd-sysusers): run systemd-sysusers as
part of the build process"
This reverts commit f3dacc013d90bd2c0bbfa04f5f9b167b65298440.
It breaks kernel builds on Fedora - see
https://bugzilla.redhat.com/show_bug.cgi?id=2379116 .
Related: RHEL-97473
---
modules.d/01systemd-sysusers/module-setup.sh | 31 +++++++++++++++++++
.../01systemd-sysusers/sysusers-dracut.conf | 2 ++
modules.d/99systemd-sysusers/module-setup.sh | 26 ----------------
3 files changed, 33 insertions(+), 26 deletions(-)
create mode 100755 modules.d/01systemd-sysusers/module-setup.sh
create mode 100644 modules.d/01systemd-sysusers/sysusers-dracut.conf
delete mode 100755 modules.d/99systemd-sysusers/module-setup.sh
diff --git a/modules.d/01systemd-sysusers/module-setup.sh b/modules.d/01systemd-sysusers/module-setup.sh
new file mode 100755
index 00000000..4c6b39d7
--- /dev/null
+++ b/modules.d/01systemd-sysusers/module-setup.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+# This file is part of dracut.
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+# Prerequisite check(s) for module.
+check() {
+ # If the binary(s) requirements are not fulfilled the module can't be installed.
+ require_binaries systemd-sysusers || return 1
+
+ # Return 255 to only include the module, if another module requires it.
+ return 255
+}
+
+# Install the required file(s) and directories for the module in the initramfs.
+install() {
+ inst_simple "$moddir/sysusers-dracut.conf" "$systemdsystemunitdir/systemd-sysusers.service.d/sysusers-dracut.conf"
+
+ inst_sysusers basic.conf
+
+ inst_multiple -o \
+ "$systemdsystemunitdir"/systemd-sysusers.service \
+ "$systemdsystemunitdir"/sysinit.target.wants/systemd-sysusers.service \
+ systemd-sysusers
+
+ # Install the hosts local user configurations if enabled.
+ if [[ $hostonly ]]; then
+ inst_multiple -H -o \
+ "$systemdsystemconfdir"/systemd-sysusers.service \
+ "$systemdsystemconfdir/systemd-sysusers.service.d/*.conf"
+ fi
+}
diff --git a/modules.d/01systemd-sysusers/sysusers-dracut.conf b/modules.d/01systemd-sysusers/sysusers-dracut.conf
new file mode 100644
index 00000000..9b13364b
--- /dev/null
+++ b/modules.d/01systemd-sysusers/sysusers-dracut.conf
@@ -0,0 +1,2 @@
+[Unit]
+ConditionNeedsUpdate=
diff --git a/modules.d/99systemd-sysusers/module-setup.sh b/modules.d/99systemd-sysusers/module-setup.sh
deleted file mode 100755
index c1ef40cd..00000000
--- a/modules.d/99systemd-sysusers/module-setup.sh
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/bash
-# This file is part of dracut.
-# SPDX-License-Identifier: GPL-2.0-or-later
-
-# This module should be orders afer all modules that depends on it
-# This is to make sure that all inst_sysusers calls are in place before systemd-sysusers is called.
-
-# Prerequisite check(s) for module.
-check() {
- # If the binary(s) requirements are not fulfilled the module can't be installed.
- require_binaries systemd-sysusers || return 1
-
- # Return 255 to only include the module, if another module requires it.
- return 255
-}
-
-# Install the required file(s) and directories for the module in the initramfs.
-install() {
- inst_sysusers basic.conf
-
- # redirect stdout temporarily to FD 3 to use filter stderr
- {
- set -o pipefail
- systemd-sysusers --root="$initdir" 2>&1 >&3 | grep -v "^Creating " >&2
- } 3>&1
-}
--
2.50.1

View File

@ -0,0 +1,49 @@
From 0baf5e0b6c1370b51a20327bd67e0260fc9f8f2e Mon Sep 17 00:00:00 2001
From: Adam Williamson <awilliam@redhat.com>
Date: Thu, 10 Jul 2025 10:33:21 -0700
Subject: [PATCH 14/15] Revert "chore: remove unused function"
This reverts commit 81ddde54051351ea17dbb84ef6232820f96740af.
dracut itself may not use inst_library, but external modules do,
at least anaconda's does.
(cherry picked from commit da64b204418753abce4090892831429c03239fa7)
Related: RHEL-97473
---
dracut-init.sh | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/dracut-init.sh b/dracut-init.sh
index 9be00c56..749801fc 100755
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -350,6 +350,25 @@ dracut_instmods() {
fi
}
+# this is not used within dracut itself, but external modules use it,
+# do not remove it!
+inst_library() {
+ local _ret _hostonly_install
+ if [[ $1 == "-H" ]]; then
+ _hostonly_install="-H"
+ shift
+ fi
+ [[ -e ${initdir}/"${2:-$1}" ]] && return 0 # already there
+ [[ -e $1 ]] || return 1 # no source
+ if $DRACUT_INSTALL ${dracutsysrootdir:+-r "$dracutsysrootdir"} ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@"; then
+ return 0
+ else
+ _ret=$?
+ derror FAILED: "$DRACUT_INSTALL" ${dracutsysrootdir:+-r "$dracutsysrootdir"} ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} ${_hostonly_install:+-H} "$@"
+ return $_ret
+ fi
+}
+
inst_binary() {
local _ret
if $DRACUT_INSTALL ${dracutsysrootdir:+-r "$dracutsysrootdir"} ${initdir:+-D "$initdir"} ${loginstall:+-L "$loginstall"} ${DRACUT_RESOLVE_DEPS:+-l} ${DRACUT_FIPS_MODE:+-f} "$@"; then
--
2.50.1

View File

@ -0,0 +1,34 @@
From e0d1d0707c4694219b6d44d417c4c4e6a0fdc94c Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Wed, 2 Apr 2025 10:45:51 +0200
Subject: [PATCH 15/15] fix(ossl): ignore compiler warnings
```
src/ossl-files.c:37:8: error: type qualifiers ignored on function return type [-Werror=ignored-qualifiers]
src/ossl-files.c:38:34: error: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Werror=sign-compare]
src/ossl-files.c:109:34: error: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Werror=sign-compare]
src/ossl-files.c:150:34: error: comparison of integer expressions of different signedness: 'size_t' {aka 'long unsigned int'} and 'int' [-Werror=sign-compare]
```
Related: RHEL-97473
---
src/ossl/Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/ossl/Makefile b/src/ossl/Makefile
index 43e7b464..2e76d52a 100644
--- a/src/ossl/Makefile
+++ b/src/ossl/Makefile
@@ -1,7 +1,7 @@
.PHONY: all clean tests
CFLAGS ?= -std=c99 -Wall -Werror -pedantic -D_XOPEN_SOURCE=600
-CRYPTO_FLAGS = -lcrypto -Wl,-pie -Wl,-z,now -fPIE
+CRYPTO_FLAGS = -lcrypto -Wl,-pie -Wl,-z,now -fPIE -pie -fPIC -Wno-ignored-qualifiers -Wno-sign-compare
TARGETS = src/ossl-config src/ossl-files
TESTS_CONFIG = $(wildcard tests/config/*.cnf)
--
2.50.1

View File

@ -7,8 +7,8 @@
%global __requires_exclude pkg-config
Name: dracut
Version: 105
Release: 4%{?dist}
Version: 107
Release: 1%{?dist}
Summary: Initramfs generator using udev
@ -34,42 +34,39 @@ Patch3: 0003-fix-kernel-install-do-not-generate-an-initrd-when-on.patch
# fix(resume): always include the resume module
# Author: Pavel Valena <pvalena@redhat.com>
Patch4: 0004-fix-resume-always-include-the-resume-module.patch
# fix(nfs): set correct ownership and permissions for statd directory
# Author: Lukas Nykryn <lnykryn@redhat.com>
Patch5: 0005-fix-nfs-set-correct-ownership-and-permissions-for-st.patch
# feat(dracut-init.sh): give --force-add precedence over --omit
# Author: Pavel Valena <pvalena@redhat.com>
Patch6: 0006-feat-dracut-init.sh-give-force-add-precedence-over-o.patch
# feat(lsinitrd.sh): look for initrd in /usr/lib/modules/
# Author: Pavel Valena <pvalena@redhat.com>
Patch7: 0007-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch
Patch5: 0005-feat-lsinitrd.sh-look-for-initrd-in-usr-lib-modules.patch
# feat(fips): include fips module unconditionally
# Author: Pavel Valena <pvalena@redhat.com>
Patch8: 0008-feat-fips-include-fips-module-unconditionally.patch
# fix(systemd-ask-password): do not half-install systemd-ask-password-wall
# Author: Jo Zzsi <jozzsicsataban@gmail.com>
Patch9: 0009-fix-systemd-ask-password-do-not-half-install-systemd.patch
# fix(pcsc): add libpcsclite_real.so.*
# Author: Manuel Fombuena <fombuena@outlook.com>
Patch10: 0010-fix-pcsc-add-libpcsclite_real.so.patch
Patch6: 0006-feat-fips-include-fips-module-unconditionally.patch
# revert: "fix(rescue): make rescue always no-hostonly"
# Author: Pavel Valena <pvalena@redhat.com>
Patch11: 0011-revert-fix-rescue-make-rescue-always-no-hostonly.patch
Patch7: 0007-revert-fix-rescue-make-rescue-always-no-hostonly.patch
# fix(dracut-install): initize fts pointer
# Author: Pavel Valena <pvalena@redhat.com>
Patch12: 0012-fix-dracut-install-initize-fts-pointer.patch
Patch8: 0008-fix-dracut-install-initize-fts-pointer.patch
# feat: add openssl module
# Author: Pavel Valena <pvalena@redhat.com>
Patch13: 0013-feat-add-openssl-module.patch
Patch9: 0009-feat-add-openssl-module.patch
# fix(openssl): harden ossl build CFLAGS
# Author: Pavel Valena <pvalena@redhat.com>
Patch14: 0014-fix-openssl-harden-ossl-build-CFLAGS.patch
Patch10: 0010-fix-openssl-harden-ossl-build-CFLAGS.patch
# fix(ossl): copy executables for the test suite
# Author: Pavel Valena <pvalena@redhat.com>
Patch15: 0015-fix-ossl-copy-executables-for-the-test-suite.patch
Patch11: 0011-fix-ossl-copy-executables-for-the-test-suite.patch
# fix(rescue): create hmac file for rescue kernel
# Author: Pavel Valena <pvalena@redhat.com>
Patch16: 0016-fix-rescue-create-hmac-file-for-rescue-kernel.patch
Patch12: 0012-fix-rescue-create-hmac-file-for-rescue-kernel.patch
# Revert "feat(systemd-sysusers): run systemd-sysusers as part
# Author: Adam Williamson <awilliam@redhat.com>
Patch13: 0013-Revert-feat-systemd-sysusers-run-systemd-sysusers-as.patch
# Revert "chore: remove unused function"
# Author: Adam Williamson <awilliam@redhat.com>
Patch14: 0014-Revert-chore-remove-unused-function.patch
# fix(ossl): ignore compiler warnings
# Author: Pavel Valena <pvalena@redhat.com>
Patch15: 0015-fix-ossl-ignore-compiler-warnings.patch
# Please use source-git to work with this spec file:
# HowTo: https://packit.dev/source-git/work-with-source-git
@ -208,6 +205,7 @@ cp %{SOURCE1} .
%configure --systemdsystemunitdir=%{_unitdir} \
--bashcompletiondir=$(pkg-config --variable=completionsdir bash-completion) \
--libdir=%{_prefix}/lib \
--disable-dracut-cpio \
%if %{without doc}
--disable-documentation \
%endif
@ -266,7 +264,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%files
%if %{with doc}
%doc README.md docs/HACKING.md AUTHORS NEWS.md dracut.html docs/dracut.png docs/dracut.svg
%doc README.md AUTHORS NEWS.md
%endif
%license COPYING lgpl-2.1.txt
%{_bindir}/dracut
@ -305,7 +303,6 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%endif
%{dracutlibdir}/modules.d/00bash
%{dracutlibdir}/modules.d/00shell-interpreter
%{dracutlibdir}/modules.d/00systemd
%{dracutlibdir}/modules.d/00systemd-network-management
%ifnarch s390 s390x
@ -316,6 +313,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/01systemd-ac-power
%{dracutlibdir}/modules.d/01systemd-ask-password
%{dracutlibdir}/modules.d/01systemd-bsod
%{dracutlibdir}/modules.d/01systemd-battery-check
%{dracutlibdir}/modules.d/01systemd-coredump
%{dracutlibdir}/modules.d/01systemd-creds
%{dracutlibdir}/modules.d/01systemd-cryptsetup
@ -348,10 +346,11 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/09dbus
%{dracutlibdir}/modules.d/10i18n
%{dracutlibdir}/modules.d/30convertfs
%{dracutlibdir}/modules.d/45drm
%{dracutlibdir}/modules.d/45simpledrm
%{dracutlibdir}/modules.d/45net-lib
%{dracutlibdir}/modules.d/45plymouth
%{dracutlibdir}/modules.d/45url-lib
%{dracutlibdir}/modules.d/50drm
%{dracutlibdir}/modules.d/50plymouth
%{dracutlibdir}/modules.d/62bluetooth
%{dracutlibdir}/modules.d/80lvmmerge
%{dracutlibdir}/modules.d/80lvmthinpool-monitor
@ -399,6 +398,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/97masterkey
%{dracutlibdir}/modules.d/98integrity
%{dracutlibdir}/modules.d/97biosdevname
%{dracutlibdir}/modules.d/97systemd-emergency
%{dracutlibdir}/modules.d/98dracut-systemd
%{dracutlibdir}/modules.d/98ecryptfs
%{dracutlibdir}/modules.d/98pollcdrom
@ -411,6 +411,7 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{dracutlibdir}/modules.d/99fs-lib
%{dracutlibdir}/modules.d/99openssl
%{dracutlibdir}/modules.d/99shutdown
%{dracutlibdir}/modules.d/99shell-interpreter
%attr(0644,root,root) %ghost %config(missingok,noreplace) %{_localstatedir}/log/dracut.log
%dir %{_sharedstatedir}/initramfs
%if %{defined _unitdir}
@ -476,9 +477,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%files squash
%{dracutlibdir}/modules.d/99squash
%{dracutlibdir}/modules.d/99squash-lib
%{dracutlibdir}/modules.d/95squash-erofs
%{dracutlibdir}/modules.d/95squash-squashfs
%{dracutlibdir}/modules.d/99squash-lib
%files config-generic
%{dracutlibdir}/dracut.conf.d/02-generic-image.conf
@ -488,6 +489,10 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/
%{_prefix}/lib/kernel/install.d/51-dracut-rescue.install
%changelog
* Thu Jul 17 2025 Pavel Valena <pvalena@redhat.com> - 107-1
- Upgrade to dracut 107
Resolves: RHEL-97473
* Thu Mar 06 2025 Pavel Valena <pvalena@redhat.com> - 105-4
- fix(rescue): create hmac file for rescue kernel

View File

@ -1 +1 @@
SHA512 (105.tar.gz) = 1608fb31d6a53905ea25a279586573db5fc7e084b4f6ff06e52065cbcb4ff503c2d51c0a282345844228232b1b590382b482a224183e0c4ee16c9c9e6932b275
SHA512 (107.tar.gz) = 3f8e79fbfd40c0d384e856cbabe9257c5cbafbb4a3fe4b56da27832c36844dbbf9c59f12155d165d9343bc7341eda2b90c215148eb46ae873c219fbc93992944