Skip to main content

azldev-remove-component

Read this before deleting or dropping a component; there is no azldev remove command, so doing it wrong leaves dangling state. Explains the manual removal workflow for deleting component metadata, cleaning references, and validating any related output-affecting changes. Triggers include remove component, delete package, drop component, prune dependency.

소스 정보

저장소
microsoft/azurelinux
최근 소스 활동
2026년 10월 14일 20:54
감지된 SKILL.md 언어
영어
스타
5,353
포크
710

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
azldev-remove-component
description
Read this before deleting or dropping a component; there is no azldev remove command, so doing it wrong leaves dangling state. Explains the manual removal workflow for deleting component metadata, cleaning references, and validating any related output-affecting changes. Triggers include remove component, delete package, drop component, prune dependency.
# Remove a component There is **no `azldev` command to remove a component** — it is a manual edit. A deletion-only change needs no package build, but changes to dependents, package/image configuration, or other built inputs must follow the repository's normal validation requirements. The steps below delete the component's definition, lock, and rendered spec, then clean up references. ## Before you start Confirm the component exists and inspect its resolved configuration: ```sh azldev comp list -p <name> -q -O json ``` Check for **reverse dependencies** first: if other components `BuildRequires` or `Requires` this one, removing it breaks their builds. Search the tree for the component name. Identify its binary subpackage names from the rendered output under `specs/<first-char>/<name>/`, then search for those names too. `azldev comp query` currently supports local spec sources only, not the usual upstream spec source. ## Steps 1. **Remove the definition.** Delete the component's dedicated `<name>/<name>.comp.toml` directory, or remove its inline `[components.<name>]` entry from whichever included TOML defines it. 2. **Remove publish / package config references.** If your project configures publish channels or package groups, drop any references to the component or to its binary subpackages. Publishing is component-scoped; per-binary exceptions are binary-RPM-scoped — search for both. 3. **Remove the lock.** There is no azldev command for this: ```sh rm locks/<name>.lock ``` 4. **Remove the rendered spec.** Let azldev prune orphaned spec directories: ```sh azldev comp render -a --clean-stale ``` `--clean-stale` (only valid with `-a`) removes rendered-spec directories that no longer correspond to a configured component. It re-renders everything, so it is slow; for a targeted removal you can instead delete the component's rendered spec under `specs/` by hand. 5. **Check other references.** Grep for the component (and its binary names) in image definitions and any `*.kiwi` / package-list files, and remove or replace them — an image that installs a now-removed package will not build. ## Verify ```sh azldev comp list -p <name> -q -O json # should report the component is not found ``` Also confirm the lock and rendered spec directory are gone and that no image or package configuration still references the component. If the removal required changes to dependents or package/image configuration, build and test the affected outputs according to the repository's normal validation policy. ## Notes - **Dependents with manual release.** If removing this component forces a change in a *dependent* (e.g. dropping a `BuildRequires`), and that dependent sets `release.calculation = "manual"`, bump its release counter yourself in the same change. Components with automatic release calculation (`auto`, `autorelease`, `static`) are handled by the normal commit/render/amend cycle. - **Remove exclusive dependencies together.** If a package is only needed by the component you are dropping, remove it in the same change to keep the tree consistent. Generated by `azldev docs agent`; do not hand-edit.
GitHub에서 보기