← Back to issue list

Support foreign architectures

View original Github issue

Metadata

Project
snapcraft
Number
#5222
Type
issue
State
closed
Author
mr-cal
Labels
—
Created
Updated
Closed

Current evaluation

Foreign-architecture APT support landed in craft-archives#153 (64f1092), released in 2.1.0; Snapcraft added core24 cross-compilation coverage in b26b653c1.

Resolution: closed resolved

Reason: craft-archives#153 merged as commit 64f1092 and shipped in version 2.1.0, providing the required foreign-architecture package support. Snapcraft subsequently added a core24 cross-compilation test in b26b653c1.

Evaluated by: mr-cal-bot

No scores available.

Issue body

### What needs to get done * Update craft-archives to bring https://github.com/canonical/craft-archives/issues/104 * Add a variant to `tests/spread/general/stage-packages` that exercises the following: ```yaml name: curl-consumer version: "0.1" summary: cross-compiled curl consumer description: | A cross-compiled snap that uses libcurl. This exercises installing libcurl-dev as a build package and staging libcurl, both from the armhf repo. grade: devel base: core24 confinement: strict platforms: armhf: build-on: [amd64] build-for: [armhf] lint: ignore: - library apps: curl-consumer: command: usr/bin/curl-consumer package-repositories: - type: apt architectures: [armhf] components: [main] suites: [noble] key-id: F6ECB3762474EDA9D21B7022871920D1991BC93C url: http://ports.ubuntu.com/ubuntu-ports parts: curl-consumer: plugin: autotools source: src build-environment: - PKG_CONFIG_PATH: "/usr/lib/arm-linux-gnueabihf/pkgconfig" build-packages: - libcurl4-openssl-dev:armhf stage-packages: - libcurl4t64:armhf autotools-configure-parameters: - --prefix=/usr - --host=${CRAFT_ARCH_TRIPLET_BUILD_FOR} ``` ### Why it needs to get done To improve the UX for cross-compiled `core24` snaps.

Evaluation history

Date Model Scores Action Summary
stealth/space-bunny-alpha — closed resolved Foreign-architecture APT support landed in craft-archives#153 (64f1092), released in 2.1.0; Snapcraft added core24 cross-compilation coverage in b26b653c1.
stealth/space-bunny-alpha — closed resolved Foreign-architecture APT support was merged in canonical/craft-archives#153 (64f1092) and released in 2.1.0, resolving the archive blocker for target package installation.
qwen/qwen3.6-35b-a3b — — Request to support foreign architectures for cross-compiled core24 snaps was closed without implementation. No pull requests were merged, indicating the feature was abandoned or deferred.
qwen/qwen3.6-35b-a3b — — Closed without resolution or implementation. The feature request to support foreign architectures and update craft-archives appears abandoned or deferred, with the final activity being an automated Jira ticket sync.
qwen3.6-35b-a3b-mtp-q6 — — Closed without implementation. The request to update craft-archives for foreign architecture support and add cross-compilation tests was moved to internal Jira tracking (CRAFT-4038) and abandoned.

Update history

No update history recorded yet.

Related work

  • Likely Fixed By: canonical/craft-archives#153 (confidence 99%)

    Merged commit 64f1092 delivered foreign-architecture APT support and was released in craft-archives 2.1.0.

Related issues

Issue Project State Summary Similarity
#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.
82%
#153 feat: support foreign architectures craft-archives merged 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.
81%
#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.
77%
#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.
72%
#3821 meta: architectures snapcraft merged Merged core22 architecture support, including build-on/build-for handling, host and build-instance selection, and SNAPCRAFT_BUILD_FOR filtering, via commit 4876b53.
72%
#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.
72%
#1685 Implement support for architecture in snapcraft.yaml snapcraft closed Architecture support for snapcraft.yaml landed in PR #2080 (commit c60ac3891), adding CI-oriented build-on/run-on lists. build.snapcraft.io adoption was tracked separately by cjwatson.
71%
#1648665 Architecture-specific sources for parts snapcraft (launchpad) closed Closed 2026-08-25 by ~mr-cal as already fixed: Snapcraft part steps can pick architecture-specific sources via build-for env vars (SNAPCRAFT_ARCH_BUILD_FOR/SNAPCRAFT_TARGET_ARCH); no new patch was made.
71%
#5233 [PROTOTYPE] feat: support foreign architectures snapcraft closed Prototype PR for foreign-architecture support (CRAFT-4038) was closed unmerged; maintainer mr-cal noted it was superseded by merged PR #5274, shipped on latest/edge and scheduled for Snapcraft 8.8.
70%