aboutsummaryrefslogtreecommitdiffstats
path: root/package/base-files/files/sbin/sysupgrade
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files/files/sbin/sysupgrade')
-rwxr-xr-xpackage/base-files/files/sbin/sysupgrade25
1 files changed, 11 insertions, 14 deletions
diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
index 6c518b780e..abd34bdcfb 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -360,18 +360,15 @@ if [ -n "$FAILSAFE" ]; then
printf '%s\x00%s\x00%s' "$RAM_ROOT" "$IMAGE" "$COMMAND" >/tmp/sysupgrade
lock -u /tmp/.failsafe
else
- force_attr=""
- [ $FORCE -eq 1 ] && force_attr="\"force\": true,"
- backup_attr=""
- [ $SAVE_CONFIG -eq 1 ] && backup_attr="\"backup\": $(json_string $CONF_TAR),"
- ubus call system sysupgrade "{
- \"prefix\": $(json_string "$RAM_ROOT"),
- \"path\": $(json_string "$IMAGE"),
- $force_attr
- $backup_attr
- \"command\": $(json_string "$COMMAND"),
- \"options\": {
- \"save_partitions\": $SAVE_PARTITIONS
- }
- }"
+ json_init
+ json_add_string prefix "$RAM_ROOT"
+ json_add_string path "$IMAGE"
+ [ $FORCE -eq 1 ] && json_add_boolean force 1
+ [ $SAVE_CONFIG -eq 1 ] && json_add_string backup "$CONF_TAR"
+ json_add_string command "$COMMAND"
+ json_add_object options
+ json_add_int save_partitions "$SAVE_PARTITIONS"
+ json_close_object
+
+ ubus call system sysupgrade "$(json_dump)"
fi