luci-0.8: merge init script changes from r4530
authorJo-Philipp Wich <jow@openwrt.org>
Sat, 16 May 2009 17:20:50 +0000 (17:20 +0000)
committerJo-Philipp Wich <jow@openwrt.org>
Sat, 16 May 2009 17:20:50 +0000 (17:20 +0000)
contrib/package/freifunk-watchdog/files/freifunk-watchdog.init

index 1cce46b4af324486d1069ab5e8100d285af8ae63..1f87bf744f74b9e1d09d24327efc5f09246b5a95 100755 (executable)
@@ -6,15 +6,20 @@ BIN=/usr/sbin/ffwatchd
 
 boot()
 {
-       if ! grep -q "$BIN" /etc/crontabs/root 2>/dev/null; then
-               echo "* * * * * $BIN running || /etc/init.d/freifunk-watchdog restart" >> /etc/crontabs/root
-       fi
+       # If watchdog service is enabled, install cronjob, create device node and start daemon
+       if /etc/init.d/freifunk-watchdog enabled 2>/dev/null; then
+               if ! grep -q "$BIN" /etc/crontabs/root 2>/dev/null; then
+                       echo "* * * * * $BIN running || /etc/init.d/freifunk-watchdog restart" >> /etc/crontabs/root
+               fi
 
-       if lsmod | grep -q softdog; then
                mknod /dev/watchdog c 10 130
-       fi
 
-       start
+               start
+               
+       # If service is disabled, find and remove related cronjob
+       elif grep -q "$BIN" /etc/crontabs/root 2>/dev/null; then
+               sed -i -e "\\'$BIN'd" /etc/crontabs/root
+       fi
 }
 
 start()