mirror of
https://github.com/openwrt/openwrt.git
synced 2024-12-23 23:42:43 +00:00
base-files: Fix sysupgrade .tar.gz configuration restoring
SVN-Revision: 16626
This commit is contained in:
parent
115aced5c7
commit
baa9053e7a
@ -105,26 +105,26 @@ rootfs_type() {
|
|||||||
|
|
||||||
get_image() { # <source> [ <command> ]
|
get_image() { # <source> [ <command> ]
|
||||||
local from="$1"
|
local from="$1"
|
||||||
local cmd="$2"
|
local conc="$2"
|
||||||
local conc
|
local cmd
|
||||||
|
|
||||||
if [ -z "$cmd" ]; then
|
case "$from" in
|
||||||
case "$from" in
|
http://*|ftp://*) cmd="wget -O- -q";;
|
||||||
http://*|ftp://*) cmd="wget -O- -q";;
|
*) cmd="cat";;
|
||||||
*) cmd="cat";;
|
esac
|
||||||
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"')"
|
local magic="$(eval $cmd $from | dd bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')"
|
||||||
case "$magic" in
|
case "$magic" in
|
||||||
1f8b) conc="| zcat";;
|
1f8b) conc="zcat";;
|
||||||
425a) conc="| bzcat";;
|
425a) conc="bzcat";;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
eval "$cmd $from $conc"
|
eval "$cmd $from ${conc:+| $conc}"
|
||||||
}
|
}
|
||||||
|
|
||||||
get_magic_word() {
|
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() {
|
refresh_mtd_partitions() {
|
||||||
|
@ -88,7 +88,7 @@ for check in $sysupgrade_image_check; do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [ -n "$CONF_IMAGE" ]; then
|
if [ -n "$CONF_IMAGE" ]; then
|
||||||
case "$(get_magic_word "$CONF_IMAGE")" in
|
case "$(get_magic_word $CONF_IMAGE cat)" in
|
||||||
# .gz files
|
# .gz files
|
||||||
1f8b) ;;
|
1f8b) ;;
|
||||||
*)
|
*)
|
||||||
|
Loading…
Reference in New Issue
Block a user