[RFC PATCH v4 10/11] fff-autorestart: Add fff config option to disable
Adrian Schmutzler
freifunk at adrianschmutzler.de
Fr Jul 21 15:08:48 CEST 2017
Auto-restart can now be disabled by a setting in the fff
config file instead of manipulating /tmp/gatewayoff.
Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
Tested-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
src/packages/fff/fff-autorestart/Makefile | 2 +-
.../fff-autorestart/files/usr/sbin/disable_autorestart.sh | 15 +++++++++++++++
.../fff/fff-autorestart/files/usr/sbin/offlinerestart | 8 ++++----
3 files changed, 20 insertions(+), 5 deletions(-)
create mode 100755 src/packages/fff/fff-autorestart/files/usr/sbin/disable_autorestart.sh
diff --git a/src/packages/fff/fff-autorestart/Makefile b/src/packages/fff/fff-autorestart/Makefile
index b48542a..3428be7 100644
--- a/src/packages/fff/fff-autorestart/Makefile
+++ b/src/packages/fff/fff-autorestart/Makefile
@@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-autorestart
-PKG_VERSION:=1
+PKG_VERSION:=2
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/fff-autorestart
diff --git a/src/packages/fff/fff-autorestart/files/usr/sbin/disable_autorestart.sh b/src/packages/fff/fff-autorestart/files/usr/sbin/disable_autorestart.sh
new file mode 100755
index 0000000..f422de5
--- /dev/null
+++ b/src/packages/fff/fff-autorestart/files/usr/sbin/disable_autorestart.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+# This disables the auto-restart feature permanently
+# (settings is preserved during upgrades)
+
+uci -q set "fff.autorestart=settings"
+uci -q set "fff.autorestart.enabled=0"
+
+uci -q commit fff
+
+if [ -s /tmp/gatewayoff ] ; then
+ rm -f /tmp/gatewayoff
+fi
+if [ -s /etc/autorestartcount ] ; then
+ rm -f /etc/autorestartcount
+fi
diff --git a/src/packages/fff/fff-autorestart/files/usr/sbin/offlinerestart b/src/packages/fff/fff-autorestart/files/usr/sbin/offlinerestart
index 808ea11..51c96ee 100755
--- a/src/packages/fff/fff-autorestart/files/usr/sbin/offlinerestart
+++ b/src/packages/fff/fff-autorestart/files/usr/sbin/offlinerestart
@@ -1,15 +1,15 @@
#!/bin/sh
+if [ "$(uci -q get fff.autorestart.enabled)" = "0" ] ; then
+ exit 0
+fi
+
UPPER_LIMIT='50' # Above this limit the gateway will be considered online
LOWER_LIMIT='20' # Below this limit the gateway will be considered offline
# In-between these two values the state is not changed
NOW=$(date +%s)
-if [ -s /tmp/gatewayoff ] && grep -q '0' /tmp/gatewayoff ; then
- exit 0
-fi
-
GATEWAY_TQ=$(batctl gwl | grep "^=>" | awk -F'[()]' '{print $2}'| tr -d " ") # Grep the connection quality of the gateway which is currently used
if [ ! "$GATEWAY_TQ" ]; # If there is no gateway there will be errors in the following if clauses
then
--
2.7.4
Mehr Informationen über die Mailingliste franken-dev