aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <rafal@milecki.pl>2019-08-16 16:54:38 +0200
committerJo-Philipp Wich <jo@mein.io>2019-09-04 13:42:40 +0200
commitf25d164aca80ff7c21ebb99b95e5f7db11fe21b3 (patch)
tree72152d9f555a00b14b656bbe097fae2ce85ebb76
parent4e85dc95b02878f36d19a142f0eb26fd92abdbc1 (diff)
downloadupstream-f25d164aca80ff7c21ebb99b95e5f7db11fe21b3.tar.gz
upstream-f25d164aca80ff7c21ebb99b95e5f7db11fe21b3.tar.bz2
upstream-f25d164aca80ff7c21ebb99b95e5f7db11fe21b3.zip
base-files: pass "save_config" option to the "sysupgrade" method
This explicitly lets stage2 know if config should be preserved. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> (cherry picked from commit b534ba96110012d2697d19d71b7dcd60bd4cd375)
-rw-r--r--package/base-files/files/lib/upgrade/common.sh2
-rwxr-xr-xpackage/base-files/files/lib/upgrade/do_stage22
-rwxr-xr-xpackage/base-files/files/lib/upgrade/stage22
-rwxr-xr-xpackage/base-files/files/sbin/sysupgrade5
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