feat: support foreign architectures
Metadata
Current evaluation
Merged PR #153 as commit 64f1092, adding APT foreign-architecture support for deb822-based Ubuntu sources, including core24; released in craft-archives 2.1.0.
Resolution: closed resolved
Reason: Approved PR #153 was merged as commit 64f1092 and explicitly fixed #150. The maintainer noted a clean rebase for the 2.1.0 release.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint && make test`?
---
Adds support for foreign architectures for apt.
This works for Ubuntu releases that use deb822 for its default sources. For *craft applications, this affects `core24` / `ubuntu@24.04` and newer bases.
Fixes #150
Relates to #104
Relates to #149
Unblocks https://github.com/canonical/snapcraft/issues/4542
Unblocks https://github.com/canonical/snapcraft/issues/5222
(CRAFT-4076)
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #153 as commit 64f1092, adding APT foreign-architecture support for deb822-based Ubuntu sources, including core24; released in craft-archives 2.1.0. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #153 (commit 64f1092) adds foreign-architecture support for APT in craft-archives, working with deb822 Ubuntu sources (core24/ubuntu@24.04+). Shipped in the 2.1.0 release; fixes issue #150. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #153, commit 64f1092, added apt foreign-architecture support for deb822-based Ubuntu releases (core24 and newer) and shipped in craft-archives 2.1.0. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after two approvals and passing CI, adding apt foreign architecture support for deb822-based Ubuntu releases. A final force-push targeted the 2.1.0 release. Resolves #150 and unblocks multiple snapcraft issues. |
Update history
No update history recorded yet.
Related work
-
Related To:
canonical/craft-archives#150
(confidence 100%)
Issue explicitly fixed by merged PR #153.
-
Related To:
canonical/craft-archives#149
(confidence 95%)
Earlier foreign-architecture prototype superseded by the completed implementation in PR #153.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #5222 Support foreign architectures | snapcraft | closed | Foreign-architecture APT support landed in craft-archives#153 (64f1092), released in 2.1.0; Snapcraft added core24 cross-compilation coverage in b26b653c1. | |
| #5274 feat: support foreign architectures for core24 | snapcraft | merged | Merged PR #5274 expanded core24 cross-compilation by allowing package-repositories and build-package entries for any supported architecture, fixing #5222 and #4542. | |
| #149 [PROTOTYPE] feat(apt_sources_manager): support foreign architectures | craft-archives | closed | Prototype PR #149 was closed unmerged and superseded by #153, which added foreign-architecture APT support in commit 64f1092 and shipped in craft-archives 2.1.0. | |
| #150 Support foreign architectures | craft-archives | closed | Foreign-architecture support shipped in craft-archives 2.1.0 via merged PR #153 (64f1092), replacing prototype #149 and enabling cross-compilation dependencies. | |
| #104 [Investigate] support foreign architectures | craft-archives | closed | Foreign-architecture package installation was implemented in PR #153 (commit 64f1092) and released in craft-archives 2.1.0. | |
| #1558 fix(packages/deb): preserve architecture in primed stage packages | craft-parts | merged | Merged in canonical/craft-parts#1558 (commit 0b6a556a), preserving foreign-architecture suffixes such as :i386 in primed stage package names and adding regression coverage. | |
| #151 Update sources added by craft-archives | craft-archives | open | Craft-generated deb822 sources now include explicit Architectures fields, including configured target architectures, so the requested cross-compilation behavior for craft-*.sources is already present. | |
| #197 feat: implement debcraft-specific rules | craft-platforms | merged | Merged PR #197 as commit 312896f, adding debcraft defaults and allowing build-for: all alongside architecture-specific builds; fixes #192. | |
| #192 feat: add ability to set default releases to old-releases | craft-archives | merged | Merged PR #192 (commit 2171509) by maintainer lengau added craft_archives.defaults.use_old_releases(), which repoints apt sources.list/ubuntu.sources at old-releases.ubuntu.com for EOL suites. Shipped in craft-archives 2.2.0 (2025-08-13). | |
| #1027 feat: allow building on other compatible architectures | craft-application | merged | Merged #1027 as commit 15f48281, enabling provider-compatible cross-architecture builds and CRAFT_BUILD_ON architecture selection. |