summaryrefslogtreecommitdiff
path: root/sh/init-common-post.sh.in
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2008-06-21 14:10:59 +0000
committerRoy Marples <roy@marples.name>2008-06-21 14:10:59 +0000
commit5510451bac77cbd490599e506619aa09d9b2607b (patch)
tree9ef04116e3d37e22f6830cd9024c77facfc3091f /sh/init-common-post.sh.in
parent11acce3c7d516578f91931f6613cb181f78c27d0 (diff)
downloadopenrc-5510451bac77cbd490599e506619aa09d9b2607b.tar.gz
openrc-5510451bac77cbd490599e506619aa09d9b2607b.tar.bz2
openrc-5510451bac77cbd490599e506619aa09d9b2607b.tar.xz
We need to replace @LIB@ here.
Diffstat (limited to 'sh/init-common-post.sh.in')
-rw-r--r--sh/init-common-post.sh.in28
1 files changed, 28 insertions, 0 deletions
diff --git a/sh/init-common-post.sh.in b/sh/init-common-post.sh.in
new file mode 100644
index 0000000..61f3863
--- /dev/null
+++ b/sh/init-common-post.sh.in
@@ -0,0 +1,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}