base-files: provide a sysupgrade -r (--restore-backup) option as convenience wrapper for tar -C / -x(v)zf
SVN-Revision: 33147
This commit is contained in:
		| @@ -11,7 +11,7 @@ include $(INCLUDE_DIR)/kernel.mk | ||||
| include $(INCLUDE_DIR)/version.mk | ||||
|  | ||||
| PKG_NAME:=base-files | ||||
| PKG_RELEASE:=114 | ||||
| PKG_RELEASE:=115 | ||||
|  | ||||
| PKG_FILE_DEPENDS:=$(PLATFORM_DIR)/ $(GENERIC_PLATFORM_DIR)/base-files/ | ||||
| PKG_BUILD_DEPENDS:=opkg/host | ||||
|   | ||||
| @@ -11,6 +11,7 @@ export SAVE_OVERLAY=0 | ||||
| export DELAY= | ||||
| export CONF_IMAGE= | ||||
| export CONF_BACKUP= | ||||
| export CONF_RESTORE= | ||||
| export HELP=0 | ||||
| export FORCE=0 | ||||
|  | ||||
| @@ -24,6 +25,7 @@ while [ -n "$1" ]; do | ||||
| 		-n) export SAVE_CONFIG=0;; | ||||
| 		-c) export SAVE_OVERLAY=1;; | ||||
| 		-b|--create-backup) export CONF_BACKUP="$2"; shift;; | ||||
| 		-r|--restore-backup) export CONF_RESTORE="$2"; shift;; | ||||
| 		-f) export CONF_IMAGE="$2"; shift;; | ||||
| 		-F|--force) export FORCE=1;; | ||||
| 		-h|--help) export HELP=1; break;; | ||||
| @@ -55,6 +57,10 @@ Options: | ||||
| 	             create .tar.gz of files specified in sysupgrade.conf | ||||
| 	             then exit. Does not flash an image. If file is '-', | ||||
| 	             i.e. stdout, verbosity is set to 0 (i.e. quiet). | ||||
| 	-r / --restore-backup <file> | ||||
| 	             restore a .tar.gz created with sysupgrade -b | ||||
| 	             then exit. Does not flash an image. If file is '-', | ||||
| 	             the archive is read from stdin. | ||||
| 	-n           do not save configuration over reflash | ||||
| 	-F / --force | ||||
| 	             Flash image even if image checks fail, this is dangerous! | ||||
| @@ -126,6 +132,12 @@ if [ -n "$CONF_BACKUP" ]; then | ||||
| 	exit $? | ||||
| fi | ||||
|  | ||||
| if [ -f "$CONF_RESTORE" ] || [ "$CONF_RESTORE" = "-" ]; then | ||||
| 	[ "$VERBOSE" -gt 1 ] && TAR_V="v" || TAR_V="" | ||||
| 	tar -C / -x${TAR_V}zf "$CONF_RESTORE" | ||||
| 	exit $? | ||||
| fi | ||||
|  | ||||
| type platform_check_image >/dev/null 2>/dev/null || { | ||||
| 	echo "Firmware upgrade is not implemented for this platform." | ||||
| 	exit 1 | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich