| name | azldev-build-component |
| description | Read this before building a component or diagnosing a build failure; do not guess build flags or the inner loop. Explains how to build, iterate on, and debug an azldev component, covering comp build flags (local-repo, preserve-buildenv), the render/build/test inner loop, diff-sources, and disabling a failing %check via check.skip. Triggers include build component, build failed, build error, inner loop, preserve buildenv, local repo, disable check. |
Build and debug a component
Never install built RPMs on your host — they target the distro, not your dev
machine. Test them in a chroot with the azldev-mock skill. Building and testing are separate
steps: azldev comp build produces RPMs; it does not test them.
Build
azldev comp build -p <name>
azldev comp build -p <a> -p <b> --local-repo-with-publish <dir>
azldev comp build -p <name> --local-repo <dir>
Build foundational packages before their dependents. RPMs land in the project's
configured output directory (out by default). -q quiets output but hides build
progress — use it only for inner-loop builds you expect to succeed.
The inner loop
investigate → modify → render → build → test → inspect
| Step | Command |
|---|
| Investigate | read the rendered spec under specs/, or azldev comp diff-sources -p <name> |
| Modify | edit the component's .comp.toml (see the azldev-overlays and azldev-comp-toml skills) |
| Verify | azldev comp render -p <name> (fast — skips source tarballs) |
| Build | azldev comp build -p <name> |
| Test | azldev adv mock shell --add-package <rpm> (see the azldev-mock skill) |
| Inspect | azldev comp build -p <name> --preserve-buildenv always, then a mock shell |
Prefer comp render for quick overlay verification; use comp diff-sources to see the
exact overlay effect (it fetches sources once, applies overlays to a copy, and diffs the
two trees). Builds can be slow — set generous timeouts.
Finalize with azldev comp update -p <name> before opening a PR (see the
azldev-update-component skill).
Debugging build failures
- Render error mentioning a non-standard
Release tag — a release-calculation
issue; see the azldev-comp-toml skill.
- Overlay did not apply as expected —
azldev comp diff-sources -p <name> shows
what the overlays actually change.
- Inspect the build environment —
azldev comp build -p <name> --preserve-buildenv on-failure (values on-failure, always, never), then enter a mock shell.
- Failing
%check — fix the tests first (root cause, upstream patches, targeted
fixes). Only as a last resort, disable with build.check.skip = true and a required
build.check.skip_reason explaining what fails, why it cannot be fixed, and whether it
is temporary. A transient --no-check build flag exists for one-off local builds.
Per-component build tweaks (build.defines, build.without) live in the .comp.toml —
see the azldev-comp-toml skill.
Generated by azldev docs agent; do not hand-edit. Generated for azldev version v0.3.0.