summaryrefslogtreecommitdiff
path: root/sh/init-common-post.sh
blob: cb44999889702a16ae16bf428514c646619971b8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Copyright 2007-2008 Roy Marples <roy@marples.name>
# All rights reserved. Released under the 2-clause BSD license.

retval=0

# mount $svcdir as something we can write to if it's not rw
# On vservers, / is always rw at this point, so we need to clean out
# the old service state data
if [ "${RC_SVCDIR}" != "/" ] && mkdir "${RC_SVCDIR}/.test.$$" 2>/dev/null; then
	rmdir "${RC_SVCDIR}/.test.$$"
	for x in ${RC_SVCDIR:-/lib/rc/init.d}/*; do
		[ -e "${x}" ] || continue
		case ${x##*/} in
			depconfig|deptree|ksoftlevel|rc.log);;
			*) rm -rf "${x}";;
		esac
	done
else
	mount_svcdir
	retval=$?
fi

echo "sysinit" > "${RC_SVCDIR}/softlevel"

# sysinit is now done, so allow init scripts to run normally
[ -e /dev/.rcsysinit ] && rm -f /dev/.rcsysinit

exit ${retval}