Revert "scripts: remove board name from the qualifiers in list_boards.py"

This reverts commit 66b475a3aa4d73f4ddd5be5a7a1e0f3c7028e539.

This commit has broken CI. Let's revert it.
See https://github.com/zephyrproject-rtos/zephyr/issues/70614

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
diff --git a/cmake/modules/boards.cmake b/cmake/modules/boards.cmake
index ee81b26..63e2b7a 100644
--- a/cmake/modules/boards.cmake
+++ b/cmake/modules/boards.cmake
@@ -285,14 +285,12 @@
       string(REGEX REPLACE "^//" "/${LIST_BOARD_SOCS}/" BOARD_QUALIFIERS "${BOARD_QUALIFIERS}")
     endif()
 
-    set(board_targets ${LIST_BOARD_QUALIFIERS})
-    list(TRANSFORM board_targets PREPEND "${BOARD}/")
-    if(NOT ("${BOARD}${BOARD_QUALIFIERS}" IN_LIST board_targets))
-      string(REPLACE ";" "\n" board_targets "${board_targets}")
+    if(NOT ("${BOARD}${BOARD_QUALIFIERS}" IN_LIST LIST_BOARD_QUALIFIERS))
+      string(REPLACE ";" "\n" LIST_BOARD_QUALIFIERS "${LIST_BOARD_QUALIFIERS}")
       unset(CACHED_BOARD CACHE)
       message(FATAL_ERROR "Board qualifiers `${BOARD_QUALIFIERS}` for board \
             `${BOARD}` not found. Please specify a valid board target.\n"
-            "Valid board targets for ${BOARD_NAME} are:\n${board_targets}\n")
+            "Valid board qualifiers for ${BOARD_NAME} are:\n${LIST_BOARD_QUALIFIERS}\n")
     endif()
   endif()
 else()
diff --git a/scripts/ci/check_compliance.py b/scripts/ci/check_compliance.py
index a77bd58..c351643 100755
--- a/scripts/ci/check_compliance.py
+++ b/scripts/ci/check_compliance.py
@@ -449,8 +449,7 @@
                 fp.write('config  ' + board_str + '\n')
                 fp.write('\t bool\n')
                 for qualifier in list_boards.board_v2_qualifiers(board):
-                    board_str = ('BOARD_' + board.name + '_' +
-                                 re.sub(r"[^a-zA-Z0-9_]", "_", qualifier)).upper()
+                    board_str = 'BOARD_' + re.sub(r"[^a-zA-Z0-9_]", "_", qualifier).upper()
                     fp.write('config  ' + board_str + '\n')
                     fp.write('\t bool\n')
                 fp.write(
diff --git a/scripts/list_boards.py b/scripts/list_boards.py
index 5321f31..03b1ada 100755
--- a/scripts/list_boards.py
+++ b/scripts/list_boards.py
@@ -275,10 +275,10 @@
                         help='''CMake Format string to use to list each board''')
 
 
-def variant_v2_qualifiers(variant, qualifiers = None):
-    qualifiers_list = [variant.name] if qualifiers is None else [qualifiers + '/' + variant.name]
+def variant_v2_qualifiers(variant, qualifiers):
+    qualifiers_list = [qualifiers + '/' + variant.name]
     for v in variant.variants:
-        qualifiers_list.extend(variant_v2_qualifiers(v, qualifiers_list[0]))
+        qualifiers_list.extend(variant_v2_qualifiers(v, qualifiers + '/' + variant.name))
     return qualifiers_list
 
 
@@ -288,17 +288,21 @@
     for s in board.socs:
         if s.cpuclusters:
             for c in s.cpuclusters:
-                id_str = s.name + '/' + c.name
+                id_str = board.name + '/' + s.name + '/' + c.name
                 qualifiers_list.append(id_str)
                 for v in c.variants:
                     qualifiers_list.extend(variant_v2_qualifiers(v, id_str))
         else:
-            qualifiers_list.append(s.name)
+            id_str = board.name + '/' + s.name
+            qualifiers_list.append(id_str)
             for v in s.variants:
-                qualifiers_list.extend(variant_v2_qualifiers(v, s.name))
+                qualifiers_list.extend(variant_v2_qualifiers(v, id_str))
+
+    if not board.socs:
+        qualifiers_list.append(board.name)
 
     for v in board.variants:
-        qualifiers_list.extend(variant_v2_qualifiers(v))
+        qualifiers_list.extend(variant_v2_qualifiers(v, board.name))
     return qualifiers_list
 
 
diff --git a/scripts/west_commands/completion/west-completion.bash b/scripts/west_commands/completion/west-completion.bash
index d812e89..2ccc444 100644
--- a/scripts/west_commands/completion/west-completion.bash
+++ b/scripts/west_commands/completion/west-completion.bash
@@ -392,13 +392,8 @@
 
 __set_comp_west_boards()
 {
-	boards=( $(__west_x boards --format='{name}|{qualifiers}' "$@") )
-	for i in ${!boards[@]}; do
-		name="${boards[$i]%%|*}"
-		transformed_board="${boards[$i]//|//}"
-		boards[$i]="${transformed_board//,/\ ${name}\/}"
-	done
-	__set_comp ${boards[@]}
+	boards="$(__west_x boards --format={identifiers} "$@")\n$(__west_x boards --format={name} "$@")"
+	__set_comp ${boards//,/\ }
 }
 
 __comp_west_west()
diff --git a/scripts/west_commands/completion/west-completion.fish b/scripts/west_commands/completion/west-completion.fish
index 51e6114..33c6942 100644
--- a/scripts/west_commands/completion/west-completion.fish
+++ b/scripts/west_commands/completion/west-completion.fish
@@ -196,12 +196,19 @@
 end
 
 function __zephyr_west_complete_board
-    set -l boards (west 2>/dev/null boards --format="{name}|{qualifiers}")
+    # HWMv1
+    set -l boards (west 2>/dev/null boards --format="{name} {arch}")
     for board in $boards
-        set -l b (string split "|" $board)
-        set -l qualifiers (string split "," $b[2])
-        for i in $qualifiers
-            printf "%s\n" $b[1]/$i
+        set -l b (string split " " $board)
+        printf "%s\n" $b[1]\t"$b[2]"
+    end
+
+    # HWMv2
+    set -l boards (west 2>/dev/null boards --format="{identifiers}")
+    for board in $boards
+        set -l b (string split "," $board)
+        for variant in $b
+            printf "%s\n" $variant[1]
         end
     end
 end
@@ -300,7 +307,7 @@
 # build
 complete -c west -n "__zephyr_west_use_subcommand; and __zephyr_west_check_if_in_workspace" -ra build -d "compile a Zephyr application"
 complete -c west -n "__zephyr_west_seen_subcommand_from build" -ra "(__zephyr_west_complete_directories)"
-complete -c west -n "__zephyr_west_seen_subcommand_from build" -o b -l board -xa "(__zephyr_west_complete_board)"
+complete -c west -n "__zephyr_west_seen_subcommand_from build" -o b -l board -xa "(__zephyr_west_complete_board)" -d "board to build for"
 complete -c west -n "__zephyr_west_seen_subcommand_from build" -o d -l build-dir -xa "(__zephyr_west_complete_directories)" -d "build directory to create or use"
 complete -c west -n "__zephyr_west_seen_subcommand_from build" -o f -l force -d "ignore errors and continue"
 complete -c west -n "__zephyr_west_seen_subcommand_from build" -l sysbuild -d "create multi-domain build system"
diff --git a/scripts/west_commands/completion/west-completion.zsh b/scripts/west_commands/completion/west-completion.zsh
index e1a0119..000b43a 100644
--- a/scripts/west_commands/completion/west-completion.zsh
+++ b/scripts/west_commands/completion/west-completion.zsh
@@ -102,12 +102,9 @@
 }
 
 _get_west_boards() {
-  _west_boards=( $(__west_x boards --format='{name}|{qualifiers}') )
-  for i in {1..${#_west_boards[@]}}; do
-    local name="${_west_boards[$i]%%|*}"
-    local transformed_board="${_west_boards[$i]//|//}"
-    _west_boards[$i]="${transformed_board//,/ ${name}/}"
-  done
+  _west_boards="$(__west_x boards --format={identifiers})\n$(__west_x boards --format={name})"
+  _west_boards=${_west_boards//$'\n'/\ }
+  _west_boards=${_west_boards//,/\ }
   _west_boards=(${(@s/ /)_west_boards})
 
   _describe 'boards' _west_boards