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:
		@@ -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
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user