From de8cf4cb4ede99ee6e2ae16088f6639cd0be980f Mon Sep 17 00:00:00 2001 From: Adam Williamson Date: Apr 26 2024 21:46:37 +0000 Subject: Backport fix to pull in required libs for systemd (PR #118) --- diff --git a/0001-fix-systemd-explicitly-install-some-libs-that-will-n.patch b/0001-fix-systemd-explicitly-install-some-libs-that-will-n.patch new file mode 100644 index 0000000..7524401 --- /dev/null +++ b/0001-fix-systemd-explicitly-install-some-libs-that-will-n.patch @@ -0,0 +1,72 @@ +From 04b362d713235459cff1f370efb4cd5e36e4a358 Mon Sep 17 00:00:00 2001 +From: Antonio Alvarez Feijoo +Date: Thu, 4 Apr 2024 13:49:26 +0200 +Subject: [PATCH] fix(systemd): explicitly install some libs that will not be + statically included + +Some required libraries that used to be statically included are in the process +to be opened via `dlopen()`. + +References: +- https://github.com/systemd/systemd/pull/31131 +- https://github.com/systemd/systemd/pull/31550 +- https://github.com/systemd/systemd/pull/32019 + +Closes #2642 +--- + modules.d/00systemd/module-setup.sh | 2 ++ + modules.d/01systemd-coredump/module-setup.sh | 7 +++++++ + modules.d/01systemd-journald/module-setup.sh | 5 +++-- + 3 files changed, 12 insertions(+), 2 deletions(-) + +diff --git a/modules.d/00systemd/module-setup.sh b/modules.d/00systemd/module-setup.sh +index 66e08ea6..72341746 100755 +--- a/modules.d/00systemd/module-setup.sh ++++ b/modules.d/00systemd/module-setup.sh +@@ -260,6 +260,8 @@ EOF + # Install library file(s) + _arch=${DRACUT_ARCH:-$(uname -m)} + inst_libdir_file \ ++ {"tls/$_arch/",tls/,"$_arch/",}"libgcrypt.so*" \ ++ {"tls/$_arch/",tls/,"$_arch/",}"libkmod.so*" \ + {"tls/$_arch/",tls/,"$_arch/",}"libnss_*" + + } +diff --git a/modules.d/01systemd-coredump/module-setup.sh b/modules.d/01systemd-coredump/module-setup.sh +index 69ec9668..47666b6c 100755 +--- a/modules.d/01systemd-coredump/module-setup.sh ++++ b/modules.d/01systemd-coredump/module-setup.sh +@@ -40,6 +40,13 @@ install() { + "$sysusers"/systemd-coredump.conf \ + coredumpctl + ++ # Install library file(s) ++ _arch=${DRACUT_ARCH:-$(uname -m)} ++ inst_libdir_file \ ++ {"tls/$_arch/",tls/,"$_arch/",}"liblz4.so.*" \ ++ {"tls/$_arch/",tls/,"$_arch/",}"liblzma.so.*" \ ++ {"tls/$_arch/",tls/,"$_arch/",}"libzstd.so.*" ++ + # Install the hosts local user configurations if enabled. + if [[ $hostonly ]]; then + inst_multiple -H -o \ +diff --git a/modules.d/01systemd-journald/module-setup.sh b/modules.d/01systemd-journald/module-setup.sh +index 3cf2a1a1..276e7528 100755 +--- a/modules.d/01systemd-journald/module-setup.sh ++++ b/modules.d/01systemd-journald/module-setup.sh +@@ -53,9 +53,10 @@ install() { + # Install library file(s) + _arch=${DRACUT_ARCH:-$(uname -m)} + inst_libdir_file \ ++ {"tls/$_arch/",tls/,"$_arch/",}"libgcrypt.so*" \ + {"tls/$_arch/",tls/,"$_arch/",}"liblz4.so.*" \ +- {"tls/$_arch/",tls/,"$_arch/",}"libzstd.so.*" \ +- {"tls/$_arch/",tls/,"$_arch/",}"liblzma.so.*" ++ {"tls/$_arch/",tls/,"$_arch/",}"liblzma.so.*" \ ++ {"tls/$_arch/",tls/,"$_arch/",}"libzstd.so.*" + + # Install the hosts local user configurations if enabled. + if [[ $hostonly ]]; then +-- +2.44.0 + diff --git a/dracut.spec b/dracut.spec index 2e2495b..e78a263 100644 --- a/dracut.spec +++ b/dracut.spec @@ -8,7 +8,7 @@ Name: dracut Version: 060 -Release: 1%{?dist} +Release: 2%{?dist} Summary: Initramfs generator using udev @@ -58,6 +58,14 @@ Patch9: 0009-fix-pcsc-add-disable-polkit-to-pcscd.service.patch # Author: Manuel Fombuena Patch10: 0010-fix-pcsc-add-opensc-load-module-file.patch +# Not done with source-git, sorry, sometimes provenpackagers need to do stuff +# fix(systemd): explicitly install some libs that will not be statically included +# Author: Antonio Alvarez Feijoo +# https://github.com/dracut-ng/dracut-ng/commit/04b362d713235459cff1f370efb4cd5e36e4a358 +# Needed for system to boot with systemd 256 +# https://github.com/systemd/systemd/issues/32508 +Patch100: 0001-fix-systemd-explicitly-install-some-libs-that-will-n.patch + # Please use source-git to work with this spec file: # HowTo: https://packit.dev/source-git/work-with-source-git # Source-git repository: https://github.com/redhat-plumbers/dracut-fedora/ @@ -461,6 +469,9 @@ echo 'dracut_rescue_image="yes"' > $RPM_BUILD_ROOT%{dracutlibdir}/dracut.conf.d/ %{_prefix}/lib/kernel/install.d/51-dracut-rescue.install %changelog +* Fri Apr 26 2024 Adam Williamson - 060-2 +- Backport fix to pull in required libs for systemd (dracut-ng PR #118) + * Wed Mar 20 2024 Pavel Valena - 060-1 - Update to dracut 060.