From 0b8dad7ceb5b02060d5f70286a42a87b6f31f3b4 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Aug 24 2021 22:26:22 +0000 Subject: import dracut-049-190.git20210811.el8 --- diff --git a/SOURCES/0187.patch b/SOURCES/0187.patch index 6c4b3f4..dd18f9a 100644 --- a/SOURCES/0187.patch +++ b/SOURCES/0187.patch @@ -28,3 +28,4 @@ index 11964b97..7f5d365a 100644 # Create mount points for squash loader mkdir -p "$initdir"/squash/ + diff --git a/SOURCES/0188.patch b/SOURCES/0188.patch new file mode 100644 index 0000000..a418a83 --- /dev/null +++ b/SOURCES/0188.patch @@ -0,0 +1,32 @@ +From 090aa276b8d4b5041472743ea7472a3a1d398a92 Mon Sep 17 00:00:00 2001 +From: Kairui Song +Date: Tue, 10 Aug 2021 17:37:08 +0800 +Subject: [PATCH] fix(lsinitrd): TMP_DIR doesn't exist in RHEL8 + +lsinitrd should create a seperate temp file for extracting squash image +when squash module is enabled. + +Signed-off-by: Kairui Song +(cherry picked from commit 52fcd3373f0cf715b3744f832643dc3170aefbf5) + +Resolves: #1991647 +--- + lsinitrd.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/lsinitrd.sh b/lsinitrd.sh +index 04ce9e8b..85981e58 100755 +--- a/lsinitrd.sh ++++ b/lsinitrd.sh +@@ -163,8 +163,8 @@ list_files() + list_squash_content() + { + SQUASH_IMG="squash-root.img" +- SQUASH_TMPFILE="$TMPDIR/initrd.root.sqsh" +- ++ SQUASH_TMPFILE="$(mktemp -t --suffix=.root.sqsh lsinitrd.XXXXXX)" ++ trap "rm -f '$SQUASH_TMPFILE'" EXIT + $CAT "$image" 2>/dev/null | cpio --extract --verbose --quiet --to-stdout -- \ + $SQUASH_IMG > "$SQUASH_TMPFILE" 2>/dev/null + if [[ -s $SQUASH_TMPFILE ]]; then + diff --git a/SOURCES/0189.patch b/SOURCES/0189.patch new file mode 100644 index 0000000..375ad80 --- /dev/null +++ b/SOURCES/0189.patch @@ -0,0 +1,40 @@ +From 2ee3efdfa0c7f12c2f8446721937bfe713858854 Mon Sep 17 00:00:00 2001 +From: Kairui Song +Date: Mon, 9 Aug 2021 18:23:43 +0800 +Subject: [PATCH] fix(squash): apply FIPS and libpthread workaround + +There are some workarounds in dracut.sh for FIPS/libpthread covering +some hidden lib dependency issues. These workarounds didn't take effect +for the squash loader since the squash loader is installed +independently. So apply these workarounds again. + +Also skip the lib detection code, since these extra installed libs +are small, and squash loader contents are dropped after switch root, +won't be an issue to be always installed. And this makes the code +cleaner. + +Signed-off-by: Kairui Song +(cherry picked from commit 5ab18dee996f0eeb2b0bfe354570e1b1af46d025) + +Resolves: #1990847 +--- + modules.d/99squash/module-setup.sh | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/modules.d/99squash/module-setup.sh b/modules.d/99squash/module-setup.sh +index 7f5d365a..e73d3184 100644 +--- a/modules.d/99squash/module-setup.sh ++++ b/modules.d/99squash/module-setup.sh +@@ -53,6 +53,12 @@ installpost() { + done + else + DRACUT_RESOLVE_DEPS=1 inst_multiple sh mount modprobe mkdir switch_root grep umount ++ ++ # libpthread workaround: pthread_cancel wants to dlopen libgcc_s.so ++ inst_libdir_file -o "libgcc_s.so*" ++ ++ # FIPS workaround for Fedora/RHEL: libcrypto needs libssl when FIPS is enabled ++ [[ $DRACUT_FIPS_MODE ]] && inst_libdir_file -o "libssl.so*" + fi + + hostonly="" instmods "loop" "squashfs" "overlay" diff --git a/SPECS/dracut.spec b/SPECS/dracut.spec index 91caaaf..a353141 100644 --- a/SPECS/dracut.spec +++ b/SPECS/dracut.spec @@ -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 188.git20210802 +%define dist_free_release 190.git20210811 Name: dracut Version: 049 @@ -215,6 +215,8 @@ Patch184: 0184.patch Patch185: 0185.patch Patch186: 0186.patch Patch187: 0187.patch +Patch188: 0188.patch +Patch189: 0189.patch Source1: https://www.gnu.org/licenses/lgpl-2.1.txt @@ -667,6 +669,10 @@ echo '# Since rhel-8.3 dracut moved to use NetworkManager add_dracutmodules+=" network-legacy "' > /etc/dracut.conf.d/50-network-legacy.conf %changelog +* Wed Aug 11 2021 Lukas Nykryn - 049-190.git20210811 +- fix(lsinitrd): TMP_DIR doesn't exist in RHEL8 +- fix(squash): apply FIPS and libpthread workaround + * Mon Aug 02 2021 Lukas Nykryn - 049-188.git20210802 - dracut-functions: fix botched backport - squash: unsquash the root image instead of mounting it on