On bcm53xx and brcm47xx, commands are passed to default_do_upgrade that
expect the image to be passed on stdin, rather than as an argument.
Fixes: 30f61a34b4cf ("base-files: always use staged sysupgrade")
Signed-off-by: Matthias Schiffer <mschiffer@universe-factory.net>
get_image() { # <source> [ <command> ]
local from="$1"
get_image() { # <source> [ <command> ]
local from="$1"
local magic="$(dd if="$from" bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')"
case "$magic" in
local magic="$(dd if="$from" bs=2 count=1 2>/dev/null | hexdump -n 2 -e '1/1 "%02x"')"
case "$magic" in
- 1f8b) cat="zcat";;
- 425a) cat="bzcat";;
- *) cat="cat";;
+ 1f8b) cmd="zcat";;
+ 425a) cmd="bzcat";;
+ *) cmd="cat";;
- $cat "$from" 2>/dev/null
+ cat "$from" 2>/dev/null | $cmd