rpcd-mod-attendedsysupgrade: add keep_settings opt

as mentioned [here][1] some firmwares require to reset all settings.
this commit add a param "keep_settings" which changes the sysupgrade
parameter "-c" to "-n" to flush all configs

[1]: https://github.com/aparcar/gsoc17-attended-sysupgrade/issues/34

Signed-off-by: Paul Spooren <paul@spooren.de>
This commit is contained in:
Paul Spooren 2017-08-10 20:35:17 +02:00
parent ff22cc0af7
commit d1d6c63f64

View file

@ -5,20 +5,26 @@
case "$1" in
list)
json_init
json_add_object "sysupgrade"
json_add_boolean "keep_settings" 1
json_close_object
json_dump
;;
call)
case "$2" in
sysupgrade)
read input;
json_load "$input"
json_get_var keep_settings keep_settings
if [ -f "/tmp/sysupgrade.bin" ]; then
/etc/init.d/uhttpd stop
/etc/init.d/dropbear stop
sleep 1;
/sbin/sysupgrade -c /tmp/sysupgrade.bin
if [ "$keep_settings" -eq "0" ]; then
keep_settings_param="-n"
fi
/sbin/sysupgrade $keep_settings_param /tmp/sysupgrade.bin
fi
json_init
json_add_string "message" "could not find /tmp/sysupgrade.bin"