mirror of
https://github.com/OpenRC/openrc.git
synced 2024-11-23 18:03:51 +08:00
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
|
||||
Space separated list of extra commands the service defines. These only work if
|
||||
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
|
||||
String describing the service.
|
||||
.It Ar description_$command
|
||||
|
@ -98,7 +98,8 @@ describe()
|
||||
fi
|
||||
|
||||
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
|
||||
if [ -n "$desc" ]; then
|
||||
einfo "$HILITE$svc$NORMAL: $desc"
|
||||
@ -213,7 +214,7 @@ unset _f
|
||||
if [ -n "$opts" ]; then
|
||||
ewarn "Use of the opts variable is deprecated and will be"
|
||||
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
|
||||
|
||||
while [ -n "$1" ]; do
|
||||
@ -225,7 +226,7 @@ while [ -n "$1" ]; do
|
||||
fi
|
||||
# See if we have the required function and run it
|
||||
for _cmd in describe start stop status ${extra_commands:-$opts} \
|
||||
$extra_started_commands
|
||||
$extra_started_commands $extra_stopped_commands
|
||||
do
|
||||
if [ "$_cmd" = "$1" ]; then
|
||||
if [ "$(command -v "$1")" = "$1" ]; then
|
||||
@ -253,6 +254,16 @@ while [ -n "$1" ]; do
|
||||
fi
|
||||
fi
|
||||
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
|
||||
if [ "$(command -v "$1_pre")" = "$1_pre" ]
|
||||
then
|
||||
|
@ -526,7 +526,9 @@ rc_service_exists(const char *service)
|
||||
}
|
||||
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_service_extra_commands(const char *service)
|
||||
{
|
||||
|
Loading…
Reference in New Issue
Block a user