From 9e48630dc55a73cf7b0291b79382df0d343f60e2 Mon Sep 17 00:00:00 2001 From: Viacheslav Bocharov Date: Mon, 22 Dec 2025 17:28:00 +0300 Subject: [PATCH] feat(scripts): add Ubuntu LTS -updates releases to base-files JSON Problem: armbian-base-files artifact build for Ubuntu LTS releases (jammy, noble) fails because armbian-build looks for '{release}-updates' keys in base-files.json, but only base release keys exist. Root cause: - armbian-build's apt-utils.sh uses 'jammy-updates' for LTS releases - generate-base-files-info-json.py only adds base releases (jammy, noble) - JSON lookup fails, artifact excluded from build matrix Solution: Add -updates releases to the generation script - Added 'ubuntu/jammy-updates' and 'ubuntu/noble-updates' to releases list - Script now fetches latest security-updated versions from -updates repos Benefits: - Provides more recent base-files versions with security updates - Fixes jammy/noble base-files artifact builds - Allows jammy/noble images to build successfully - Aligns with armbian-build's expectations Versions: - jammy: 12ubuntu4 -> 12ubuntu4.7 (from jammy-updates) - noble: 13ubuntu10 -> 13ubuntu10.3 (from noble-updates) This is the proper upstream fix. The fallback in armbian-build can remain as a safety mechanism for when -updates keys are not available. --- scripts/generate-base-files-info-json.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/generate-base-files-info-json.py b/scripts/generate-base-files-info-json.py index 17c9036c..4f172e20 100755 --- a/scripts/generate-base-files-info-json.py +++ b/scripts/generate-base-files-info-json.py @@ -267,6 +267,8 @@ if __name__ == "__main__": # Don't do this yet b/c jammy goes EOS Apr 2027, we don't know if we'll be ready. # also resolute isn't in changelog as of 2025Dec03 releases += [ 'ubuntu/jammy', 'ubuntu/noble', 'ubuntu/plucky', 'ubuntu/questing', 'ubuntu/resolute' ] + # Add -updates repos for LTS releases to get latest security updates + releases += [ 'ubuntu/jammy-updates', 'ubuntu/noble-updates' ] release_hash = {} for release in releases: distro, release = release.split('/')