summaryrefslogtreecommitdiffstats
path: root/runscript-alpine.sh
diff options
context:
space:
mode:
Diffstat (limited to 'runscript-alpine.sh')
-rwxr-xr-xrunscript-alpine.sh85
1 files changed, 85 insertions, 0 deletions
diff --git a/runscript-alpine.sh b/runscript-alpine.sh
new file mode 100755
index 0000000..f669188
--- /dev/null
+++ b/runscript-alpine.sh
@@ -0,0 +1,85 @@
+#!/bin/sh
+
+myscript="$1"
+if [ -L $1 ] ; then
+ myservice=$(readlink "$1")
+else
+ myservice=$1
+fi
+
+myservice=`basename ${myservice}`
+export SVCNAME=${myservice}
+
+[ "$RC_GOT_FUNCTIONS" ] || . /sbin/functions.sh
+
+# wrapper for busybox killall
+killall() {
+ local flags ka
+ ka=`which killall`
+ while [ $# -gt 0 ] ; do
+ case "$1" in
+ -*) flags="$flags $1";;
+ *) flags="$flags `basename $1`"
+ esac
+ shift
+ done
+ $ka $flags
+}
+
+svc_start() {
+ start
+}
+
+svc_stop() {
+ stop
+}
+
+svc_status() {
+ status
+}
+
+restart() {
+ svc_stop
+ sleep 1
+ svc_start
+}
+
+usage() {
+ local i uopts
+ for i in $opts; do
+ uopts="$uopts|$i"
+ done
+ echo "usage: $myscript start|stop|status|restart$uopts"
+ exit $1
+}
+
+[ -f "/etc/conf.d/$myservice" ] && . "/etc/conf.d/$myservice"
+. "$myscript"
+
+shift
+if [[ $# -lt 1 ]] ; then
+ usage 1
+fi
+
+for arg in $* ; do
+ case "${arg}" in
+ start)
+ svc_start
+ ;;
+ stop)
+ svc_stop
+ ;;
+ status)
+ svc_status
+ ;;
+ restart)
+ restart
+ ;;
+ *)
+ for opt in $opts ; do
+ [ "$arg" = "$opt" ] && $arg
+ done
+ ;;
+ esac
+done
+