Allow for architecture-specific stage packages
Metadata
Current evaluation
Architecture-specific stage packages were implemented through grammar in snapcore/snapcraft#1059, later superseded by broader advanced-grammar support.
Resolution: closed resolved
Reason: PR #1059 added general grammar support for stage-packages, enabling CRIU to be staged only on amd64, armhf, and ppc64el. The repository records the change in commit 9e00ffc15.
Evaluated by: mr-cal-bot
No scores available.
Issue body
We want to include CRIU in the LXD snap.
CRIU is only available on amd64, armhf and ppc64el due to missing kernel support on the other architectures (so it's not an option to build it there).
So I need a way to represent that in my snapcraft.yaml, something like:
stage-packages:
- criu [amd64 armhf ppc64el]
Would do the trick, either that or a generic way to tell snapcraft not to fail if the package is missing:
stage-packages-optional:
- criu
Either way, we need something like that so we can ship live migration support in the LXD snap.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Architecture-specific stage packages were implemented through grammar in snapcore/snapcraft#1059, later superseded by broader advanced-grammar support. | |
| stealth/space-bunny-alpha | — | closed resolved | Architecture-specific stage packages were implemented by merged PR #1059 (commit 9e00ffc15), adding on/try/else grammar for architecture selectors and optional packages. | |
| stealth/space-bunny-alpha | — | closed stale | Request for architecture-specific or optional stage packages was closed without a documented resolution; no comments, fix, or replacement reference appear in the supplied record. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The request was not addressed and was likely abandoned or superseded by snapcraft's native architecture filtering. | |
| qwen/qwen3.6-35b-a3b | — | — | The request for architecture-specific or optional stage packages was abandoned. No implementation or resolution was provided, and the issue closed after over nine years without activity. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without implementation. The request for architecture-specific or optional stage packages in snapcraft.yaml was abandoned due to inactivity and zero comments. No resolution or merge details were provided. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution or comments. The request to support architecture-specific stage packages in snapcraft.yaml was abandoned. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
snapcore/snapcraft#1059
(confidence 98%)
Added architecture-aware stage-package grammar referenced as the solution in the final issue comment.
-
Superseded By:
snapcore/snapcraft#1059
(confidence 90%)
Replaced the earlier architecture-list proposal in #876 with a more general grammar.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1655797 Set arch for stage packages | snapcraft (launchpad) | closed | Fixed architecture qualifiers such as i386 in stage packages via snapcore/snapcraft PR #1050. | |
| #1948465 Please add support for advanced grammar in stage | snapcraft (launchpad) | open | Architecture-conditional grammar for part stage/build commands remains unimplemented; processing covers six source/package keys, while try was removed in core22. | |
| #2006599 using advanced grammar to build towards a certain arch does not work with stage-snaps | snapcraft (launchpad) | open | Cross-build grammar selects a foreign-architecture stage snap, but its download lacks the target store architecture and reports the snap missing. A workaround exists; the report remains untriaged. | |
| #1059 pluginhandler: support more complex stage-packages. | snapcraft | merged | Merged PR #1059 in commit 9e00ffc15, adding on/try/else stage-package grammar with architecture selectors, optional packages, and fallbacks; resolved LP #1637282. |