diff options
author | William Hubbs <williamh@gentoo.org> | 2011-10-17 13:47:45 -0500 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2011-11-16 13:56:55 -0600 |
commit | 5b1aaf8cc803e9f21f8a0c94236ab5dddba4b2fc (patch) | |
tree | 4ef1037e3bad3f69409720e26342f31c064a3d39 /sh | |
parent | 5994e55937cbbb71b1c22ad829b77a1bcd8c3793 (diff) |
add support for extra_stopped_commands
Diffstat (limited to 'sh')
-rw-r--r-- | sh/runscript.sh.in | 17 |
1 files changed, 14 insertions, 3 deletions
diff --git a/sh/runscript.sh.in b/sh/runscript.sh.in index 010c794f..f86a5107 100644 --- a/sh/runscript.sh.in +++ b/sh/runscript.sh.in @@ -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 |