feat: handle snap components in stage-snaps
Metadata
Current evaluation
Adds snap component support to stage-snaps (unpacking component trees, SNAP_COMPONENTS). Marked draft by mr-cal pending snapd UX decisions; 3 unresolved review threads and 5 CI jobs still failing.
Suggested action: keep open
Reason: mr-cal explicitly parked this work: "Marking as a draft so we don't accidentally merge while we reconsider how to organize components" and later "We should wait to see how that progresses before this PR continues", citing canonical/snapd#17435 ($SNAP_COMPONENTS support) and Jira PF-6858 for remaining UX gaps. This is an intentional hold on external upstream decisions, not abandonment — only 38 days since the last comment — so close_stale does not apply, and the author (bepri) plus two approvals show the work is still live. Merging now is not advisable: 3 review comments remain unresolved and 5 CI jobs fail (test-common on both min-deps and ubuntu-22.04-arm, two s390x/edge suites, and Security scan / OSV-scanner), so actionability is low despite the approved status. The change itself (+627/-60, 13 files) touches the core SnapSource provisioning path in craft_parts/sources/snap_source.py and the executor's _unpack_stage_snaps, so it carries moderate architectural and filesystem-layout review weight.
Evaluated by: mr-cal-bot
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
45
Quick Win:
5
Complexity:
55
Confidence:
86
Actionability:
25
|
keep open | Adds snap component support to stage-snaps (unpacking component trees, SNAP_COMPONENTS). Marked draft by mr-cal pending snapd UX decisions; 3 unresolved review threads and 5 CI jobs still failing. | |
| stealth/space-bunny-alpha |
Impact:
40
Quick Win:
4
Complexity:
65
Confidence:
94
Actionability:
30
|
keep open | Adds component support to stage-snaps, but is now a draft awaiting snapd UX work; three review threads remain unresolved and five CI checks are failing. | |
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
45
Quick Win:
11
Staleness:
65
Complexity:
75
Confidence:
75
|
keep open | Handles snap components in stage-snaps. Marked as draft with 2 approvals but 3 unresolved comments. Blocked by pending snapd changes per maintainer feedback. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
10
Complexity:
65
Confidence:
90
|
keep open | Implements snap component handling in stage-snaps, reorganizing directory structure and introducing $SNAP_COMPONENTS usage. Currently marked as draft and blocked by upstream snapd changes pending UX improvements. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
40
Complexity:
60
Confidence:
85
|
keep open | Adds support for snap components in stage-snaps by restructuring unpacked snap directories. Currently drafted and paused pending upstream snapd integration and architectural review on component layout. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
45
Complexity:
65
Confidence:
90
|
keep open | Adds support for snap components in stage-snaps, restructuring unpacked snap contents. Currently marked as draft by a maintainer pausing for architectural reconsideration and feedback collection. CI has failing tests and 20 unresolved comments. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
45
Complexity:
65
Confidence:
85
|
keep open | Draft PR adding support for snap components in stage-snaps. Maintainer marked it draft to reconsider component directory organization and gather more feedback from snapd and developers. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated |
Related work
-
Related To:
snapcraft#6095
(confidence 88%)
Feature request 'Allow staging snap components'; tracked as implemented by this craft-parts PR and currently on hold pending snapd UX decisions.
-
Blocked By:
snapd#17435
(confidence 80%)
mr-cal states this snapd PR 'is going to give us a good path forward' — it introduces $SNAP_COMPONENTS so staged snap content can find its components.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6095 Allow staging snap components | snapcraft | open | Feature request to support snap components in stage-snaps (snap+component syntax). Triaged as feasible; implementation lives upstream in craft-parts PR #1604, currently on hold pending snapd UX decisions on component access/management. | |
| #1805214 stage-snaps | snapcraft (launchpad) | closed | Feature request for a stage-snaps keyword (unpack a snap's content into the snap being built, like stage-packages) was implemented and merged in canonical/snapcraft#2468 (commit 0983e4063), then shipped in the 3.2 release; follow-up fixes in #2525 and #3211. |