openrc/init.d/s6-svscan.in
Kerin Millar cd4bbdcd62 init.d/s6-svscan.in: make sure $command exists
While the s6-svscan runscript belongs to OpenRC, the user is required to
install s6 before it can actually be used, potentially leading to
confusion. Check for the existence of $command in start_pre and, if it does not
exist, bail out with an error that makes this observation.

X-Gentoo-Bug: 816978
X-Gentoo-Bug-URL: https://bugs.gentoo.org/show_bug.cgi?id=816978
2021-10-14 23:03:32 -05:00

43 lines
1.1 KiB
Plaintext

#!@SBINDIR@/openrc-run
# Copyright (c) 2015 The OpenRC Authors.
# See the Authors file at the top-level directory of this distribution and
# https://github.com/OpenRC/openrc/blob/master/AUTHORS
#
# This file is part of OpenRC. It is subject to the license terms in
# the LICENSE file found in the top-level directory of this
# distribution and at https://github.com/OpenRC/openrc/blob/master/LICENSE
# This file may not be copied, modified, propagated, or distributed
# except according to the terms contained in the LICENSE file.
command=/bin/s6-svscan
command_args="${RC_SVCDIR}"/s6-scan
command_background=yes
pidfile=/var/run/s6-svscan.pid
depend()
{
need localmount
}
start_pre()
{
if [ ! -e "$command" ]; then
eerror "$command is missing (please install s6)"
else
einfo "Creating s6 scan directory"
checkpath -d -m 0755 "$RC_SVCDIR"/s6-scan
fi
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 $?
}