stage-packages does not handle unmet dependencies
Metadata
Current evaluation
Fixed by canonical/craft-parts#258 (commit 8d0ee1cd), making stage-packages use repositories for the build host architecture when resolving cross-architecture packages.
Resolution: closed resolved
Reason: canonical/craft-parts#258 was merged as ef86c802. Its implementing commit, 8d0ee1cd, changed stage-package fetching to use the build host architecture's repositories, resolving cross-architecture dependency resolution.
Evaluated by: mr-cal-bot
No scores available.
Issue body
We're attempting to build snaps for multiple platforms from a single box (so a single platform, amd64). We're doing this with pre-built binaries
and the dump plugin.
We've gotten things to mostly work using the `architectures` yaml tag, but we hit a snag when we need to use `stage-packages` within a part. Instead of pulling down the platform-specific package and dependencies, it appears to pull them down for the current arch. In the following gist, the snap was built against amd64 followed by ppc64le: http://bit.ly/2oMRbLb
There you can see that it's ignoring amd64 debs, but of course it should instead (I think) be attempting to download ppc64le debs.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Fixed by canonical/craft-parts#258 (commit 8d0ee1cd), making stage-packages use repositories for the build host architecture when resolving cross-architecture packages. | |
| stealth/space-bunny-alpha | — | closed resolved | Resolved by canonical/craft-parts#258 (commit 8d0ee1cd; merge ef86c802), which made stage-package fetching use host-architecture repositories. | |
| stealth/space-bunny-alpha | — | closed resolved | Resolved by canonical/craft-parts#258 (commit 8d0ee1cd), which fetched stage-packages from repositories for the host architecture. | |
| stealth/space-bunny-alpha | — | closed resolved | Cross-architecture stage-package fetching was addressed by canonical/craft-parts#258 (commit 8d0ee1cd), which selects packages from the appropriate host-architecture repository. | |
| qwen/qwen3.6-35b-a3b | — | — | stage-packages ignored target architectures, downloading dependencies for the build host instead. Closed without comments or resolution after 288 days, effectively abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | Closed without resolution. stage-packages ignores cross-architecture dependencies, fetching host arch packages instead of target arch. With zero comments and significant age, the report was abandoned. | |
| qwen/qwen3.6-35b-a3b | — | — | stage-packages ignores target architecture and downloads host packages. Closed without resolution or comments, indicating the report was abandoned due to inactivity. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | stage-packages incorrectly downloads dependencies for the build host architecture instead of the target architecture. The report was closed without comments or a fix, indicating the bug was abandoned. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Likely Fixed By:
canonical/craft-parts#258
(confidence 99%)
Merged as ef86c802; commit 8d0ee1cd updated architecture selection for stage-package fetching.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #258 packages: fetch stage-packages from host arch's repo | craft-parts | merged | Merged in canonical/craft-parts#258 via ef86c802, fetching stage-packages from host-architecture repositories to fix cross-compilation failures. | |
| #28 Stage-packages fails at unpack_stage_packages when installing some packages | rockcraft | closed | Stage-package unpacking was fixed upstream by canonical/craft-parts#215, merged as cf1004fc, correcting symlink normalization for OpenSSL paths. | |
| #1737561 stage-packages do not honor --target-arch | snapcraft (launchpad) | open | Cross-builds still fetch stage-packages for the host architecture; current craft-parts passes step_info.host_arch instead of the requested target architecture. | |
| #1767 stage-packages does not respect architectures | snapcraft | closed | Closed after PR #1788 (9e588f51e) added broken-dependency errors but not architecture support; the same multi-arch scenario was later fixed by merged PR #3080 (4a75be6ec). | |
| #1666656 stage-packages doesn't support versions | snapcraft (launchpad) | closed | Fixed in canonical/snapcraft#1157, merged as commit ef4076821 ('repo: support versioned stage-packages'), adding version-specifier support so entries like hello=2.10-1 resolve instead of erroring. |