diff options
Diffstat (limited to 'sh')
-rw-r--r-- | sh/init.sh.GNU.in | 38 |
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 |