From: Rafał Miłecki <ra...@milecki.pl>

This explicitly lets stage2 know if config should be preserved.

Signed-off-by: Rafał Miłecki <ra...@milecki.pl>
---
 package/base-files/files/lib/upgrade/common.sh | 2 +-
 package/base-files/files/lib/upgrade/do_stage2 | 2 +-
 package/base-files/files/lib/upgrade/stage2    | 2 --
 package/base-files/files/sbin/sysupgrade       | 5 ++++-
 4 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/package/base-files/files/lib/upgrade/common.sh 
b/package/base-files/files/lib/upgrade/common.sh
index 2afa0addb4..efa301cd95 100644
--- a/package/base-files/files/lib/upgrade/common.sh
+++ b/package/base-files/files/lib/upgrade/common.sh
@@ -218,7 +218,7 @@ indicate_upgrade() {
 # $(2): (optional) pipe command to extract firmware, e.g. dd bs=n skip=m
 default_do_upgrade() {
        sync
-       if [ "$SAVE_CONFIG" -eq 1 ]; then
+       if [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ]; then
                get_image "$1" "$2" | mtd $MTD_ARGS $MTD_CONFIG_ARGS -j 
"$CONF_TAR" write - "${PART_NAME:-image}"
        else
                get_image "$1" "$2" | mtd $MTD_ARGS write - 
"${PART_NAME:-image}"
diff --git a/package/base-files/files/lib/upgrade/do_stage2 
b/package/base-files/files/lib/upgrade/do_stage2
index 8aae452560..0e6cc1bfc3 100755
--- a/package/base-files/files/lib/upgrade/do_stage2
+++ b/package/base-files/files/lib/upgrade/do_stage2
@@ -11,7 +11,7 @@ else
        default_do_upgrade "$IMAGE"
 fi
 
-if [ "$SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' >/dev/null 
2>/dev/null; then
+if [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 1 ] && type 'platform_copy_config' 
>/dev/null 2>/dev/null; then
        platform_copy_config
 fi
 
diff --git a/package/base-files/files/lib/upgrade/stage2 
b/package/base-files/files/lib/upgrade/stage2
index fef121f37c..4e5837af83 100755
--- a/package/base-files/files/lib/upgrade/stage2
+++ b/package/base-files/files/lib/upgrade/stage2
@@ -6,7 +6,6 @@
 export IMAGE="$1"
 COMMAND="$2"
 
-export SAVE_CONFIG=1
 export SAVE_PARTITIONS=1
 
 export INTERACTIVE=0
@@ -18,7 +17,6 @@ RAMFS_COPY_BIN=               # extra programs for temporary 
ramfs root
 RAMFS_COPY_DATA=       # extra data files
 
 
-[ -f "$CONF_TAR" ] || export SAVE_CONFIG=0
 [ -f /tmp/sysupgrade.always.overwrite.bootdisk.partmap ] && export 
SAVE_PARTITIONS=0
 
 include /lib/upgrade
diff --git a/package/base-files/files/sbin/sysupgrade 
b/package/base-files/files/sbin/sysupgrade
index 001e644476..15514159b3 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -369,6 +369,9 @@ else
        ubus call system sysupgrade "{
                \"prefix\": $(json_string "$RAM_ROOT"),
                \"path\": $(json_string "$IMAGE"),
-               \"command\": $(json_string "$COMMAND")
+               \"command\": $(json_string "$COMMAND"),
+               \"options\": {
+                       \"save_config\": $SAVE_CONFIG
+               }
        }"
 fi
-- 
2.21.0


_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to