mirror of
https://github.com/OpenRC/openrc.git
synced 2024-11-23 18:03:51 +08:00
migrate-to-run: do not require a reboot
The script that migrates the @libexecdir@/rc/init.d directory to /run/openrc should not require a reboot. Reported-by: chainsaw@gentoo.org
This commit is contained in:
parent
a9272f50f7
commit
e5173b9127
@ -51,6 +51,10 @@ if [ ! -d /run ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
if [ -L /run/openrc ]; then
|
||||
rm /run/openrc
|
||||
fi
|
||||
|
||||
if [ "$sys" = VSERVER ]; then
|
||||
rm -rf /run/*
|
||||
elif ! mountinfo -q /run; then
|
||||
@ -84,5 +88,9 @@ if [ -e "$RC_LIBEXECDIR"/cache/deptree ]; then
|
||||
cp -p "$RC_LIBEXECDIR"/cache/* "$RC_SVCDIR" 2>/dev/null
|
||||
fi
|
||||
|
||||
if [ -e "$RC_LIBEXECDIR"/init.d ]; then
|
||||
rm -rf "$RC_LIBEXECDIR"/init.d
|
||||
fi
|
||||
|
||||
echo sysinit >"$RC_SVCDIR"/softlevel
|
||||
exit 0
|
||||
|
@ -11,38 +11,19 @@ fi
|
||||
|
||||
if [ ! -d /run ]; then
|
||||
eerror "/run is not a directory."
|
||||
eerror "This means the OpenRC dependency data cannot be migrated."
|
||||
eerror "Please create the /run directory and reboot the system."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if ! mountinfo -q -f tmpfs /run; then
|
||||
for x in /run/.* /run/*; do
|
||||
case "$x" in
|
||||
/run/.|/run/..)
|
||||
continue
|
||||
;;
|
||||
esac
|
||||
if [ -e "$x" ]; then
|
||||
eerror "Your /run directory contains files."
|
||||
eerror "Please reboot the system."
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
mount -t tmpfs -o mode=0755,nosuid,nodev tmpfs /run 2> /dev/null
|
||||
if [ $? != 0 ]; then
|
||||
eerror "Unable to mount a tmpfs on /run."
|
||||
eerror "This means the OpenRC dependency data cannot be migrated."
|
||||
eerror "Please create the /run directory and reboot the system."
|
||||
exit 1
|
||||
fi
|
||||
eerror "moving /run to /run.pre-openrc"
|
||||
mv /run /run.pre-openrc
|
||||
mkdir /run
|
||||
fi
|
||||
|
||||
rm -rf /run/openrc
|
||||
cp -a "@LIBEXECDIR@/init.d" /run/openrc
|
||||
rc-update -u
|
||||
umount "@LIBEXECDIR@/init.d"
|
||||
rm -rf "@LIBEXECDIR@/init.d"
|
||||
|
||||
if ! mountinfo -q -f tmpfs /run; then
|
||||
ln -s "@LIBEXECDIR@"/init.d /run/openrc
|
||||
else
|
||||
cp -a "@LIBEXECDIR@/init.d" /run/openrc
|
||||
rc-update -u
|
||||
fi
|
||||
|
||||
einfo "The OpenRC dependency data was migrated successfully."
|
||||
exit 0
|
||||
|
Loading…
Reference in New Issue
Block a user