Jump to content

[Armbian build PR] - rpardini's bunch of `lib` changes - **mid-April'23**


Recommended Posts

Posted

rpardini's bunch of lib changes - mid-April'23

Themes:

  • actually working JSON dumps, both for images and artifacts; also fast, via CONFIG_DEFS_ONLY
  • actually working rootfs artifacts / remote OCI .debs per-release
  • moar power to extensions, standardize some mechanisms
  • fixes
  • cli: flash: introduce flash CLI command; introduce hook post_build_image_write
  • config: refactor calculate_image_version() out of create_image_from_sdcard_rootfs(), make more flexible, predict IMAGE_FILE_ID during config
    • default IMAGE_INSTALLED_KERNEL_VERSION="generic" instead of "linux"
  • artifact: rootfs: fix artifact_rootfs_config_dump() to include all inputs to aggregation
  • logging: better logging when ANSI_COLOR=none (eg, during info collection)
  • config/extensions: consolidate EXTRA_IMAGE_SUFFIXES array as the way to add to image filename, during configuration
    • can add to EXTRA_IMAGE_SUFFIXES array during user_config or extension_prepare_config
    • in the end goes into a EXTRA_IMAGE_SUFFIX global readonly
    • this simplifies extension code
    • we still can't "predict" image names during configuration since it includes the kernel version (6.2.11/generic) which only comes later
  • artifacts armbian-desktop/armbian-bsp-desktop: fix artifact_base_dir to include ${RELEASE}/ -- otherwise local & remote paths don't match
  • artifacts-obtain: add sanity check, after getting remotely, make sure it is indeed available locally
  • artifacts: introduce PRE_PREPARED_HOST=yes: allow running pre-prepared host CLI's for artifacts that require aggregation
  • artifacts/cli: introduce CLI command artifact-config-dump-json (alias to artifact, but sets CONFIG_DEFS_ONLY=yes)
    • if CONFIG_DEFS_ONLY during obtain_complete_artifact(), just dump JSON to stdout after calculating version/coordinates
    • don't prepare ORAS tooling if CONFIG_DEFS_ONLY
    • don't run in standard build (and thus don't prepare_host()) if under CONFIG_DEFS_ONLY
  • if CONFIG_DEFS_ONLY, don't run check_basic_host()
  • extensions/grub: use array for pkg list
    • also for the media-sbc clone
  • patching: python: useful debug log with value of BASE_GIT_TAG
  • extensions: don't export, declare -g
  • bsp-cli/distro-agnostic: introduce KEEP_ORIGINAL_OS_RELEASE=yes so Debian/Ubuntu PRETTY_NAME is left unchanged in /etc/os-release
    • useful when downstream software wants exact Debian OS (eg: Home Assistant Supervised)

View the full article

×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines