Remote parts can't depend on other remote parts
Metadata
Current evaluation
Remote-part dependency support remained unresolved; proposed fix snapcore/snapcraft#2105 stalled, and Launchpad #1750866 was later closed without a merged resolution.
Resolution: closed stale
Reason: snapcore/snapcraft#2105 was cited as work in progress, and the final follow-up says the effort was interrupted. No merged commit or replacement PR is identified before closure, indicating abandonment through inactivity.
Evaluated by: mr-cal-bot
No scores available.
Issue body
We have a remote part called alsa, which (up until recently) had two other parts it needed called alsa-libs and alsa-plugins. All three parts are in one remote github repo. https://github.com/diddledan/snapcraft-alsa
In a previous revision of that repo, alsa had an after: [alsa-plugins, alsa-lib] section.
In my own yaml, I reference the 'alsa' part only, expecting it to pull in the alsa-lib and alsa-plugins parts too. Unfortunately when building, it fails to pull the additional parts.
As a workaround I now have to specify all three (alsa, alsa-lib, alsa-plugins) in my own yaml.
Should snapcraft not do the right thing and pull each dependent part in?
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed stale | Remote-part dependency support remained unresolved; proposed fix snapcore/snapcraft#2105 stalled, and Launchpad #1750866 was later closed without a merged resolution. | |
| stealth/space-bunny-alpha | — | closed stale | Remote-part dependencies were not fixed: PR #2105 was closed unmerged after nondeterministic KeyErrors; the issue later closed without a replacement. | |
| stealth/space-bunny-alpha | — | closed stale | Remote-part dependencies were not recursively loaded. Proposed fix PR #2105 was closed unmerged, and the issue was later abandoned without a shipped fix. | |
| stealth/space-bunny-alpha | — | closed stale | Closed as abandoned after inactivity without a fix; dependent remote parts still had to be listed explicitly in snap.yaml (Launchpad bug #1750866). | |
| qwen/qwen3.6-35b-a3b | — | — | Closed as abandoned due to inactivity. Snapcraft does not automatically pull in dependent remote parts, requiring manual specification in the snap.yaml. | |
| qwen/qwen3.6-35b-a3b | — | — | Remote snapcraft parts cannot automatically pull dependent remote parts. The request was closed without resolution and abandoned due to inactivity. Users must manually specify all remote dependencies in their configuration. | |
| qwen/qwen3.6-35b-a3b | — | — | Abandoned without resolution. Snapcraft does not automatically resolve dependencies between remote parts, requiring manual specification of all required parts in the main YAML. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without resolution or comments. Remote part dependency resolution was abandoned or superseded by updated Snapcraft behavior requiring explicit dependency declarations. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Related To:
snapcore/snapcraft#2105
(confidence 98%)
Proposed fix directly linked in the issue; comments describe it as interrupted work in progress.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1645350 Parts depending on other remote parts aren't properly added | snapcraft (launchpad) | closed | Remote-part dependencies were fixed by merged snapcore/snapcraft PR #930 (commit 6c012194b), adding parser support for parts defined in remote origins. | |
| #1800057 Remote parts don't seem to work in snapcraft 3.0 | snapcraft (launchpad) | closed | Snapcraft 3.0 intentionally excluded remote parts when a base was set; maintainers directed users to extensions or inline part definitions as the migration path. | |
| #930 parser: support remote dependencies | snapcraft | merged | Merged in snapcraft#930 (commit 6c012194b), adding remote-dependency support by retrying parts after valid remote parts load. Fixes LP: #1645350. | |
| #1768210 allow remote parts specify passthrough options | snapcraft (launchpad) | closed | Remote-part passthrough was rejected as an experimental mechanism; layout support was deferred to open Launchpad issue snapcraft#1768248. | |
| #1622435 snapcraft does not respect filesets of remote parts | snapcraft (launchpad) | closed | Remote-part filesets were not resolved because plugins loaded before the project. Fixed by merged PR canonical/snapcraft#799 (commit 1a282439c), which centralized project loading so remote parts' filesets resolve. |