RadBuild 0.2.1

Example: RADPx Package Dependencies

Example: RADPx Package Dependencies

settings.json

{
  "radbuild_schema": "2.0",
  "radbuild_version": "0.2.1",
  "project_name": "radpm-demo",
  "systems": [
    {
      "id": "radpx-x86",
      "type": "os.radpx",
      "provider": "radpx-os",
      "depends_on": [],
      "config": {
        "ui_profile": "terminal",
        "feature_chunks": ["kernel.core", "userspace.rash"],
        "radpm": {
          "repository": "../RadicalPackages",
          "suite": "experimental",
          "packages": [],
          "packagegroups": ["radpx-terminal-base"]
        }
      }
    }
  ],
  "connections": [],
  "artifacts": [],
  "deploy": [],
  "packages": {}
}

Commands

radbuild menuconfig --settings settings.json --enable-packagegroup radpx-networking --resolve-packages --json
radbuild menuconfig --settings settings.json --enable-package radlib-ui --resolve-packages --json

Expected lock package order for radpx-terminal-base:

radpx-core
radlib
radpx-ncurses
radpx-vim-tiny

If an explicit package is selected without its dependencies, RadBuild fails with a package or packagegroup hint instead of silently adding dependencies. For example, selecting radpx-vim-tiny alone reports that radpx-core is required and is available through radpx-terminal-base.

Expected lock path:

.radmeta/radpx-os/radpx-x86/radpm/radpm-lock.json