base-files: drop fwtool_pre_upgrade
[openwrt/staging/wigyori.git] / package / base-files / files / lib / upgrade / fwtool.sh
1 fwtool_check_image() {
2 [ $# -gt 1 ] && return 1
3
4 . /usr/share/libubox/jshn.sh
5
6 if ! fwtool -q -i /tmp/sysupgrade.meta "$1"; then
7 echo "Image metadata not found"
8 [ "$REQUIRE_IMAGE_METADATA" = 1 -a "$FORCE" != 1 ] && {
9 echo "Use sysupgrade -F to override this check when downgrading or flashing to vendor firmware"
10 }
11 [ "$REQUIRE_IMAGE_METADATA" = 1 ] && return 1
12 return 0
13 fi
14
15 json_load "$(cat /tmp/sysupgrade.meta)" || {
16 echo "Invalid image metadata"
17 return 1
18 }
19
20 device="$(cat /tmp/sysinfo/board_name)"
21
22 json_select supported_devices || return 1
23
24 json_get_keys dev_keys
25 for k in $dev_keys; do
26 json_get_var dev "$k"
27 [ "$dev" = "$device" ] && return 0
28 done
29
30 echo "Device $device not supported by this image"
31 echo -n "Supported devices:"
32 for k in $dev_keys; do
33 json_get_var dev "$k"
34 echo -n " $dev"
35 done
36 echo
37
38 return 1
39 }