summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorManuel Munz <freifunk@somakoma.de>2011-07-04 22:45:10 +0000
committerManuel Munz <freifunk@somakoma.de>2011-07-04 22:45:10 +0000
commit528faebb01f6a37f2f72480605da722326e6699e (patch)
tree6e8f46525938b89244b242cdd1ee1042d7087d84
parentd7a4505cadf3c40975932e664f6128f067747c7a (diff)
contrib/meshwizard: Allow setting system config values via the community profiles
-rwxr-xr-xcontrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_system.sh12
-rwxr-xr-xcontrib/package/meshwizard/files/usr/bin/meshwizard/wizard.sh13
-rw-r--r--modules/freifunk/root/etc/config/freifunk4
3 files changed, 21 insertions, 8 deletions
diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_system.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_system.sh
new file mode 100755
index 0000000000..d6b30e3dd6
--- /dev/null
+++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/helpers/setup_system.sh
@@ -0,0 +1,12 @@
+#!/bin/sh
+# Sets values from /etc/config/freifunk and/or the community profile in /etc/config/system
+
+if [ -n "$(env | grep '^system_')" ]; then
+ echo "++++ Setup system"
+ env | grep "^system_" | sed "s/system_/uci set system.system./g" | while read line; do
+ eval $line
+ echo " $line"
+ done
+fi
+
+uci commit system
diff --git a/contrib/package/meshwizard/files/usr/bin/meshwizard/wizard.sh b/contrib/package/meshwizard/files/usr/bin/meshwizard/wizard.sh
index 547f44afd1..d6d7fb7cc4 100755
--- a/contrib/package/meshwizard/files/usr/bin/meshwizard/wizard.sh
+++ b/contrib/package/meshwizard/files/usr/bin/meshwizard/wizard.sh
@@ -32,7 +32,7 @@ export networks
[ -z "$networks" ] && echo "Error: No networks to setup could be found in /etc/config/meshwizard, aborting now." && exit 1
-echo "+++ wizard 0.0.1 +++
+echo "+++ wizard 0.0.2 +++
Community=$community
Network(s)=$networks"
@@ -49,6 +49,9 @@ done < /tmp/meshwizard.tmp
echo "++++ dnsmasq config"
$dir/helpers/setup_dnsmasq.sh
+# system
+ $dir/helpers/setup_system.sh
+
# Configure found networks
for net in $networks; do
@@ -87,12 +90,6 @@ for net in $networks; do
echo " Configuration of $net finished."
done
-##### Restart services
-#services="network olsrd dnsmasq luci_splash"
-#echo " Restarting services:"
-#for s in $services; do
-# /etc/init.d/$s restart >/dev/null 2>&1
-# echo " * $s"
-#done
+##### Reboot the router (because simply restarting services gave errors)
reboot
diff --git a/modules/freifunk/root/etc/config/freifunk b/modules/freifunk/root/etc/config/freifunk
index e69662cbb1..356f4d18f1 100644
--- a/modules/freifunk/root/etc/config/freifunk
+++ b/modules/freifunk/root/etc/config/freifunk
@@ -85,6 +85,10 @@ config 'fw_forwarding' 'fffwd'
option 'src' 'freifunk'
option 'dest' 'freifunk'
+config 'defaults' 'system'
+ option 'zonename' 'Europe/Berlin'
+ option 'timezone' 'CET-1CEST,M3.5.0,M10.5.0/3'
+
config 'defaults' 'wifi_device'
option 'channel' '1'
option 'diversity' '1'