summaryrefslogtreecommitdiff
path: root/sh/init-common-post.sh.in
blob: 96eeeeefc2e1d7a3ab4a3331a8359f199546d519 (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
# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
# Released under the 2-clause BSD license.

# mount $RC_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_LIBEXECDIR:=@LIBEXECDIR@}
: ${RC_SVCDIR:=@LIBEXECDIR@/init.d}
case "$(openrc --sys)" in
	OPENVZ|VSERVER)	rm -rf "$RC_SVCDIR"/*;;
	*)		if mountinfo --quiet "$RC_SVCDIR"; then
				rm -rf "$RC_SVCDIR"/*
			else
				mount_svcdir
			fi
			;;
esac
retval=$?

if [ -e "$RC_LIBEXECDIR"/cache/deptree ]; then
	cp -p "$RC_LIBEXECDIR"/cache/* "$RC_SVCDIR" 2>/dev/null
fi

echo sysinit >"$RC_SVCDIR"/softlevel
exit $retval