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 | include $(INCLUDE_DIR)/version.mk | ||||||
|  |  | ||||||
| PKG_NAME:=base-files | PKG_NAME:=base-files | ||||||
| PKG_RELEASE:=114 | PKG_RELEASE:=115 | ||||||
|  |  | ||||||
| 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 | ||||||
|   | |||||||
| @@ -11,6 +11,7 @@ export SAVE_OVERLAY=0 | |||||||
| export DELAY= | export DELAY= | ||||||
| export CONF_IMAGE= | export CONF_IMAGE= | ||||||
| export CONF_BACKUP= | export CONF_BACKUP= | ||||||
|  | export CONF_RESTORE= | ||||||
| export HELP=0 | export HELP=0 | ||||||
| export FORCE=0 | export FORCE=0 | ||||||
|  |  | ||||||
| @@ -24,6 +25,7 @@ while [ -n "$1" ]; do | |||||||
| 		-n) export SAVE_CONFIG=0;; | 		-n) export SAVE_CONFIG=0;; | ||||||
| 		-c) export SAVE_OVERLAY=1;; | 		-c) export SAVE_OVERLAY=1;; | ||||||
| 		-b|--create-backup) export CONF_BACKUP="$2"; shift;; | 		-b|--create-backup) export CONF_BACKUP="$2"; shift;; | ||||||
|  | 		-r|--restore-backup) export CONF_RESTORE="$2"; shift;; | ||||||
| 		-f) export CONF_IMAGE="$2"; shift;; | 		-f) export CONF_IMAGE="$2"; shift;; | ||||||
| 		-F|--force) export FORCE=1;; | 		-F|--force) export FORCE=1;; | ||||||
| 		-h|--help) export HELP=1; break;; | 		-h|--help) export HELP=1; break;; | ||||||
| @@ -55,6 +57,10 @@ Options: | |||||||
| 	             create .tar.gz of files specified in sysupgrade.conf | 	             create .tar.gz of files specified in sysupgrade.conf | ||||||
| 	             then exit. Does not flash an image. If file is '-', | 	             then exit. Does not flash an image. If file is '-', | ||||||
| 	             i.e. stdout, verbosity is set to 0 (i.e. quiet). | 	             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 | 	-n           do not save configuration over reflash | ||||||
| 	-F / --force | 	-F / --force | ||||||
| 	             Flash image even if image checks fail, this is dangerous! | 	             Flash image even if image checks fail, this is dangerous! | ||||||
| @@ -126,6 +132,12 @@ if [ -n "$CONF_BACKUP" ]; then | |||||||
| 	exit $? | 	exit $? | ||||||
| fi | 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 || { | type platform_check_image >/dev/null 2>/dev/null || { | ||||||
| 	echo "Firmware upgrade is not implemented for this platform." | 	echo "Firmware upgrade is not implemented for this platform." | ||||||
| 	exit 1 | 	exit 1 | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Jo-Philipp Wich
					Jo-Philipp Wich