import dracut-049-223.git20230119.el8

This commit is contained in:
CentOS Sources 2023-05-16 06:14:04 +00:00 committed by root
parent 4671964ed1
commit da33403544
6 changed files with 247 additions and 1 deletions

27
SOURCES/0218.patch Normal file
View File

@ -0,0 +1,27 @@
From c14d276bc5dd17d881478bbce57d54e3c4ffb094 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Tue, 6 Dec 2022 20:35:52 +0100
Subject: [PATCH] fix(80lvmthinpool-monitor): use systemsctl instead of
$SYSTEMCTL
as the change is not backported to RHEL-8.
rhel-only
Resolves: #2141480
---
modules.d/80lvmthinpool-monitor/module-setup.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/80lvmthinpool-monitor/module-setup.sh b/modules.d/80lvmthinpool-monitor/module-setup.sh
index ca015bdc..550f3f16 100755
--- a/modules.d/80lvmthinpool-monitor/module-setup.sh
+++ b/modules.d/80lvmthinpool-monitor/module-setup.sh
@@ -20,5 +20,5 @@ install() {
inst_script "$moddir/start-thinpool-monitor.sh" "/bin/start-thinpool-monitor"
inst "$moddir/start-thinpool-monitor.service" "$systemdsystemunitdir/start-thinpool-monitor.service"
- $SYSTEMCTL -q --root "$initdir" add-wants initrd.target start-thinpool-monitor.service
+ systemctl -q --root "$initdir" add-wants initrd.target start-thinpool-monitor.service
}

101
SOURCES/0219.patch Normal file
View File

@ -0,0 +1,101 @@
From 3aca4acaea9569573d3d0e83c3c7998b56ea74c4 Mon Sep 17 00:00:00 2001
From: Hari Bathini <hbathini@linux.ibm.com>
Date: Tue, 12 Jul 2022 13:55:47 +0530
Subject: [PATCH] fix(squash): build ld cache for squash loader
Commit dc21638c3f0a fixes kdump kernel crash, due to non-conventional
library path in powerpc, by copying /etc/ld.so.cache under initdir.
While that works in general, it is vulnerable to failure because of
missing links, when the CPU is reconfigured to run in compatibility
mode of older CPU version. Avoid this by running ldconfig for squash
loader to create the necessary links & ld cache for it. Doing this
also saves a few kilobyes of space as the copied ld cache is bigger
in size than the one needed for squash loader environment.
Fixes: dc21638c3f0a ("fix(squash): keep ld cache under initdir")
Cc: Pingfan Liu <piliu@redhat.com>
Signed-off-by: Hari Bathini <hbathini@linux.ibm.com>
(Cherry-picked from f5e8250a06b5a53f6fd8e47ec976db933c91b3cd)
Resolves: #2055026
---
dracut-init.sh | 14 ++++++++++++++
dracut.sh | 11 +----------
modules.d/99squash/module-setup.sh | 8 +++-----
3 files changed, 18 insertions(+), 15 deletions(-)
diff --git a/dracut-init.sh b/dracut-init.sh
index 032c38c2..5df2e583 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -443,6 +443,20 @@ inst_rules_wildcard() {
[[ $_found ]] || dinfo "Skipping udev rule: $_rule"
}
+# make sure that library links are correct and up to date
+build_ld_cache() {
+ for f in "$dracutsysrootdir"/etc/ld.so.conf "$dracutsysrootdir"/etc/ld.so.conf.d/*; do
+ [[ -f $f ]] && inst_simple "${f#$dracutsysrootdir}"
+ done
+ if ! $DRACUT_LDCONFIG -r "$initdir" -f /etc/ld.so.conf; then
+ if [[ $EUID == 0 ]]; then
+ derror "ldconfig exited ungracefully"
+ else
+ derror "ldconfig might need uid=0 (root) for chroot()"
+ fi
+ fi
+}
+
prepare_udev_rules() {
[ -z "$UDEVVERSION" ] && export UDEVVERSION=$(udevadm --version | { read v _ ; echo $v ; })
diff --git a/dracut.sh b/dracut.sh
index 702b2f78..57f51e91 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -1601,16 +1601,7 @@ done
if [[ $kernel_only != yes ]]; then
# make sure that library links are correct and up to date
- for f in /etc/ld.so.conf /etc/ld.so.conf.d/*; do
- [[ -f $f ]] && inst_simple "$f"
- done
- if ! ldconfig -r "$initdir"; then
- if [[ $EUID = 0 ]]; then
- derror "ldconfig exited ungracefully"
- else
- derror "ldconfig might need uid=0 (root) for chroot()"
- fi
- fi
+ build_ld_cache
fi
if [[ $do_hardlink = yes ]] && command -v hardlink >/dev/null; then
diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh
index e73d3184..8a0923fb 100644
--- a/modules.d/99squash/module-setup.sh
+++ b/modules.d/99squash/module-setup.sh
@@ -28,11 +28,6 @@ installpost() {
[[ "$squash_dir" == "$i"/* ]] || mv "$i" "$squash_dir"/
done
- # initdir also needs ld.so.* to make ld.so work
- inst /etc/ld.so.cache
- inst /etc/ld.so.conf
- inst_dir /etc/ld.so.conf.d
-
# Create mount points for squash loader
mkdir -p "$initdir"/squash/
mkdir -p "$squash_dir"/squash/
@@ -68,6 +63,9 @@ installpost() {
ln_r /usr/bin /bin
ln_r /usr/sbin /sbin
inst_simple "$moddir"/init-squash.sh /init
+
+ # make sure that library links are correct and up to date for squash loader
+ build_ld_cache
}
install() {

31
SOURCES/0220.patch Normal file
View File

@ -0,0 +1,31 @@
From 82a47345a8e7d54616481098b7b16de6e7fba83b Mon Sep 17 00:00:00 2001
From: Beniamino Galvani <bgalvani@redhat.com>
Date: Mon, 9 Aug 2021 09:01:32 +0200
Subject: [PATCH] fix(network-manager): write DHCP filename option to dhcpopts
file
Anaconda parses the 'filename' variable [1] set in /tmp/net.$netif.dhcpopts to
determine the name of the kickstart file to use.
[1] https://github.com/rhinstaller/anaconda/blob/anaconda-35.21-1/dracut/fetch-kickstart-net.sh#L31-L34
(Cherry-picked from commit 1513505db452f9425ae1d25b9bb28c176d9c7ed9)
Resolves: #1991449
---
modules.d/35network-manager/nm-run.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/modules.d/35network-manager/nm-run.sh b/modules.d/35network-manager/nm-run.sh
index 61752384..94c19545 100755
--- a/modules.d/35network-manager/nm-run.sh
+++ b/modules.d/35network-manager/nm-run.sh
@@ -22,7 +22,7 @@ do
state=/run/NetworkManager/devices/$(cat $_i/ifindex)
grep -q connection-uuid= $state 2>/dev/null || continue
ifname=${_i##*/}
- sed -n 's/root-path/new_root_path/p;s/next-server/new_next_server/p' <$state >/tmp/dhclient.$ifname.dhcpopts
+ sed -n 's/root-path/new_root_path/p;s/next-server/new_next_server/p;s/dhcp-bootfile/filename/p' <$state >/tmp/dhclient.$ifname.dhcpopts
source_hook initqueue/online $ifname
/sbin/netroot $ifname
done

26
SOURCES/0221.patch Normal file
View File

@ -0,0 +1,26 @@
From 7e401546ec38b3b5858136e93aeeffb93e496556 Mon Sep 17 00:00:00 2001
From: Lukas Nykryn <lnykryn@redhat.com>
Date: Tue, 10 Jan 2023 10:43:50 +0100
Subject: [PATCH] fix(dracut-init): use ldconfig directly instead of
DRACUT_LDCONFIG
RHEL-only
Resolves: #2141480
---
dracut-init.sh | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dracut-init.sh b/dracut-init.sh
index 5df2e583..b6708288 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -448,7 +448,7 @@ build_ld_cache() {
for f in "$dracutsysrootdir"/etc/ld.so.conf "$dracutsysrootdir"/etc/ld.so.conf.d/*; do
[[ -f $f ]] && inst_simple "${f#$dracutsysrootdir}"
done
- if ! $DRACUT_LDCONFIG -r "$initdir" -f /etc/ld.so.conf; then
+ if ! ldconfig -r "$initdir" -f /etc/ld.so.conf; then
if [[ $EUID == 0 ]]; then
derror "ldconfig exited ungracefully"
else

47
SOURCES/0222.patch Normal file
View File

@ -0,0 +1,47 @@
From a7eaedb1679d871c213753fad872d65b23070240 Mon Sep 17 00:00:00 2001
From: Pavel Valena <pvalena@redhat.com>
Date: Thu, 19 Jan 2023 16:04:19 +0100
Subject: [PATCH] fix(dracut-init.sh): backport common paths
While backporting, some paths might be expected to be defined.
Backporting these paths as a preemptive measure (there's no test)
to avoid possible regressions when they're undefined.
(Cherry-picked from a01204202b3014c0c761c93bc7de8bf35e6dc5ef
and 18d36fabf5ab20404e63ae56f166a5a53a874ba9)
RHEL-only
Resolves: #2141480
---
dracut-init.sh | 4 ++++
dracut.sh | 2 ++
2 files changed, 6 insertions(+)
diff --git a/dracut-init.sh b/dracut-init.sh
index b6708288..50f9cf98 100644
--- a/dracut-init.sh
+++ b/dracut-init.sh
@@ -79,6 +79,10 @@ export srcmods
export hookdirs
}
+DRACUT_LDD=${DRACUT_LDD:-ldd}
+DRACUT_TESTBIN=${DRACUT_TESTBIN:-/bin/sh}
+DRACUT_LDCONFIG=${DRACUT_LDCONFIG:-ldconfig}
+
. $dracutbasedir/dracut-functions.sh
# Detect lib paths
diff --git a/dracut.sh b/dracut.sh
index 57f51e91..f58559e8 100755
--- a/dracut.sh
+++ b/dracut.sh
@@ -730,6 +730,8 @@ done
export PATH="${NPATH#:}"
unset NPATH
+export SYSTEMCTL=${SYSTEMCTL:-systemctl}
+
# these options add to the stuff in the config file
(( ${#add_dracutmodules_l[@]} )) && add_dracutmodules+=" ${add_dracutmodules_l[@]} "
(( ${#force_add_dracutmodules_l[@]} )) && force_add_dracutmodules+=" ${force_add_dracutmodules_l[@]} "

View File

@ -5,7 +5,7 @@
# strip the automatically generated dep here and instead co-own the
# directory.
%global __requires_exclude pkg-config
%define dist_free_release 218.git20221019
%define dist_free_release 223.git20230119
Name: dracut
Version: 049
@ -245,6 +245,11 @@ Patch214: 0214.patch
Patch215: 0215.patch
Patch216: 0216.patch
Patch217: 0217.patch
Patch218: 0218.patch
Patch219: 0219.patch
Patch220: 0220.patch
Patch221: 0221.patch
Patch222: 0222.patch
Source1: https://www.gnu.org/licenses/lgpl-2.1.txt
@ -699,6 +704,15 @@ echo '# Since rhel-8.3 dracut moved to use NetworkManager
add_dracutmodules+=" network-legacy "' > /etc/dracut.conf.d/50-network-legacy.conf
%changelog
* Thu Jan 19 2023 Pavel Valena <pvalena@redhat.com> - 049-223.git20230119
- fix(dracut-init): use ldconfig directly instead of
- fix(dracut-init.sh): backport common paths
* Wed Dec 14 2022 Pavel Valena <pvalena@redhat.com> - 049-221.git20221214
- fix(80lvmthinpool-monitor): use systemsctl instead of
- fix(squash): build ld cache for squash loader
- fix(network-manager): write DHCP filename option to dhcpopts
* Thu Oct 20 2022 Pavel Valena <pvalena@redhat.com> - 049-218.git20221019
- Dracut: only login to one target at a time
- iscsi: don't continue waiting if the root device is present