snapcraft 8.1 core24 root build-packages with "on <arch>" fails
Metadata
Current evaluation
Root grammar handling shipped in Snapcraft 8.2.1; mixed grammar/string build-packages remained broken, then was tracked in canonical/snapcraft#4764 and fixed via #4768 (c76e62671).
Resolution: closed resolved
Reason: The initial root-level grammar fix was released in Snapcraft 8.2.1. The remaining mixed-list regression moved to canonical/snapcraft#4764 and was fixed by merged PR #4768 at commit c76e62671, with craft-application 2.6.2 supplying the parser fix.
Evaluated by: mr-cal-bot
No scores available.
Issue body
snapcraft 8.1
base: core24
Root build-packages definition with additional syntax "on <arch>" does not pass the parser test.
example:
build-packages:
- build-essential
- on amd64:
- gcc-aarch64-linux-gnu
- on arm64:
- gcc
This will throw error:
Bad snapcraft.yaml content:
- string type expected (in field 'parts.snapcraft/core.build-packages[1]')
- string type expected (in field 'parts.snapcraft/core.build-packages[2]')
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Root grammar handling shipped in Snapcraft 8.2.1; mixed grammar/string build-packages remained broken, then was tracked in canonical/snapcraft#4764 and fixed via #4768 (c76e62671). | |
| stealth/space-bunny-alpha | — | closed superseded | Root-level grammar was fixed in Snapcraft 8.2.1, but mixed grammar and ordinary entries were moved to #4764; PR #4768 (c76e62671) added coverage and craft-application 2.6.2 supplied the parser fix. | |
| stealth/space-bunny-alpha | — | closed stale | Closed after roughly 14 months with no identified fix or explanation; Snapcraft 8.1 rejected architecture-qualified root build-packages during project-file parsing. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. The arch-specific build-packages parsing failure in core24 snaps remains unresolved. | |
| qwen/qwen3.6-35b-a3b | — | — | The on <arch> syntax in root build-packages fails parsing in snapcraft 8.1/core24. Closed and abandoned without resolution. | |
| qwen/qwen3.6-35b-a3b | — | — | Arch-specific build-packages syntax triggers a parser error in snapcraft 8.1. Closed without resolution or comments, indicating the bug was abandoned. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution. The parser rejected the on <arch> syntax in root build-packages for core24, throwing a type mismatch error. No comments or fixes were submitted, and the issue was closed as abandoned. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#4768
(confidence 99%)
Merged PR resolving #4764; commit c76e62671 added regression coverage for mixed grammar and standard list entries.
-
Related To:
canonical/snapcraft#4764
(confidence 99%)
Follow-up issue tracking the mixed grammar and ordinary build-packages case that still failed after 8.2.1.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1835638 inconsistent to arch behaviour | snapcraft (launchpad) | open | Snapcraft 3.6 advanced grammar can omit stage-packages on native builds and mix host/target packages in nested on/to cases; the old report remains open and untriaged. | |
| #2099923 Snapcraft builds are failing: install of snap "snapcraft" failed | snapcraft (launchpad) | open | Reported Launchpad Bionic non-i386 builds cannot install Snapcraft 7.x/stable because core20 needs snapd 2.61; the issue remains open, untriaged, and unanswered. | |
| #1983009 Snapcraft 7.1.0 fails to find stage package when cross-compiling | snapcraft (launchpad) | closed | Fixed by canonical/snapcraft#3416 (commit 8f418e3d9), restoring core20 behavior so stage packages come from build-on repositories during cross-compilation. |