base-files: implement -T (--test) sysupgrade parameter to verify image without actually flashing it

SVN-Revision: 37620
v19.07.3_mercusys_ac12_duma
Jo-Philipp Wich 11 years ago
parent 28d03a9983
commit 2771edf647

@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk
include $(INCLUDE_DIR)/version.mk include $(INCLUDE_DIR)/version.mk
PKG_NAME:=base-files PKG_NAME:=base-files
PKG_RELEASE:=143 PKG_RELEASE:=144
PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/
PKG_BUILD_DEPENDS:=opkg/host PKG_BUILD_DEPENDS:=opkg/host

@ -15,6 +15,7 @@ export CONF_RESTORE=
export NEED_IMAGE= export NEED_IMAGE=
export HELP=0 export HELP=0
export FORCE=0 export FORCE=0
export TEST=0
# parse options # parse options
while [ -n "$1" ]; do while [ -n "$1" ]; do
@ -29,6 +30,7 @@ while [ -n "$1" ]; do
-r|--restore-backup) export CONF_RESTORE="$2" NEED_IMAGE=1; shift;; -r|--restore-backup) export CONF_RESTORE="$2" NEED_IMAGE=1; shift;;
-f) export CONF_IMAGE="$2"; shift;; -f) export CONF_IMAGE="$2"; shift;;
-F|--force) export FORCE=1;; -F|--force) export FORCE=1;;
-T|--test) export TEST=1;;
-h|--help) export HELP=1; break;; -h|--help) export HELP=1; break;;
-*) -*)
echo "Invalid option: $1" echo "Invalid option: $1"
@ -56,6 +58,8 @@ upgrade-option:
-i interactive mode -i interactive mode
-c attempt to preserve all changed files in /etc/ -c attempt to preserve all changed files in /etc/
-n do not save configuration over reflash -n do not save configuration over reflash
-T | --test
Verify image and config .tar.gz but do not actually flash.
-F | --force -F | --force
Flash image even if image checks fail, this is dangerous! Flash image even if image checks fail, this is dangerous!
-q less verbose -q less verbose
@ -171,12 +175,16 @@ if [ -n "$CONF_IMAGE" ]; then
get_image "$CONF_IMAGE" "cat" > "$CONF_TAR" get_image "$CONF_IMAGE" "cat" > "$CONF_TAR"
export SAVE_CONFIG=1 export SAVE_CONFIG=1
elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then elif ask_bool $SAVE_CONFIG "Keep config files over reflash"; then
do_save_conffiles [ $TEST -eq 1 ] || do_save_conffiles
export SAVE_CONFIG=1 export SAVE_CONFIG=1
else else
export SAVE_CONFIG=0 export SAVE_CONFIG=0
fi fi
if [ $TEST -eq 1 ]; then
exit 0
fi
run_hooks "" $sysupgrade_pre_upgrade run_hooks "" $sysupgrade_pre_upgrade
ubus call system upgrade ubus call system upgrade

Loading…
Cancel
Save