Ver código fonte

base-files: fix nand_do_platform_check fail

This change ensures compatibility with both types of sysupgrade-tar files.

1. For some boards like xiaomi,redmi-router-ax6s, sysupgrade-tar
   is pack in directory `vendor,name/`

2. For some boards like xiaomi,mi-router-3g, sysupgrade-tar is pack
   in directory `vendor_name/`

Signed-off-by: Chen Minqiang <[email protected]>
Chen Minqiang 2 anos atrás
pai
commit
781a3ae5dc
1 arquivos alterados com 5 adições e 1 exclusões
  1. 5 1
      package/base-files/files/lib/upgrade/nand.sh

+ 5 - 1
package/base-files/files/lib/upgrade/nand.sh

@@ -453,7 +453,11 @@ nand_do_platform_check() {
 
 	local gz="$(identify_if_gzip "$file")"
 	local file_type="$(identify "$file" "" "$gz")"
-	local control_length=$( (tar xO${gz}f "$file" "sysupgrade-$board_name/CONTROL" | wc -c) 2> /dev/null)
+	local control_length=$( (tar xO${gz}f "$file" "sysupgrade-${board_name//,/_}/CONTROL" | wc -c) 2> /dev/null)
+
+	if [ "$control_length" = 0 ]; then
+		control_length=$( (tar xO${gz}f "$file" "sysupgrade-${board_name//_/,}/CONTROL" | wc -c) 2> /dev/null)
+	fi
 
 	if [ "$control_length" != 0 ]; then
 		nand_verify_tar_file "$file" "$gz" || return 1