summaryrefslogtreecommitdiffhomepage
path: root/modules/admin-full/luasrc/controller
diff options
context:
space:
mode:
Diffstat (limited to 'modules/admin-full/luasrc/controller')
-rw-r--r--modules/admin-full/luasrc/controller/admin/system.lua9
1 files changed, 6 insertions, 3 deletions
diff --git a/modules/admin-full/luasrc/controller/admin/system.lua b/modules/admin-full/luasrc/controller/admin/system.lua
index 01663a4c3..8e3a3d799 100644
--- a/modules/admin-full/luasrc/controller/admin/system.lua
+++ b/modules/admin-full/luasrc/controller/admin/system.lua
@@ -155,7 +155,7 @@ function action_packages()
end
function action_backup()
- local reset_avail = luci.sys.exec([[grep '"rootfs_data"' /proc/mtd >/dev/null 2>&1]]) == 0
+ local reset_avail = os.execute([[grep '"rootfs_data"' /proc/mtd >/dev/null 2>&1]]) == 0
local restore_cmd = "gunzip | tar -xC/ >/dev/null 2>&1"
local backup_cmd = "tar -c %s | gzip 2>/dev/null"
@@ -242,7 +242,10 @@ function action_upgrade()
local ret = nil
local plat = luci.fs.mtime("/lib/upgrade/platform.sh")
+ local broadcom = os.execute('grep brcm_ /lib/upgrade/platform.sh >/dev/null 2>&1') == 0
local tmpfile = "/tmp/firmware.img"
+
+ local keep_avail = not broadcom
local file
luci.http.setfilehandler(
@@ -260,13 +263,13 @@ function action_upgrade()
)
local fname = luci.http.formvalue("image")
- local keepcfg = luci.http.formvalue("keepcfg")
+ local keepcfg = keep_avail and luci.http.formvalue("keepcfg")
if plat and fname then
ret = luci.sys.flash(tmpfile, keepcfg and _keep_pattern())
end
- luci.template.render("admin_system/upgrade", {sysupgrade=plat, ret=ret})
+ luci.template.render("admin_system/upgrade", {sysupgrade=plat, ret=ret, keep_avail=keep_avail})
end
function _keep_pattern()