add support for extra_stopped_commands
This commit is contained in:
parent
5994e55937
commit
5b1aaf8cc8
@ -93,6 +93,9 @@ Space separated list of extra commands the service defines.
|
|||||||
.It Ar extra_started_commands
|
.It Ar extra_started_commands
|
||||||
Space separated list of extra commands the service defines. These only work if
|
Space separated list of extra commands the service defines. These only work if
|
||||||
the service has already been started.
|
the service has already been started.
|
||||||
|
.It Ar extra_stopped_commands
|
||||||
|
Space separated list of extra commands the service defines. These only work if
|
||||||
|
the service has already been stopped.
|
||||||
.It Ar description
|
.It Ar description
|
||||||
String describing the service.
|
String describing the service.
|
||||||
.It Ar description_$command
|
.It Ar description_$command
|
||||||
|
@ -98,7 +98,8 @@ describe()
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
local svc= desc=
|
local svc= desc=
|
||||||
for svc in ${extra_commands:-$opts} $extra_started_commands; do
|
for svc in ${extra_commands:-$opts} $extra_started_commands \
|
||||||
|
$extra_stopped_commands; do
|
||||||
eval desc=\$description_$svc
|
eval desc=\$description_$svc
|
||||||
if [ -n "$desc" ]; then
|
if [ -n "$desc" ]; then
|
||||||
einfo "$HILITE$svc$NORMAL: $desc"
|
einfo "$HILITE$svc$NORMAL: $desc"
|
||||||
@ -213,7 +214,7 @@ unset _f
|
|||||||
if [ -n "$opts" ]; then
|
if [ -n "$opts" ]; then
|
||||||
ewarn "Use of the opts variable is deprecated and will be"
|
ewarn "Use of the opts variable is deprecated and will be"
|
||||||
ewarn "removed in the future."
|
ewarn "removed in the future."
|
||||||
ewarn "Please use extra_commands or extra_started_commands."
|
ewarn "Please use extra_commands, extra_started_commands or extra_stopped_commands."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
while [ -n "$1" ]; do
|
while [ -n "$1" ]; do
|
||||||
@ -225,7 +226,7 @@ while [ -n "$1" ]; do
|
|||||||
fi
|
fi
|
||||||
# See if we have the required function and run it
|
# See if we have the required function and run it
|
||||||
for _cmd in describe start stop status ${extra_commands:-$opts} \
|
for _cmd in describe start stop status ${extra_commands:-$opts} \
|
||||||
$extra_started_commands
|
$extra_started_commands $extra_stopped_commands
|
||||||
do
|
do
|
||||||
if [ "$_cmd" = "$1" ]; then
|
if [ "$_cmd" = "$1" ]; then
|
||||||
if [ "$(command -v "$1")" = "$1" ]; then
|
if [ "$(command -v "$1")" = "$1" ]; then
|
||||||
@ -253,6 +254,16 @@ while [ -n "$1" ]; do
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
done
|
done
|
||||||
|
# Check to see if we need to be stopped before
|
||||||
|
# we can run this command
|
||||||
|
for _cmd in $extra_stopped_commands; do
|
||||||
|
if [ "$_cmd" = "$1" ]; then
|
||||||
|
if ! service_stopped; then
|
||||||
|
eerror "$RC_SVCNAME: cannot \`$1' as it has not been stopped"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
unset _cmd
|
unset _cmd
|
||||||
if [ "$(command -v "$1_pre")" = "$1_pre" ]
|
if [ "$(command -v "$1_pre")" = "$1_pre" ]
|
||||||
then
|
then
|
||||||
|
@ -526,7 +526,9 @@ rc_service_exists(const char *service)
|
|||||||
}
|
}
|
||||||
librc_hidden_def(rc_service_exists)
|
librc_hidden_def(rc_service_exists)
|
||||||
|
|
||||||
#define OPTSTR ". '%s'; echo $extra_commands $extra_started_commands"
|
#define OPTSTR \
|
||||||
|
". '%s'; echo $extra_commands $extra_started_commands $extra_stopped_commands"
|
||||||
|
|
||||||
RC_STRINGLIST *
|
RC_STRINGLIST *
|
||||||
rc_service_extra_commands(const char *service)
|
rc_service_extra_commands(const char *service)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user