aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/etc/rc.common
diff options
context:
space:
mode:
authorFelix Fietkau <nbd@openwrt.org>2006-11-22 23:30:57 +0000
committerFelix Fietkau <nbd@openwrt.org>2006-11-22 23:30:57 +0000
commitfbef19a70d0471c30c8535c17c88d8618cd3a6b9 (patch)
treeb34e972b2aa8e22dc921b0b9967d811e7525e3bc /package/base-files/files/etc/rc.common
parent0cbe723631eed7e541483592d16b6d125c846674 (diff)
downloadupstream-fbef19a70d0471c30c8535c17c88d8618cd3a6b9.tar.gz
upstream-fbef19a70d0471c30c8535c17c88d8618cd3a6b9.tar.bz2
upstream-fbef19a70d0471c30c8535c17c88d8618cd3a6b9.zip
rename default/ to files/
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@5622 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'package/base-files/files/etc/rc.common')
-rwxr-xr-xpackage/base-files/files/etc/rc.common83
1 files changed, 83 insertions, 0 deletions
diff --git a/package/base-files/files/etc/rc.common b/package/base-files/files/etc/rc.common
new file mode 100755
index 0000000000..7180b0f7fa
--- /dev/null
+++ b/package/base-files/files/etc/rc.common
@@ -0,0 +1,83 @@
+#!/bin/sh
+# Copyright (C) 2006 OpenWrt.org
+
+. $IPKG_INSTROOT/etc/functions.sh
+
+START=50
+
+start() {
+ return 0
+}
+
+stop() {
+ return 0
+}
+
+reload() {
+ return 1
+}
+
+restart() {
+ stop
+ start
+}
+
+boot() {
+ start
+}
+
+shutdown() {
+ return 0
+}
+
+disable() {
+ name="$(basename "${initscript}")"
+ rm -f "$IPKG_INSTROOT"/etc/rc.d/S??$name
+}
+
+enable() {
+ name="$(basename "${initscript}")"
+ disable
+ ln -s "/etc/init.d/$name" "$IPKG_INSTROOT/etc/rc.d/S${START}${name##S[0-9][0-9]}"
+}
+
+depends() {
+ return 0
+}
+
+help() {
+ cat <<EOF
+Syntax: $initscript [command]
+
+Available commands:
+ start Start the service
+ stop Stop the service
+ restart Restart the service
+ reload Reload configuration files (or restart if that fails)
+ enable Enable service autostart
+ disable Disable service autostart
+$EXTRA_HELP
+EOF
+}
+
+initscript="$1"
+action="$2"
+
+. "$initscript"
+
+cmds=
+for cmd in $EXTRA_COMMANDS; do
+ cmds="${cmds:+$cmds$N}$cmd) $cmd;;"
+done
+eval "case \"\$action\" in
+ start) start;;
+ stop) stop;;
+ reload) reload || restart;;
+ restart) restart;;
+ boot) boot;;
+ shutdown) shutdown;;
+ enable) enable;;
+ disable) disable;;
+ $cmds
+ *) help;;
+esac"