[OpenWrt-Devel] [PATCH 1/2] base-files: pass "save_config" option to the "sysupgrade" method
Rafał Miłecki
zajec5 at gmail.com
Fri Aug 16 11:05:16 EDT 2019
From: Rafał Miłecki <rafal at milecki.pl>
This explicitly lets stage2 know if config should be preserved.
Signed-off-by: Rafał Miłecki <rafal at 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 at lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel
More information about the openwrt-devel
mailing list