diff options
Diffstat (limited to 'init.d')
-rw-r--r-- | init.d/Makefile | 2 | ||||
-rw-r--r-- | init.d/s6-svscan.in | 31 |
2 files changed, 32 insertions, 1 deletions
diff --git a/init.d/Makefile b/init.d/Makefile index 0bd3651b..a662f8d7 100644 --- a/init.d/Makefile +++ b/init.d/Makefile @@ -3,7 +3,7 @@ include ../mk/net.mk DIR= ${INITDIR} SRCS= bootmisc.in fsck.in hostname.in local.in localmount.in loopback.in \ netmount.in osclock.in root.in savecache.in swap.in swapfiles.in \ - tmpfiles.setup.in swclock.in sysctl.in urandom.in ${SRCS-${OS}} + tmpfiles.setup.in swclock.in sysctl.in urandom.in s6-svscan.in ${SRCS-${OS}} BIN= ${OBJS} # Are we installing our network scripts? diff --git a/init.d/s6-svscan.in b/init.d/s6-svscan.in new file mode 100644 index 00000000..6fdf4e1d --- /dev/null +++ b/init.d/s6-svscan.in @@ -0,0 +1,31 @@ +#!@SBINDIR@/openrc-run +# Copyright (C) 2015 William Hubbs <w.d.hubbs@gmail.com> +# Released under the 2-clause BSD license. + +command=/bin/s6-svscan +command_args="${RC_SVCDIR}"/s6-scan +command_background=yes +pidfile=/var/run/s6-svscan.pid + +depend() +{ + need localmount +} + +start_pre() +{ + einfo "Creating s6 scan directory" + checkpath -d -m 0755 "$RC_SVCDIR"/s6-scan + return $? +} + +stop_post() +{ + ebegin "Stopping any remaining s6 services" + s6-svc -dx "${RC_SVCDIR}"/s6-scan/* 2>/dev/null || true + eend $? + + ebegin "Stopping any remaining s6 service loggers" + s6-svc -dx "${RC_SVCDIR}"/s6-scan/*/log 2>/dev/null || true + eend $? +} |