On Mon, Jan 02, 2023 at 03:25:27PM -0800, Brian Norris wrote:
> emmc_do_upgrade() relies on identify() from the nand.sh upgrade helper.
> This only works because FEATURES=emmc targets also tend to include
> FEATURES=nand.
> 
> Signed-off-by: Brian Norris <computersforpe...@gmail.com>
> ---
> 
>  .../base-files/files/lib/upgrade/common.sh    | 27 ++++++++++++++++
>  package/base-files/files/lib/upgrade/emmc.sh  |  2 +-
>  package/base-files/files/lib/upgrade/nand.sh  | 32 ++-----------------
>  3 files changed, 30 insertions(+), 31 deletions(-)
> 
> diff --git a/package/base-files/files/lib/upgrade/common.sh 
> b/package/base-files/files/lib/upgrade/common.sh
> index 5af061f6a439..53b8865a5788 100644
> --- a/package/base-files/files/lib/upgrade/common.sh
> +++ b/package/base-files/files/lib/upgrade/common.sh
> @@ -127,6 +127,33 @@ get_magic_fat32() {
>       (get_image "$@" | dd bs=1 count=5 skip=82) 2>/dev/null
>  }
>  
> +identify_magic_long() {
> +     local magic=$1
> +     case "$magic" in
> +             "55424923")
> +                     echo "ubi"
> +                     ;;
> +             "31181006")
> +                     echo "ubifs"
> +                     ;;
> +             "68737173")
> +                     echo "squashfs"
> +                     ;;
> +             "d00dfeed")
> +                     echo "fit"
> +                     ;;
> +             "4349"*)
> +                     echo "combined"
> +                     ;;
> +             "1f8b"*)
> +                     echo "gzip"
> +                     ;;
> +             *)
> +                     echo "unknown $magic"
> +                     ;;
> +     esac
> +}
> +
>  part_magic_efi() {
>       local magic=$(get_magic_gpt "$@")
>       [ "$magic" = "EFI PART" ]
> diff --git a/package/base-files/files/lib/upgrade/emmc.sh 
> b/package/base-files/files/lib/upgrade/emmc.sh
> index c3b02864aa91..49cffe1c658b 100644
> --- a/package/base-files/files/lib/upgrade/emmc.sh
> +++ b/package/base-files/files/lib/upgrade/emmc.sh
> @@ -58,7 +58,7 @@ emmc_copy_config() {
>  }
>  
>  emmc_do_upgrade() {
> -     local file_type=$(identify $1)
> +     local file_type=$(identify_magic_long "$(get_magic_long "$1")")
>  
>       case "$file_type" in
>               "fit")  emmc_upgrade_fit $1;;
> diff --git a/package/base-files/files/lib/upgrade/nand.sh 
> b/package/base-files/files/lib/upgrade/nand.sh
> index a8e3cab0b8b1..a1dbd6e2663d 100644
> --- a/package/base-files/files/lib/upgrade/nand.sh
> +++ b/package/base-files/files/lib/upgrade/nand.sh
> @@ -65,40 +65,12 @@ get_magic_long_tar() {
>       (tar xO${3}f "$1" "$2" | dd bs=4 count=1 | hexdump -v -n 4 -e '1/1 
> "%02x"') 2> /dev/null
>  }
>  
> -identify_magic() {
> -     local magic=$1
> -     case "$magic" in
> -             "55424923")
> -                     echo "ubi"
> -                     ;;
> -             "31181006")
> -                     echo "ubifs"
> -                     ;;
> -             "68737173")
> -                     echo "squashfs"
> -                     ;;
> -             "d00dfeed")
> -                     echo "fit"
> -                     ;;
> -             "4349"*)
> -                     echo "combined"
> -                     ;;
> -             "1f8b"*)
> -                     echo "gzip"
> -                     ;;
> -             *)
> -                     echo "unknown $magic"
> -                     ;;
> -     esac
> -}
> -
> -
>  identify() {
> -     identify_magic $(nand_get_magic_long "$@")
> +     identify_magic_long $(nand_get_magic_long "$@")

Should we really change the name from identify_magic to
identify_magic_long?

>  }
>  
>  identify_tar() {
> -     identify_magic $(get_magic_long_tar "$@")
> +     identify_magic_long $(get_magic_long_tar "$@")
>  }
>  
>  identify_if_gzip() {
> -- 
> 2.39.0
> 
> 
> _______________________________________________
> openwrt-devel mailing list
> openwrt-devel@lists.openwrt.org
> https://lists.openwrt.org/mailman/listinfo/openwrt-devel

-- 
        Ansuel

_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to