web-admin: ignore minor compat-version on upgrade (#2590)
This implements the same behavior as it is used in the autoupdater [1].
This is for example required to allow the manual installation of
firmware upgrades via the config mode on devices which where migrated
from swconfig to DSA. Otherwise the image will always be invalid.
[1] b804281664
This commit is contained in:
parent
20eea9b9ca
commit
75ceb0d963
@ -17,6 +17,7 @@ local unistd = require 'posix.unistd'
|
||||
|
||||
local file
|
||||
local tmpfile = "/tmp/firmware.img"
|
||||
local compat_option = "--ignore-minor-compat-version"
|
||||
|
||||
|
||||
local function filehandler(_, chunk, eof)
|
||||
@ -64,7 +65,7 @@ local function action_upgrade(http, renderer)
|
||||
end
|
||||
|
||||
local function image_supported(supported_tmpfile)
|
||||
return (os.execute(string.format("exec /sbin/sysupgrade -T %q >/dev/null", supported_tmpfile)) == 0)
|
||||
return (os.execute(string.format("exec /sbin/sysupgrade -T %s %q >/dev/null", compat_option, supported_tmpfile)) == 0)
|
||||
end
|
||||
|
||||
local function storage_size()
|
||||
@ -122,7 +123,7 @@ local function action_upgrade(http, renderer)
|
||||
}, 'gluon-web-admin')
|
||||
|
||||
elseif step == 3 then
|
||||
local cmd = {[0] = '/sbin/sysupgrade', tmpfile}
|
||||
local cmd = {[0] = '/sbin/sysupgrade', compat_option, tmpfile}
|
||||
if http:formvalue('keepcfg') ~= '1' then
|
||||
table.insert(cmd, 1, '-n')
|
||||
end
|
||||
|
Loading…
Reference in New Issue
Block a user