stage-packages do not honor --target-arch
Metadata
Current evaluation
Cross-builds still fetch stage-packages for the host architecture; current craft-parts passes step_info.host_arch instead of the requested target architecture.
Suggested action: keep open
Reason: The reporter confirmed the target-architecture work in snapcore/snapcraft#1536 was relevant, but the defect remains: craft_parts/executor/part_handler.py passes step_info.host_arch to Repository.fetch_stage_packages while Snapcraft supplies the target architecture to the lifecycle. The behavior and likely fix site are now clear and suitable for implementation with a cross-architecture regression test.
Evaluated by: mr-cal-bot
Impact:
52
Quick Win:
29
Complexity:
28
Confidence:
96
Actionability:
78
Issue body
Hi,
When cross-building, stage-packages are pulled for the host architecture instead of the target architecture.
Best,
- Loïc
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha |
Impact:
52
Quick Win:
29
Complexity:
28
Confidence:
96
Actionability:
78
|
keep 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. | |
| stealth/space-bunny-alpha |
Impact:
58
Quick Win:
20
Complexity:
48
Confidence:
94
Actionability:
67
|
keep open | Cross-building still fetches stage-packages for the host rather than the build-for architecture; current craft-parts code still passes host_arch. | |
| qwen/qwen3.6-35b-a3b |
Impact:
75
Quick Win:
54
Complexity:
15
Confidence:
85
Actionability:
85
|
keep open | stage-packages are fetched using host_arch instead of target_arch during cross-building, causing wrong architecture packages to be pulled. Bug is in craft-parts executor/part_handler.py line 1334. | |
| qwen/qwen3.8-27b |
Impact:
30
Quick Win:
18
Staleness:
95
Complexity:
40
Confidence:
65
Support Request:
10
|
close stale | Cross-building stage-packages pulls host architecture packages instead of target architecture. Issue is 8.7 years old with no maintainer interaction or comments. Old cross-build mode deprecated in favor of core24/craft-parts architecture. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
95
Complexity:
40
Confidence:
90
Support Request:
10
|
close stale | Cross-building stage-packages pulls host architecture packages instead of target. Issue is over 8 years old with no maintainer interaction or comments. | |
| qwen/qwen3.6-35b-a3b |
Staleness:
98
Complexity:
30
Confidence:
85
Support Request:
10
|
close stale | Cross-building pulls stage-packages for the host architecture instead of the target architecture. The report has no labels, zero comments, and has been inactive for over eight years. | |
| qwen3.6-35b-a3b-mtp-q6 |
Staleness:
98
Complexity:
45
Confidence:
90
Support Request:
10
|
close stale | Cross-building with stage-packages pulls host architecture packages instead of target architecture. Issue is completely inactive for over 8 years with no maintainer response or labels. |
Update history
| Date | Change |
|---|---|
| created |
Related work
-
Related To:
snapcore/snapcraft#1536
(confidence 94%)
The reporter explicitly identified its :target package-architecture feature as relevant to this bug.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #4542 When cross-compiling incorrect architecture `stage-packages` are fetched | snapcraft | closed | Closed as expected behavior: stage packages use the build architecture; cross-builds require target-qualified package names and repositories. | |
| #1686481 stage-packages does not handle unmet dependencies | snapcraft (launchpad) | closed | Fixed by canonical/craft-parts#258 (commit 8d0ee1cd), making stage-packages use repositories for the build host architecture when resolving cross-architecture packages. |