Skip to content
Snippets Groups Projects
Commit f9e5e332 authored by Matthias Schiffer's avatar Matthias Schiffer
Browse files

gluon-setup-mode: cleanup and upgrade fix

Since switching to Barrier Breaker/procd, we'd not notice if we were
upgrading from a version before renaming the config file to gluon-setup-mode
as the upgrade scripts run after the preinit.

Fix this by checking later during setup mode init again and rebooting into the
regular run mode if we detect this case.
parent f3ff07b1
No related branches found
No related tags found
No related merge requests found
...@@ -4,7 +4,17 @@ START=15 ...@@ -4,7 +4,17 @@ START=15
boot() { boot() {
lua -luci -e 'require "luci.model.uci"; uci_state=luci.model.uci.cursor_state(); uci_state:section("gluon-setup-mode", "setup_mode", nil, { running = "1" }); uci_state:save("gluon-setup-mode")' local enabled="$(uci -q get 'gluon-setup-mode.@setup_mode[0].enabled')"
local configured="$(uci -q get 'gluon-setup-mode.@setup_mode[0].configured')"
uci set 'gluon-setup-mode.@setup_mode[0].enabled=0' uci set 'gluon-setup-mode.@setup_mode[0].enabled=0'
uci commit gluon-setup-mode uci commit gluon-setup-mode
if [ "$enabled" = 1 -o "$configured" != 1 ]; then
lua -e 'uci_state=require("luci.model.uci").cursor_state(); uci_state:section("gluon-setup-mode", "setup_mode", nil, { running = "1" }); uci_state:save("gluon-setup-mode")'
else
# This can happen after an upgrade from a version before the config file was called gluon-setup-mode
# We'll just reboot to return to the normal mode...
reboot
fi
} }
#!/bin/sh #!/bin/sh
check_enable() { setup_mode_enable() {
local enabled local enabled="$(uci -q get 'gluon-setup-mode.@setup_mode[0].enabled')"
local configured local configured="$(uci -q get 'gluon-setup-mode.@setup_mode[0].configured')"
config_get enabled "$1" enabled
config_get configured "$1" configured
if [ "$enabled" = 1 -o "$configured" != 1 ]; then if [ "$enabled" = 1 -o "$configured" != 1 ]; then
echo '/lib/gluon/setup-mode/rc.d' > /tmp/rc_d_path echo '/lib/gluon/setup-mode/rc.d' > /tmp/rc_d_path
fi fi
}
setup_mode_enable() {
config_load gluon-setup-mode
config_foreach check_enable setup_mode
} }
boot_hook_add preinit_main setup_mode_enable boot_hook_add preinit_main setup_mode_enable
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment