summaryrefslogtreecommitdiff
path: root/sh/init-common-post.sh.in
blob: 93acb299e1627906d3b399ba5e2313271af5e103 (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
29
# 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
RC_SVCDIR=${RC_SVCDIR:-/@LIB@/rc/init.d}
if [ "${RC_SVCDIR}" != "/" ] && mkdir "${RC_SVCDIR}/.test.$$" 2>/dev/null; then
	rmdir "${RC_SVCDIR}/.test.$$"
	for x in ${RC_SVCDIR}/*; 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}