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
|