feat: handle snap components in stage-snaps
Metadata
Current evaluation
Handles snap components in stage-snaps. Marked as draft with 2 approvals but 3 unresolved comments. Blocked by pending snapd changes per maintainer feedback.
Suggested action: keep open
Reason: The PR is explicitly marked as draft and blocked by external snapd changes (snapd PR #17435 and Jira ticket PF-6858). Maintainer @mr-cal stated on 2026-08-25 that they should wait for snapd progress before continuing this PR, making it appropriate to keep open despite the 94-day age.
Impact:
45
Quick Win:
11.25
Staleness:
65
Complexity:
75
Confidence:
75
Issue body
- [ ] Have you followed the guidelines for contributing?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `make lint && make test`?
- [ ] Have you added an entry to the changelog (`docs/reference/changelog.rst`)?
---
When used with Snapcraft, this parts entry:
```yaml
parts:
my-part:
plugin: nil
stage-snaps:
- test-snap-with-component+comp1+comp2/beta
```
Produced these contents in the unpacked snap:
```
unsquashfs-root
├── hello-app
├── load-comp1
├── load-comp2
├── meta
│ ├── gui
│ └── snap.yaml
├── meta.test-snap-with-component
│ ├── gui
│ └── snap.yaml
└── snap
└── test-snap-with-component
└── components
└── mnt
├── comp1
│ └── 3
│ ├── hello-comp1
│ └── meta
│ └── component.yaml
└── comp2
└── 3
├── hello-comp2
└── meta
└── component.yaml
```
SNAPCRAFT-1345
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen3.6-35b-a3b-mtp-q6 |
Impact:
45
Quick Win:
11.25
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. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
15
Complexity:
65
Confidence:
85
|
keep open | Draft PR implementing snap component handling in stage-snaps. Maintainer marked it draft to reconsider directory structure and gather more feedback from snapd and developers before proceeding. |
Update history
| Date | Change |
|---|---|
| updated | |
| updated |
Related work
-
Related To:
snapcraft#6095
(confidence 85%)
Related issue about allowing staging snap components, which appears to be the broader effort this PR contributes to.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6095 Allow staging snap components | snapcraft | open | Enhancement to extend stage-snaps to stage snap components (snap+component syntax) for composing ROCKs/composite snaps. Triaged and acknowledged; upstream work in craft-parts#1604 is a draft on hold pending component access/management design. |