From: Rafał Miłecki <rafal@milecki.pl>
Date: Fri, 6 Sep 2019 05:10:52 +0000 (+0200)
Subject: base-files: sysupgrade: pass "backup" ubus attribute
X-Git-Tag: v1.5.0-rc2~23
X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=11de406764febfa29fce6933d55a3ec763937c1b;p=librecmc%2Flibrecmc.git

base-files: sysupgrade: pass "backup" ubus attribute

This explicitly tells procd what backup file should be used during
sysupgrade (if any). It's much more generic this way compared to the
magic /tmp/sysupgrade.tgz file that had to be created before a call.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
(cherry picked from commit c5223b26a40ae61fc7750bf865464048af328ab1)
---

diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
index f106c3c981..f18143bff4 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -362,10 +362,13 @@ if [ -n "$FAILSAFE" ]; then
 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_config\": $SAVE_CONFIG,