← Back to issue list

Install chisel if parts use slices

View original Github issue

Metadata

Project
craft-parts
Number
#649
Type
issue
State
closed
Author
tigarmo
Labels
—
Created
Updated
Closed

Current evaluation

Implemented as requested: PR #904 (commit 941164e1) makes craft-parts append chisel@latest/stable to extra build snaps when any part has stage-packages/build-packages slices. Later #914 added part_has_chisel_as_build_snap detection.

Resolution: closed resolved

Reason: Maintainer mr-cal closed the issue on 2025-02-07 with "Completed in #904". PR #904 merged as commit 941164e1; lifecycle_manager.py now adds chisel@latest/stable to extra_build_snaps when a part declares slices and none already lists chisel as a build snap.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done Following how we install build-time tools like `git`, we should install Chisel if a part has slices declared in `stage-packages`. Note that currently there isn't a stable `chisel` snap, but one is coming (so we might want to wait for that). ### Why it needs to get done 1) For consistency with other build-time tools; 2) To have this logic be centralized in craft-parts, instead of done by [each craft application](https://github.com/canonical/rockcraft/pull/464) 3) More generally, including chisel during lifecycle-time instead of application-build-time makes it more resilient to upstream changes, as we'll always pick the latest version of stable Chisel.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Implemented as requested: PR #904 (commit 941164e1) makes craft-parts append chisel@latest/stable to extra build snaps when any part has stage-packages/build-packages slices. Later #914 added part_has_chisel_as_build_snap detection.
stealth/space-bunny-alpha — closed resolved Implemented by merged PR #904, which automatically adds Chisel as a build snap when stage-packages contain slices and Chisel is not already provided.
qwen/qwen3.6-35b-a3b — — Automatically installs chisel when parts declare slices in stage-packages. Resolved and merged via pull request #904, centralizing the tool management within craft-parts.
qwen/qwen3.6-35b-a3b — — Automatic chisel installation for parts using slices was implemented and merged in PR #904, centralizing build-time tool management within craft-parts.
qwen/qwen3.6-35b-a3b — — Automated chisel installation for parts using slices was implemented and merged in PR #904. This centralizes dependency management within craft-parts, ensuring consistent and resilient lifecycle-time tooling.
qwen3.6-35b-a3b-mtp-q6 — — Automatically installing chisel when parts use slices was implemented and merged via pull request #904. This centralizes the logic in craft-parts, ensuring consistency and resilience against upstream changes.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/craft-parts#904 (confidence 98%)

    Merged PR cited in the closing comment; commit 941164e1 'feat: add chisel as a build snap when stage-packages contain slices'.

  • Related To: canonical/craft-parts#914 (confidence 85%)

    Follow-up commit 1062a468 adding part_has_slices and part_has_chisel_as_build_snap properties used by the new logic.

  • Related To: canonical/craft-parts#1737 (confidence 55%)

    Later commit 46fb937b 'fix: install chisel for build-slices' extended the same build-snap logic to build-slices.

Related issues

Issue Project State Summary Similarity
#904 feat: add chisel as a build snap when stage-packages contain slices craft-parts merged Merged #904 via commit 941164e1, adding chisel@latest/stable only when stage-packages contain slices and no part already declares chisel.
82%
#1737 fix: install chisel for build-slices craft-parts closed Merged #1737 as commit 46fb937b: Chisel is now installed automatically when any part declares build-slices. The fix is recorded in craft-parts 2.37.1.
80%
#279 spec: add "stage-slices" for chisel slices craft-parts merged Merged PR #279, adding stage-slices so Chisel slices are declared separately from stage-packages; support is documented in Craft Parts 2.36.0.
77%
#792 ci: install chisel as a snap craft-parts closed Closed unmerged after inactivity; equivalent Chisel-snap CI and home-fixture changes were merged in craft-parts#793, fixing craft-parts#746.
76%
#464 Make chisel a build snap rockcraft closed Closed unmerged and superseded by canonical/rockcraft#758, which carried forward removing Chisel packaging after craft-parts gained equivalent support.
75%
#84 Add chisel to rockcraft rockcraft merged Merged PR #84 as commit ddf018ce, adding Chisel to Rockcraft’s snap and enabling Chisel slices in stage-packages.
74%
#914 feat: add funcs part_has_slices and part_has_chisel_as_build_snap craft-parts merged Merged PR #914 in commit 1062a468, adding part_has_slices and part_has_chisel_as_build_snap for inspecting part dictionaries without constructing PartSpec objects.
73%
#746 Use chisel from snapcraft in CI instead of clone and building craft-parts closed Merged PR #793 updated CI to install Chisel as a snap and move pytest temporary paths out of tmpfs, removing clone-and-build steps.
71%
#18 build: readd chisel for snapcraft 8 snapcraft-rocks merged PR #18 merged, restoring Chisel and its Snapcraft 8.x-only spread test while bumping Snapcraft to 8.0.2.
71%
#281 unpack chisel slices craft-parts merged Merged PR #281 as commit 17c119ea, adding Chisel slice unpacking by passing slices from pull to build via PullState, with CI integration coverage.
70%