diff --git a/backport-fix-dracut-initramfs-restore-check-if-SELINUXTYPE-is-set.patch b/backport-fix-dracut-initramfs-restore-check-if-SELINUXTYPE-is-set.patch new file mode 100644 index 0000000000000000000000000000000000000000..df1f071a52e4913f6432b9c9f8add49dc56c14c3 --- /dev/null +++ b/backport-fix-dracut-initramfs-restore-check-if-SELINUXTYPE-is-set.patch @@ -0,0 +1,30 @@ +From 72bd474b54b489afc4d06d26f5bf8e1097518946 Mon Sep 17 00:00:00 2001 +From: David Tardon +Date: Fri, 11 Mar 2022 14:04:16 +0100 +Subject: [PATCH] fix(dracut-initramfs-restore.sh): check if SELINUXTYPE is set + +It can happen that SELINUXTYPE is not set, e.g., in Fedora/RHEL +installation images /etc/selinux/config is an empty file. That means +that setfiles fails, which makes dracut-initramfs-restore fail too +because it uses "set -x", which means that dracut-shutdown.service +fails. But, after commit 7ab1d00227cad6f1b86ba01fdc766769faebb031, a +failure of dracut-shutdown.service means that the final switch back into +initrd is skipped. Let's just add an additional sanity check to +workaround that. +--- + dracut-initramfs-restore.sh | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh +index 3c70b42c3c..b19be7de3c 100644 +--- a/dracut-initramfs-restore.sh ++++ b/dracut-initramfs-restore.sh +@@ -76,7 +76,7 @@ fi + + if [ -e /etc/selinux/config -a -x /usr/sbin/setfiles ]; then + . /etc/selinux/config +- /usr/sbin/setfiles -v -r /run/initramfs /etc/selinux/"${SELINUXTYPE}"/contexts/files/file_contexts /run/initramfs > /dev/null ++ [ -n "${SELINUXTYPE}" ] && /usr/sbin/setfiles -v -r /run/initramfs /etc/selinux/"${SELINUXTYPE}"/contexts/files/file_contexts /run/initramfs > /dev/null + fi + + exit 0 diff --git a/dracut.spec b/dracut.spec index 25c051007455926a97cb5b3fd1cd2f170225797c..2b65201414abd30ac168a23d08b546e591e342ac 100644 --- a/dracut.spec +++ b/dracut.spec @@ -9,7 +9,7 @@ Name: dracut Version: 059 -Release: 6 +Release: 7 Summary: Initramfs generator using udev @@ -37,6 +37,7 @@ Patch10: backport-fix-dracut.sh-exit-if-resolving-executable-dependenc.patch Patch11: backport-fix-fs-lib-remove-quoting-form-the-first-argument-of.patch # Unbreak systemd 255 Patch12: backport-feat-systemd-install-systemd-executor.patch +Patch13: backport-fix-dracut-initramfs-restore-check-if-SELINUXTYPE-is-set.patch Patch6000: backport-fix-dracut.sh-remove-microcode-check-based-on-CONFIG.patch @@ -527,6 +528,9 @@ rm -f 51-dracut-rescue-postinst.sh %endif %changelog +* Fri Jun 07 2024 yanglongkang - 055-7 +- fix(dracut-initramfs-restore.sh): check if SELINUXTYPE is set + * Thu Apr 18 2024 wangyuhang - 059-6 - Backport patches to remove microcode check based on CONFIG_MICROCODE_[AMD|INTEL]