bmx6: migrate init.d script to procd syntax
authorGui Iribarren <gui@altermundi.net>
Sun, 26 Mar 2017 00:41:57 +0000 (21:41 -0300)
committerGui Iribarren <gui@altermundi.net>
Sun, 26 Mar 2017 00:41:57 +0000 (21:41 -0300)
Signed-off-by: Gui Iribarren <gui@altermundi.net>
bmx6/Makefile
bmx6/files/etc/init.d/bmx6

index 91d9270..1741d94 100644 (file)
@@ -33,7 +33,7 @@ PKG_SOURCE_URL:=git://github.com/axn/bmx6.git
 
 PKG_REV:=4016a1980d900309771e432d1f7c741d6c48d477
 PKG_VERSION:=r2017032301
-PKG_RELEASE:=4
+PKG_RELEASE:=5
 PKG_LICENSE:=GPL-2.0
 
 PKG_SOURCE_VERSION:=$(PKG_REV)
index cb2d5b3..9d48eb4 100755 (executable)
@@ -1,41 +1,37 @@
 #!/bin/sh /etc/rc.common
+#    Copyright (C) 2017 Gui Iribarren <gui@altermundi.net>
 #    Copyright (C) 2011 Fundacio Privada per a la Xarxa Oberta, Lliure i Neutral guifi.net
 #
-#    This program is free software; you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation; either version 2 of the License, or
-#    (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License along
-#    with this program; if not, write to the Free Software Foundation, Inc.,
-#    51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-#
-#    The full GNU General Public License is included in this distribution in
-#    the file called "COPYING".
+#    This is free software, licensed under the GNU General Public License v3.
 
 START=91
+STOP=91
+USE_PROCD=1
 
+NAME=bmx6
 BIN=/usr/sbin/bmx6
 CONF=/etc/config/bmx6
 PID=/var/run/bmx6/pid
+DEBUG=0
+
+start_service() {
+    procd_open_instance "$NAME"
+    procd_set_param command "$BIN" -f "$CONF" -d "$DEBUG"
 
+    ### Respawn automatically when process dies, after waiting respawn_timeout seconds
+    ### If respawn_retry consecutives respawns die before respawn_threshold seconds (i.e. they crash)
+    ### it will stop trying and leave it dead.
+    procd_set_param respawn ${respawn_threshold:-60} ${respawn_timeout:-3} ${respawn_retry:-5}
 
-start() {
-       cd /root/
-       while pgrep -f mac80211.sh ; do sleep 1; done
-       ulimit -c 20000
-       $BIN -f $CONF -d0 > /dev/null &
+    procd_set_param limits core="20000"  # Equivalent to 'ulimit -c 20000'
+    procd_close_instance
 }
 
-stop() {
-       start-stop-daemon -p $PID -K
+reload_service() {
+    "$BIN" -c configReload
 }
 
-restart() {
-       stop; sleep 3; start
+service_triggers()
+{
+    procd_add_reload_trigger "bmx6" # Call reload_service() when /etc/config/bmx6 changed and reload_config is run
 }