mcpbeat

Azldev Build Component

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.

824 tokens
context cost
the whole folder, loaded on every use
1
files
instructions only
0
copies elsewhere
how many repositories repackaged it
5305
stars on the repo
on the repository, not the skill itself

Install

one command, takes just this skill from the repository
npx skills add https://github.com/microsoft/azurelinux --skill azldev-build-component

The instruction itself

4 sections, as written by the author

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>                                     # 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.

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 expectedazldev 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.1.0.

How to use it

Copy the folder

Take microsoft/azldev-build-component from the repository into ~/.claude/skills for personal use, or into .claude/skills inside a project.

Check the name does not clash

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.