Bläddra i källkod

base-files: Fix sysupgrade .tar.gz configuration restoring

SVN-Revision: 16626
Vasilis Tsiligiannis 16 år sedan
förälder
incheckning
baa9053e7a

+ 12 - 12
package/base-files/files/lib/upgrade/common.sh

@@ -105,26 +105,26 @@ rootfs_type() {
 
 get_image() { # <source> [ <command> ]
 	local from="$1"
-	local cmd="$2"
-	local conc
-
-	if [ -z "$cmd" ]; then
-		case "$from" in
-			http://*|ftp://*) cmd="wget -O- -q";;
-			*) cmd="cat";;
-		esac
+	local conc="$2"
+	local cmd
+
+	case "$from" in
+		http://*|ftp://*) cmd="wget -O- -q";;
+		*) cmd="cat";;
+	esac
+	if [ -z "$conc" ]; then
 		local magic="$(eval $cmd $from | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')"
 		case "$magic" in
-			1f8b) conc="| zcat";;
-			425a) conc="| bzcat";;
+			1f8b) conc="zcat";;
+			425a) conc="bzcat";;
 		esac
 	fi
 
-	eval "$cmd $from $conc"
+	eval "$cmd $from ${conc:+| $conc}"
 }
 
 get_magic_word() {
-	get_image "$1" | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"'
+	get_image "$@" | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"'
 }
 
 refresh_mtd_partitions() {

+ 1 - 1
package/base-files/files/sbin/sysupgrade

@@ -88,7 +88,7 @@ for check in $sysupgrade_image_check; do
 done
 
 if [ -n "$CONF_IMAGE" ]; then
-	case "$(get_magic_word "$CONF_IMAGE")" in
+	case "$(get_magic_word $CONF_IMAGE cat)" in
 		# .gz files
 		1f8b) ;;
 		*)