Skip to content

Commit 4d09a01

Browse files
committed
Add board_introduced field to armbian-images.json output
Extract INTRODUCED from board configs and board_introduced from reusable.yml, and include it in the JSON output for each board.
1 parent a1263bb commit 4d09a01

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

scripts/generate-armbian-images-json.sh

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ extract_cfg_var() {
6363
declare -A BOARD_NAME_MAP=()
6464
declare -A BOARD_VENDOR_MAP=()
6565
declare -A BOARD_SUPPORT_MAP=()
66+
declare -A BOARD_INTRODUCED_MAP=()
6667

6768
MISSING_META_FILE="$(mktemp)"
6869
trap '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"
101104
if [[ -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
@@ -132,7 +136,8 @@ try:
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
]))
137142
except 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

Comments
 (0)