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:
parent
ff22cc0af7
commit
d1d6c63f64
1 changed files with 17 additions and 11 deletions
|
@ -5,25 +5,31 @@
|
|||
case "$1" in
|
||||
list)
|
||||
json_init
|
||||
|
||||
json_add_object "sysupgrade"
|
||||
json_close_object
|
||||
|
||||
json_dump
|
||||
;;
|
||||
call)
|
||||
case "$2" in
|
||||
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"
|
||||
json_dump
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
|
|
Loading…
Reference in a new issue