test: add a reasoning why we don't use the SELinux-provided units

This commit is contained in:
Frantisek Sumsal 2023-06-05 22:32:27 +02:00
parent 56595a3730
commit 8c0ace5739

View file

@ -798,7 +798,7 @@ setup_selinux() {
fi
local conf_dir=/etc/selinux
local fixfiles_tools=(bash uname cat sort uniq awk grep egrep head expr find rm secon setfiles)
local fixfiles_tools=(awk bash cat chcon expr find grep head secon setfiles rm sort uname uniq)
# Make sure the following statement can't expand to "/" to prevent
# a potential where-are-my-backups situation
@ -808,6 +808,16 @@ setup_selinux() {
exit 1
fi
# We use a custom autorelabel service instead of the SELinux provided set
# of units & a generator, since the generator overrides the default target
# to the SELinux one when it detects /.autorelabel. However, we use
# systemd.unit= on the kernel command cmdline which always takes precedence,
# rendering all SELinux efforts useless. Also, pulling in selinux-autorelabel.service
# explicitly doesn't work either, as it doesn't check for the presence of /.autorelabel
# and does the relabeling unconditionally which always ends with a reboot, so
# we end up in a reboot loop (and it also spews quite a lot of errors as it
# wants /etc/fstab and dracut-initramfs-restore).
touch "$initdir/.autorelabel"
mkdir -p "$initdir/usr/lib/systemd/tests/testdata/units/basic.target.wants"
ln -sf ../autorelabel.service "$initdir/usr/lib/systemd/tests/testdata/units/basic.target.wants/"