From: David Tardon Date: Fri, 11 Mar 2022 13:04:16 +0000 (+0100) Subject: fix(dracut-initramfs-restore.sh): check if SELINUXTYPE is set X-Git-Tag: 057~73 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=24d8f35b9c162f42c58abd27fe9c75bbf76cbfe7;p=thirdparty%2Fdracut.git 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. --- diff --git a/dracut-initramfs-restore.sh b/dracut-initramfs-restore.sh index 3c70b42c3..b19be7de3 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