aboutsummaryrefslogtreecommitdiff
path: root/sh
diff options
context:
space:
mode:
authorRoy Marples <roy@marples.name>2007-07-10 19:09:41 +0000
committerRoy Marples <roy@marples.name>2007-07-10 19:09:41 +0000
commit05201b514b99d636af8067e442b2c6ab04e6d530 (patch)
tree9f41b80b1540b297ba38adc294cb700f92af4aa6 /sh
parent445918685e559babf219cbfc775b9c582b52a2fc (diff)
init scripts and their extra options can now have descriptions, #184327.
Diffstat (limited to 'sh')
-rwxr-xr-xsh/net.sh2
-rwxr-xr-xsh/rc-help.sh10
-rwxr-xr-xsh/runscript.sh21
3 files changed, 26 insertions, 7 deletions
diff --git a/sh/net.sh b/sh/net.sh
index 039b586b..21c57e04 100755
--- a/sh/net.sh
+++ b/sh/net.sh
@@ -8,6 +8,8 @@ _config_vars="config routes"
[ -z "${IN_BACKGROUND}" ] && IN_BACKGROUND=false
+description="Configures network interfaces."
+
depend() {
local IFACE=${SVCNAME#*.}
local IFVAR=$(echo -n "${IFACE}" | sed -e 's/[^[:alnum:]]/_/g')
diff --git a/sh/rc-help.sh b/sh/rc-help.sh
index 97ca53f4..8edbb8ef 100755
--- a/sh/rc-help.sh
+++ b/sh/rc-help.sh
@@ -32,7 +32,7 @@ else
NL=
fi
-default_opts="start stop restart pause zap"
+default_opts="describe start stop restart pause zap"
extra_opts="$(. "${myscript}" 2>/dev/null ; echo "${opts}")"
if [ "${BE_VERBOSE}" = "yes" ] ; then
@@ -48,6 +48,9 @@ ${CYAN}Normal Options:${OFF}"
if [ "${BE_VERBOSE}" = "yes" ] ; then
printf "
+ ${GREEN}describe${OFF}
+ Describe what the service and any extra options do.
+
${GREEN}start${OFF}
Start service, as well as the services it depends on (if not already
started).
@@ -68,11 +71,6 @@ printf "
${GREEN}conditionalrestart|condrestart${OFF}
Same as 'restart', but only if the service has already been started.
- ${GREEN}pause${OFF}
- Same as 'stop', but the services that depends on it, will not be
- stopped. This is useful for stopping a network interface without
- stopping all the network services that depend on 'net'.
-
${GREEN}zap${OFF}
Reset a service that is currently stopped, but still marked as started,
to the stopped state. Basically for killing zombie services.
diff --git a/sh/runscript.sh b/sh/runscript.sh
index 6b679c21..1520db42 100755
--- a/sh/runscript.sh
+++ b/sh/runscript.sh
@@ -17,6 +17,25 @@ if [ -z "$1" -o -z "$2" ] ; then
exit 1
fi
+# Descript the init script to the user
+describe() {
+ if [ -n "${description}" ] ; then
+ einfo "${description}"
+ else
+ ewarn "No description for ${SVCNAME}"
+ fi
+
+ local svc= desc=
+ for svc in ${opts} ; do
+ eval desc=\$description_${svc}
+ if [ -n "${desc}" ] ; then
+ einfo "${HILITE}${svc}${NORMAL}: ${desc}"
+ else
+ ewarn "${HILITE}${svc}${NORMAL}: no description"
+ fi
+ done
+}
+
[ "${RC_DEBUG}" = "yes" ] && set -x
# If we're net.eth0 or openvpn.work then load net or openvpn config
@@ -50,7 +69,7 @@ shift
while [ -n "$1" ] ; do
# See if we have the required function and run it
- for rc_x in start stop ${opts} ; do
+ for rc_x in describe start stop ${opts} ; do
if [ "${rc_x}" = "$1" ] ; then
if type "$1" >/dev/null 2>/dev/null ; then
unset rc_x