Enhance copy-armbian-kernel script to support copying U-Boot bootloader
packages in addition to kernel packages. Key changes:
- Add COPY_UBOOT flag (default: true) to enable/disable U-Boot copying
- Add UBOOT_SELECT variable for board/branch filtering (e.g., 'odroidm1:current')
- Split JQ program into reusable components (JQ_EXPAND, JQ_KERNEL_PAIRS, JQ_UBOOT_TRIPLETS)
- Add uboot_selected() function for pattern-based U-Boot selection
- Extract copy operations into copy_flat() and copy_recursive() helpers
- Track selected kernel pairs to filter U-Boot packages by default
- Update workflow name from "Rewrite kernel configs" to "Update image-info.json"
- Remove unused matrix outputs from job configuration
- Fix duplicate cd command in commit step
- Fix git add path to use correct data/image-info.json
- Correct commit message to describe actual change
- Rename job from build-matrix to update-image-info
Signed-off-by: Igor Pecovnik <igor@armbian.com>
* Improve package version check and repository management
- Replace apt-cache with direct HTTP queries to Armbian repository
package indices for reliable version detection across all components
- Add repository cleanup jobs (preclean/postclean) to purge old
package versions and keep only newest
- Implement retry logic (3 attempts) for aptly mirror update
operations with automatic mirror recreation on failure
- Add download validation to ensure .deb files are actually downloaded
- Add HIDE_NO_UPDATE input option for controlling summary output
- Always sync to debs-beta, sync to debs only on actual version updates
- Enhanced debugging with comprehensive logging for aptly operations
* Fix syntax for PURGE variable in workflow
* Fix
- Replace apt-cache with direct HTTP queries to Armbian repository
package indices for reliable version detection across all components
- Add repository cleanup jobs (preclean/postclean) to purge old
package versions and keep only newest
- Implement retry logic (3 attempts) for aptly mirror update
operations with automatic mirror recreation on failure
- Add download validation to ensure .deb files are actually downloaded
- Add HIDE_NO_UPDATE input option for controlling summary output
- Always sync to debs-beta, sync to debs only on actual version updates
- Enhanced debugging with comprehensive logging for aptly operations
* Improve README structure and readability
- Add horizontal rules between sections for better visual separation
- Make titles into clickable links for quick access to workflows
- Simplify and clarify workflow descriptions
- Use consistent naming conventions throughout
- Fix grammar and improve wording
* Convert data and infrastructure sections to tables
* Convert all sections to consistent table format
* Remove horizontal rules for cleaner look
* Remove icon and Status label from badges for cleaner look
* Fix Linux kernel badge URL
* Fix duplicate entry for Linux Kernel Shallow Bundles
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.