aboutsummaryrefslogtreecommitdiff
path: root/sh
diff options
context:
space:
mode:
Diffstat (limited to 'sh')
-rw-r--r--sh/init.sh.GNU.in38
1 files changed, 38 insertions, 0 deletions
diff --git a/sh/init.sh.GNU.in b/sh/init.sh.GNU.in
new file mode 100644
index 00000000..5ba051d9
--- /dev/null
+++ b/sh/init.sh.GNU.in
@@ -0,0 +1,38 @@
+#!@SHELL@
+# Copyright (c) 2007-2009 Roy Marples <roy@marples.name>
+# Copyright (c) 2014 Svante Signell <svante.signell@gmail.com>
+# Released under the 2-clause BSD license.
+
+if [ ! -d /run ]; then
+ ebegin "Creating /run"
+ mkdir -p /run
+ eend $?
+fi
+
+if [ -L $RC_SVCDIR ]; then
+ rm $RC_SVCDIR
+fi
+
+if ! mountinfo -q /run; then
+ ebegin "Mounting /run"
+ if ! fstabinfo --mount /run; then
+ mount -t tmpfs -o mode=0755,no-suid,size=10% tmpfs /run
+ if [ $? != 0 ]; then
+ eerror "Unable to mount tmpfs on /run."
+ eerror "Can't continue."
+ exit 1
+ fi
+ fi
+ eend
+fi
+
+ebegin "Creating $RC_SVCDIR"
+mkdir -p $RC_SVCDIR
+eend $?
+
+if [ -e "$RC_LIBEXECDIR"/cache/deptree ]; then
+ cp -p "$RC_LIBEXECDIR"/cache/* "$RC_SVCDIR" 2>/dev/null
+fi
+
+echo sysinit >"$RC_SVCDIR"/softlevel
+exit 0