microsoft/azldev-build-component
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.
npx skills add https://github.com/microsoft/azurelinux --skill azldev-build-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.
azldev comp build -p <name> # one component
azldev comp build -p <a> -p <b> --local-repo-with-publish <dir> # chain deps via a local repo
azldev comp build -p <name> --local-repo <dir> # rebuild against a populated repo
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.
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).
Release tag — a release-calculationissue; see the azldev-comp-toml skill.
azldev comp diff-sources -p <name> showswhat the overlays actually change.
on-failure (values on-failure, always, never`), then enter a mock shell.
%check — fix the tests first (root cause, upstream patches, targetedfixes). 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.1.0.
Take microsoft/azldev-build-component from the repository into ~/.claude/skills for personal
use, or into .claude/skills inside a project.
The agent identifies a skill by the name field in its header. Two skills with the
same name cannot sit side by side — one of them will be ignored.