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