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

SVN-Revision: 16626
This commit is contained in:
Vasilis Tsiligiannis 2009-06-29 21:13:05 +00:00
parent 115aced5c7
commit baa9053e7a
2 changed files with 12 additions and 12 deletions

View File

@ -105,26 +105,26 @@ rootfs_type() {
get_image() { # <source> [ <command> ]
local from="$1"
local cmd="$2"
local conc
local conc="$2"
local cmd
if [ -z "$cmd" ]; then
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() {

View File

@ -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) ;;
*)