From d1d6c63f64ae9c88987a3ca7d8072029fa0f34dc Mon Sep 17 00:00:00 2001 From: Paul Spooren Date: Thu, 10 Aug 2017 20:35:17 +0200 Subject: [PATCH] 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 --- .../files/attendedsysupgrade.rpcd | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.rpcd b/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.rpcd index 20cf2c2b8..b2f4c5c87 100755 --- a/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.rpcd +++ b/utils/rpcd-mod-attendedsysupgrade/files/attendedsysupgrade.rpcd @@ -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