- Non-trivial components (overlays, build config) SHOULD have their own
<name>/<name>.comp.toml. Simple imports stay inline incomponents.toml. components.tomlusesincludesto pull in all**/*.comp.toml— no manual wiring needed.- Canonical example:
rpm/rpm.comp.toml— uses modern[[...overlays]]syntax withdescriptionfields. For a larger overlay example (legacy inline syntax, not to be copied for new work), seeazurelinux-rpm-config/azurelinux-rpm-config.comp.toml. - Schema:
azldev.schema.json - Before a version or source-pin update, review upstream release notes, new dependencies, feature removals, ABI/soname changes, and whether existing overlays are still needed. Major version updates require explicit user approval.
- When removing a component, also remove it from
[component-groups.base-packages].componentsand remove matching# srpm: <name>package exceptions incomponents-publish-channels.toml; then check image definitions,comps.xml, and dependants.
- Adding a new component →
azldev-add-component - Updating or finalizing a component →
azldev-update-component - Removing component(s) →
azldev-remove-component - Fixing overlay issues →
azldev-overlays - Building and debugging →
azldev-build-component - Testing in mock chroot →
azldev-mock