summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVasilis Tsiligiannis <acinonyx@openwrt.gr>2009-06-29 21:13:05 +0000
committerVasilis Tsiligiannis <acinonyx@openwrt.gr>2009-06-29 21:13:05 +0000
commitbaa9053e7a6047867726db77992a453c1f32a08d (patch)
tree9438a58468df742f07af10b8a91f6ae49811d4e8
parent115aced5c77eb36252faf4fa6a96cd956f0a0c58 (diff)
downloadmtk-20170518-baa9053e7a6047867726db77992a453c1f32a08d.zip
mtk-20170518-baa9053e7a6047867726db77992a453c1f32a08d.tar.gz
mtk-20170518-baa9053e7a6047867726db77992a453c1f32a08d.tar.bz2
base-files: Fix sysupgrade .tar.gz configuration restoring
SVN-Revision: 16626
-rw-r--r--package/base-files/files/lib/upgrade/common.sh24
-rwxr-xr-xpackage/base-files/files/sbin/sysupgrade2
2 files changed, 13 insertions, 13 deletions
diff --git a/package/base-files/files/lib/upgrade/common.sh b/package/base-files/files/lib/upgrade/common.sh
index 2c39249..06c257b 100644
--- a/package/base-files/files/lib/upgrade/common.sh
+++ b/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() {
diff --git a/package/base-files/files/sbin/sysupgrade b/package/base-files/files/sbin/sysupgrade
index f25195a..fb1e91a 100755
--- a/package/base-files/files/sbin/sysupgrade
+++ b/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) ;;
*)