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 66e08ea699..7234174647 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 69ec966864..47666b6ca3 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 3cf2a1a119..276e752820 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