summaryrefslogtreecommitdiffstats
path: root/package/base-files/files/etc/rc.common
diff options
context:
space:
mode:
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-11-22 23:30:57 +0000
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>2006-11-22 23:30:57 +0000
commit05adaa9794e41d02870a74a1ed7ba58cc59b9286 (patch)
treeb34e972b2aa8e22dc921b0b9967d811e7525e3bc /package/base-files/files/etc/rc.common
parent356535ffd7bc1343ce6bc2fc367f788cc2c1bd24 (diff)
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 000000000..7180b0f7f
--- /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"