aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2013-07-30 16:42:05 +0000
committerJo-Philipp Wich <jow@openwrt.org>2013-07-30 16:42:05 +0000
commit2771edf6477617dfff7c8f89bd1662bc96ae496c (patch)
tree25c7000d2ca28babcc450906569b514744defde5
parent28d03a9983e9877e1c09bb0747bba0dfc08c6dc8 (diff)
downloadupstream-2771edf6477617dfff7c8f89bd1662bc96ae496c.tar.gz
upstream-2771edf6477617dfff7c8f89bd1662bc96ae496c.tar.bz2
upstream-2771edf6477617dfff7c8f89bd1662bc96ae496c.zip
base-files: implement -T (--test) sysupgrade parameter to verify image without actually flashing it
SVN-Revision: 37620
-rw-r--r--package/base-files/Makefile2
-rwxr-xr-xpackage/base-files/files/sbin/sysupgrade10
2 files changed, 10 insertions, 2 deletions
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index 9c226c40af..dcae920f9a 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/version.mk
PKG_NAME:=base-files
-PKG_RELEASE:=143
+PKG_RELEASE:=144
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
PKG_BUILD_DEPENDS:=opkg/host
diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
index c507c3bfdf..49c34b8073 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/package/base-files/files/sbin/sysupgrade
@@ -15,6 +15,7 @@ export CONF_RESTORE=
export NEED_IMAGE=
export HELP=0
export FORCE=0
+export TEST=0
# parse options
while [ -n "$1" ]; do
@@ -29,6 +30,7 @@ while [ -n "$1" ]; do
-r|--restore-backup) export CONF_RESTORE="$2" NEED_IMAGE=1; shift;;
-f) export CONF_IMAGE="$2"; shift;;
-F|--force) export FORCE=1;;
+ -T|--test) export TEST=1;;
-h|--help) export HELP=1; break;;
-*)
echo "Invalid option: $1"
@@ -56,6 +58,8 @@ upgrade-option:
-i interactive mode
-c attempt to preserve all changed files in /etc/
-n do not save configuration over reflash
+ -T | --test
+ Verify image and config .tar.gz but do not actually flash.
-F | --force
Flash image even if image checks fail, this is dangerous!
-q less verbose
@@ -171,12 +175,16 @@ if [ -n "$CONF_IMAGE" ]; then
get_image "$CONF_IMAGE" "cat" > "$CONF_TAR"
export SAVE_CONFIG=1
elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
- do_save_conffiles
+ [ $TEST -eq 1 ] || do_save_conffiles
export SAVE_CONFIG=1
else
export SAVE_CONFIG=0
fi
+if [ $TEST -eq 1 ]; then
+ exit 0
+fi
+
run_hooks "" $sysupgrade_pre_upgrade
ubus call system upgrade