Blame SPECS/selinux-autorelabel-generator.sh

Packit Service 9fb14c
#!/bin/sh
Packit Service 9fb14c
Packit Service 9fb14c
# This systemd.generator(7) detects if SELinux is running and if the
Packit Service 9fb14c
# user requested an autorelabel, and if so sets the default target to
Packit Service 9fb14c
# selinux-autorelabel.target, which will cause the filesystem to be
Packit Service 9fb14c
# relabelled and then the system will reboot again and boot into the
Packit Service 9fb14c
# real default target.
Packit Service 9fb14c
Packit Service 9fb14c
PATH=/usr/sbin:$PATH
Packit Service 9fb14c
unitdir=/usr/lib/systemd/system
Packit Service 9fb14c
Packit Service 9fb14c
# If invoked with no arguments (for testing) write to /tmp.
Packit Service 9fb14c
earlydir="/tmp"
Packit Service 9fb14c
if [ -n "$2" ]; then
Packit Service 9fb14c
    earlydir="$2"
Packit Service 9fb14c
fi
Packit Service 9fb14c
Packit Service 9fb14c
set_target ()
Packit Service 9fb14c
{
Packit Service 9fb14c
    ln -sf "$unitdir/selinux-autorelabel.target" "$earlydir/default.target"
Packit Service 9fb14c
}
Packit Service 9fb14c
Packit Service 9fb14c
if selinuxenabled; then
Packit Service 9fb14c
    if test -f /.autorelabel; then
Packit Service 9fb14c
        set_target
Packit Service 9fb14c
    elif grep -sqE "\bautorelabel\b" /proc/cmdline; then
Packit Service 9fb14c
        set_target
Packit Service 9fb14c
    fi
Packit Service 9fb14c
fi