@@ -63,6 +63,7 @@ extract_cfg_var() {
6363declare -A BOARD_NAME_MAP=()
6464declare -A BOARD_VENDOR_MAP=()
6565declare -A BOARD_SUPPORT_MAP=()
66+ declare -A BOARD_INTRODUCED_MAP=()
6667
6768MISSING_META_FILE=" $( mktemp) "
6869trap ' rm -f "$MISSING_META_FILE"' EXIT
@@ -73,12 +74,14 @@ while IFS= read -r cfg; do
7374
7475 name=" $( extract_cfg_var " $cfg " BOARD_NAME) "
7576 vendor=" $( extract_cfg_var " $cfg " BOARD_VENDOR) "
77+ introduced=" $( extract_cfg_var " $cfg " INTRODUCED) "
7678 support=" ${cfg##* .} " ; support=" ${support,,} "
7779
7880
7981 [[ -n " $name " ]] && BOARD_NAME_MAP[" $slug " ]=" $name "
8082 [[ -n " $vendor " ]] && BOARD_VENDOR_MAP[" $slug " ]=" $vendor "
8183 [[ -n " $support " ]] && BOARD_SUPPORT_MAP[" $slug " ]=" $support "
84+ [[ -n " $introduced " ]] && BOARD_INTRODUCED_MAP[" $slug " ]=" $introduced "
8285
8386 if [[ -z " $name " || -z " $vendor " ]]; then
8487 printf ' %s\n' " $slug " >> " $MISSING_META_FILE "
@@ -101,7 +104,7 @@ declare -A REUSABLE_BOARD_META=() # board_slug -> "name|vendor|support"
101104if [[ -f " $REUSABLE_FILE " ]]; then
102105 echo " ▶ Loading reusable board definitions from ${REUSABLE_FILE} …" >&2
103106
104- while IFS=$' \t ' read -r slug name vendor support uses branch ext; do
107+ while IFS=$' \t ' read -r slug name vendor support uses branch ext introduced ; do
105108 slug=" ${slug,,} "
106109 [[ -z " $slug " ]] && continue
107110
@@ -115,6 +118,7 @@ if [[ -f "$REUSABLE_FILE" ]]; then
115118 [[ -n " $name " ]] && BOARD_NAME_MAP[" $slug " ]=" $name "
116119 [[ -n " $vendor " ]] && BOARD_VENDOR_MAP[" $slug " ]=" $vendor "
117120 [[ -n " $support " ]] && BOARD_SUPPORT_MAP[" $slug " ]=" $support "
121+ [[ -n " $introduced " ]] && BOARD_INTRODUCED_MAP[" $slug " ]=" $introduced "
118122
119123 ext_msg=" ${ext: + (ext: ${ext} )} "
120124 echo " - ${slug} → ${uses}${branch: + (branch: ${branch} )}${ext_msg} " >&2
132136 str(b.get('board_support', '')),
133137 str(b.get('uses', '')),
134138 str(b.get('branch', '')),
135- str(b.get('file_extension', ''))
139+ str(b.get('file_extension', '')),
140+ str(b.get('board_introduced', ''))
136141 ]))
137142except Exception as e:
138143 sys.stderr.write(f'Error loading reusable.yml: {e}\n')
@@ -596,7 +601,7 @@ cat "$tmpdir/a.txt" "$tmpdir/bcd.txt" >"$feed"
596601# JSON generation
597602# -----------------------------------------------------------------------------
598603{
599- echo ' "board_slug"|"board_name"|"board_vendor"|"board_support"|"company_name"|"company_website"|"company_logo"|"armbian_version"|"file_url"|"file_url_asc"|"file_url_sha"|"file_url_torrent"|"redi_url"|"redi_url_asc"|"redi_url_sha"|"redi_url_torrent"|"file_size"|"file_date"|"distro"|"branch"|"variant"|"file_application"|"promoted"|"download_repository"|"file_extension"|"kernel_version"|"platinum"|"platinum_expired"|"platinum_until"'
604+ echo ' "board_slug"|"board_name"|"board_vendor"|"board_support"|"board_introduced"|" company_name"|"company_website"|"company_logo"|"armbian_version"|"file_url"|"file_url_asc"|"file_url_sha"|"file_url_torrent"|"redi_url"|"redi_url_asc"|"redi_url_sha"|"redi_url_torrent"|"file_size"|"file_date"|"distro"|"branch"|"variant"|"file_application"|"promoted"|"download_repository"|"file_extension"|"kernel_version"|"platinum"|"platinum_expired"|"platinum_until"'
600605
601606 while IFS=" |" read -r SIZE URL DATE; do
602607 IMAGE_SIZE=" ${SIZE// [.,]/ } "
@@ -733,7 +738,7 @@ cat "$tmpdir/a.txt" "$tmpdir/bcd.txt" >"$feed"
733738 PLAT_EXPIRED=" false"
734739 fi
735740 fi
736- echo " ${BOARD_SLUG} |${BOARD_NAME_MAP[$BOARD_SLUG]:- } |${BOARD_VENDOR} |${BOARD_SUPPORT} |${C_NAME} |${C_WEB} |${C_LOGO} |${VER} |${FILE_URL} |${ASC} |${SHA} |${TOR} |${REDI_URL} |${REDI_URL} .asc|${REDI_URL} .sha|${REDI_URL} .torrent|${IMAGE_SIZE} |${DATE} |${DISTRO} |${BRANCH} |${VARIANT} |${APP} |${PROMOTED} |${REPO} |${FILE_EXTENSION} |${KERNEL_VERSION} |${PLAT} |${PLAT_EXPIRED} |${PLAT_UNTIL} "
741+ echo " ${BOARD_SLUG} |${BOARD_NAME_MAP[$BOARD_SLUG]:- } |${BOARD_VENDOR} |${BOARD_SUPPORT} |${BOARD_INTRODUCED_MAP[$BOARD_SLUG] :- } | ${ C_NAME} |${C_WEB} |${C_LOGO} |${VER} |${FILE_URL} |${ASC} |${SHA} |${TOR} |${REDI_URL} |${REDI_URL} .asc|${REDI_URL} .sha|${REDI_URL} .torrent|${IMAGE_SIZE} |${DATE} |${DISTRO} |${BRANCH} |${VARIANT} |${APP} |${PROMOTED} |${REPO} |${FILE_EXTENSION} |${KERNEL_VERSION} |${PLAT} |${PLAT_EXPIRED} |${PLAT_UNTIL} "
737742
738743 # Check if this board is used by any reusable boards
739744 for reusable_slug in " ${! REUSABLE_BOARD_USES[@]} " ; do
@@ -817,7 +822,7 @@ cat "$tmpdir/a.txt" "$tmpdir/bcd.txt" >"$feed"
817822 fi
818823
819824 # Output for reusable board
820- echo " ${reusable_slug} |${reusable_name} |${reusable_vendor} |${reusable_support} |${reusable_c_name} |${reusable_c_web} |${reusable_c_logo} |${VER} |${FILE_URL} |${reusable_asc} |${reusable_sha} |${reusable_tor} |${reusable_redi_url} |${reusable_redi_url} .asc|${reusable_redi_url} .sha|${reusable_redi_url} .torrent|${IMAGE_SIZE} |${DATE} |${DISTRO} |${BRANCH} |${VARIANT} |${APP} |${reusable_promoted} |${REPO} |${FILE_EXTENSION} |${KERNEL_VERSION} |${reusable_plat} |${reusable_plat_expired} |${reusable_plat_until} "
825+ echo " ${reusable_slug} |${reusable_name} |${reusable_vendor} |${reusable_support} |${BOARD_INTRODUCED_MAP[$reusable_slug] :- } | ${ reusable_c_name} |${reusable_c_web} |${reusable_c_logo} |${VER} |${FILE_URL} |${reusable_asc} |${reusable_sha} |${reusable_tor} |${reusable_redi_url} |${reusable_redi_url} .asc|${reusable_redi_url} .sha|${reusable_redi_url} .torrent|${IMAGE_SIZE} |${DATE} |${DISTRO} |${BRANCH} |${VARIANT} |${APP} |${reusable_promoted} |${REPO} |${FILE_EXTENSION} |${KERNEL_VERSION} |${reusable_plat} |${reusable_plat_expired} |${reusable_plat_until} "
821826 fi
822827 done
823828 done < " $feed "
0 commit comments