[PATCH 5/8] fff-config: Split uci-defaults script into early and late part

Adrian Schmutzler freifunk at adrianschmutzler.de
Mi Apr 10 16:31:15 CEST 2019


So far, the 98-configure-fff script did both the setup of the
/etc/config/fff file (if it is was not there) and the application
of settings from it.

In this script, the setup part is moved to a much earlier stage,
so /etc/config/fff is initialized when we need it in other scripts.

While at it, remove error suppression for uci set commands and
refine uci commit entries.

Signed-off-by: Adrian Schmutzler <freifunk at adrianschmutzler.de>
---
 .../fff-config/files/etc/uci-defaults/10-setup-fff  | 17 +++++++++++++++++
 .../files/etc/uci-defaults/98-configure-fff         | 21 +++++++++------------
 2 files changed, 26 insertions(+), 12 deletions(-)
 create mode 100644 src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff

diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff b/src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff
new file mode 100644
index 00000000..a63ff6a9
--- /dev/null
+++ b/src/packages/fff/fff-config/files/etc/uci-defaults/10-setup-fff
@@ -0,0 +1,17 @@
+#!/bin/sh
+# Copyright 2017 Adrian Schmutzler
+# License GPLv3
+
+# Set default values in /etc/config/fff
+
+touch /etc/config/fff
+
+if ! uci -q get fff.system > /dev/null ; then
+	uci set fff.system=fff
+	uci set "fff.system.hostname=FFF"
+fi
+
+uci set fff.ui=fff
+uci -q get fff.ui.portsetup > /dev/null || uci set "fff.ui.portsetup=default"
+
+uci commit fff
diff --git a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff
index aa6ac425..4d1748d4 100644
--- a/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff
+++ b/src/packages/fff/fff-config/files/etc/uci-defaults/98-configure-fff
@@ -2,27 +2,24 @@
 # Copyright 2017 Adrian Schmutzler
 # License GPLv3
 
-touch /etc/config/fff
-
-if ! uci -q get fff.system > /dev/null ; then
-	uci -q set fff.system=fff
-	uci -q set "fff.system.hostname=FFF"
-fi
+# Apply configuration
 
 FFF_hostname=$(uci -q get "fff.system.hostname")
-test -n "${FFF_hostname}" && uci -q set "system. at system[0].hostname=${FFF_hostname}"
+test -n "${FFF_hostname}" && uci set "system. at system[0].hostname=${FFF_hostname}"
 test -n "${FFF_hostname}" && echo "${FFF_hostname}" > /proc/sys/kernel/hostname
 
+uci commit system
+
 traffic_enabled=$(uci -q get "fff.trafficcontrol.enabled")
 traffic_in=$(uci -q get "fff.trafficcontrol.limit_in")
 traffic_out=$(uci -q get "fff.trafficcontrol.limit_out")
 
-test -n "${traffic_enabled}" && uci -q set "simple-tc.example.enabled=${traffic_enabled}"
-uci -q set "simple-tc.example.ifname=wan"
-uci -q set "simple-tc.example.limit_ingress=${traffic_in}"
-uci -q set "simple-tc.example.limit_egress=${traffic_out}"
+test -n "${traffic_enabled}" && uci set "simple-tc.example.enabled=${traffic_enabled}"
+uci set "simple-tc.example.ifname=wan"
+uci set "simple-tc.example.limit_ingress=${traffic_in}"
+uci set "simple-tc.example.limit_egress=${traffic_out}"
 
-uci -q commit
+uci commit simple-tc
 
 poe_passthrough=$(uci -q get "fff.poe_passthrough.active")
 if [ "$poe_passthrough" = "1" ] && [ -s /usr/lib/fff-support/activate_poe_passthrough.sh ] ; then
-- 
2.11.0



Mehr Informationen über die Mailingliste franken-dev