summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBrian Norris <computersforpeace@gmail.com>2023-01-12 21:32:16 -0800
committerChristian Marangi <ansuelsmth@gmail.com>2023-01-21 01:02:23 +0100
commitd3c19c71f6044eff1677563365cea0f9e919b462 (patch)
treea1721b058c8b38f832454796079e7a85f52120cd
parentbf1634f318e191e7da17e34de98dbd7d5122ef8b (diff)
downloadopenwrt-d3c19c71f6044eff1677563365cea0f9e919b462.tar.gz
openwrt-d3c19c71f6044eff1677563365cea0f9e919b462.tar.bz2
openwrt-d3c19c71f6044eff1677563365cea0f9e919b462.zip
base-files: Remove nand.sh dependency from emmc upgrade
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. Rename identify_magic() to identify_magic_long() to match the common.sh style and make it clear it pairs with other *_long() variants (and not, say *_word()). Signed-off-by: Brian Norris <computersforpeace@gmail.com>
-rw-r--r--package/base-files/files/lib/upgrade/common.sh27
-rw-r--r--package/base-files/files/lib/upgrade/emmc.sh2
-rw-r--r--package/base-files/files/lib/upgrade/nand.sh32
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 5af061f6a4..53b8865a57 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 c3b02864aa..49cffe1c65 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 a8e3cab0b8..a1dbd6e266 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 "$@")
}
identify_tar() {
- identify_magic $(get_magic_long_tar "$@")
+ identify_magic_long $(get_magic_long_tar "$@")
}
identify_if_gzip() {