Stage package filtering doesn't deal with foreign arch packages (e.g. i386 on amd64)
Metadata
Current evaluation
Stage package filtering in craft-parts deb.py matches by name only, ignoring architecture, so foreign-arch packages (e.g. i386 on amd64) pull in duplicate content like all of libc6. Confirmed still present on core26; maintainer says it is a design-first task needing craft-team coordination.
Suggested action: keep open
Reason: Maintainer @mr-cal (2026-07-02) explicitly acknowledged this as a valid bug requiring a design-first approach by a craft team member, and @Saviq confirmed the behaviour still reproduces on core26. The underlying code (_get_filtered_stage_package_names in craft-parts deb.py) still performs name-only matching, so the bug is unfixed. It is triaged, scoped, and awaiting architectural design, so it should remain open.
Issue body
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.8-27b |
Impact:
45
Quick Win:
13.5
Staleness:
40
Complexity:
70
Confidence:
80
Support Request:
5
|
keep open | Stage package filtering in craft-parts deb.py matches by name only, ignoring architecture, so foreign-arch packages (e.g. i386 on amd64) pull in duplicate content like all of libc6. Confirmed still present on core26; maintainer says it is a design-first task needing craft-team coordination. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
15
Complexity:
75
Confidence:
85
Support Request:
5
|
keep open | Stage package filtering ignores architecture, causing duplicate foreign arch content in snaps. Maintainers acknowledge it as a valid bug but note it requires architectural design and backward compatibility considerations before implementation. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
20
Complexity:
75
Confidence:
85
Support Request:
5
|
keep open | Stage package filtering ignores architecture, causing duplicate foreign arch packages in snaps. Maintainers have acknowledged the bug but note it requires architectural design and team coordination before implementation. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
45
Complexity:
40
Confidence:
85
Support Request:
5
|
needs triage | Stage package filtering ignores architecture, causing duplicate foreign arch packages in snaps. Impacts content snaps and desktop extensions. Open with two comments exploring dpkg-based deduplication. Requires triage and code fix. |
Update history
No update history recorded yet.
Related work
-
Related To:
snapcraft#5998
(confidence 75%)
Both issues stem from architecture information being dropped in craft-parts deb.py; #5998 is about manifest.yaml losing arch qualifiers (fixed by craft-parts PR #1558), while #5997 is about the stage-package filter ignoring arch.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #2012503 wrong arch of stage packages | snapcraft (launchpad) | open | Snapcraft 7.3 picks host architecture for stage packages when cross-building (build-on amd64, build-for arm64). No maintainer response in 3.4 years. Nearly identical issue #5335 was closed as expected behavior requiring explicit :$CRAFT_ARCH_BUILD_FOR suffix on stage packages. |