`base: core22` `default-provider:` allows channels, but SnapD doesn't
Metadata
Current evaluation
Snapcraft now rejects channels in default-provider values, aligning it with snapd; fixed by canonical/snapcraft#4096 in commit 603e1499b.
Resolution: closed resolved
Reason: PR canonical/snapcraft#4096 was merged as commit 603e1499b, adding validation that disallows snap channels in default-provider values and aligning Snapcraft with snapd behavior.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Snapcraft doesn't let you build a snap with a `default-provider:` that isn't available (yet):
```yaml
plugs:
graphics-core22:
interface: content
target: $SNAP/graphics
default-provider: mesa-core22
```
```shell
$ snapcraft
Launching instance...
Error installing snap 'mesa-core22' from channel 'latest/stable'.
Failed to execute pack in instance.
Full execution log: '/home/michal/.local/state/snapcraft/log/snapcraft-20230317-103905.303296.log'
```
It will happily build, if you give it a channel:
```yaml
default-provider: mesa-core22/edge
```
But then SnapD can't install it:
```shell
$ snap install graphics-test-tools --channel 22/edge
error: cannot perform the following tasks:
- Ensure prerequisites for "graphics-test-tools" are available (cannot install prerequisite "mesa-core22/edge": invalid instance name: invalid snap name: "mesa-core22/edge")
```
Snapcraft should either allow non-existent `default-provider:`s, or at least align with SnapD. Documentation does not mention channel support, so that's likely by design:
https://snapcraft.io/docs/content-interface#heading--default
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Snapcraft now rejects channels in default-provider values, aligning it with snapd; fixed by canonical/snapcraft#4096 in commit 603e1499b. | |
| stealth/space-bunny-alpha | — | closed resolved | Snapcraft now rejects channels in default-provider values, aligning it with snapd; merged in canonical/snapcraft#4096 as 603e1499b. | |
| stealth/space-bunny-alpha | — | closed resolved | Snapcraft now rejects channel-qualified `default-provider` values via #4096 (commit 603e1499b), aligning generated metadata with Snapd instead of producing an uninstallable snap. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. Snapcraft still accepts channels in default-provider while SnapD rejects them. No fix was merged or implemented, leaving the behavior misaligned and the issue closed without resolution. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned due to inactivity. Snapcraft continues to allow channels in default-provider despite SnapD rejecting them, with no fix or documentation update implemented. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned. Closed without resolution. Snapcraft allows channels in default-provider but SnapD rejects them. Labeled craft-1655. No comments or fixes applied. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Abandoned. Snapcraft permits channels in default-provider while SnapD rejects them, causing a build-to-install mismatch. No fix or documentation update was applied. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/snapcraft#4096
(confidence 100%)
Merged fix rejecting channels in default-provider declarations.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4096 meta: disallow Snap channel in default_provider | snapcraft | merged | Merged PR #4096 (commit 603e1499b), rejecting channel-qualified Snap providers in default_provider, including legacy validation and unit tests. |