← Back to issue list

Allow platform-independent builds with the "all" architecture

View original Github issue

Metadata

Project
craft-parts
Number
#1019
Type
issue
State
open
Author
lengau
Labels
Type: Enhancement
Created
Updated
Closed

Current evaluation

Feature request to allow 'all' as a build-for architecture in ProjectInfo for platform-independent builds, with per-plugin checks. Unimplemented; counterpart requests in craft-application and snapcraft were closed without implementation or rejected.

Suggested action: close stale

Reason: The issue has had zero comments and no activity for ~14.5 months, and the code still rejects 'all' via InvalidArchitecture in infos.py. More decisively, the counterpart requests are dead: craft-application#360 was closed without implementation and snapcraft#4603 was closed with build-for 'all' explicitly rejected for core24 in favor of architecture-specific builds, so the consuming projects no longer intend to pursue this.

Impact: 35 Quick Win: 12.25 Staleness: 80 Complexity: 65 Confidence: 70 Support Request: 0

Issue body

### What needs to get done Allow using the value "all" when creating a ProjectInfo. When this happens, fail during environment expansion if the user uses `$CRAFT_ARCH_TRIPLET_BUILD_FOR` and fail during part loading if any of the parts can't create platform-independent results. (This will require adding something to the plugin to determine this. For most plugins it's a simple True/False, but for the npm plugin this depends on the value the user set for `npm_include_node`). We don't have to worry about anything in override scripts for determining whether the result can be platform-independent. Only consider the direct output of the plugin. ### Why it needs to get done Make creating platform-independent parts easier.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 35
Quick Win: 12.25
Staleness: 80
Complexity: 65
Confidence: 70
Support Request: 0
close stale Feature request to allow 'all' as a build-for architecture in ProjectInfo for platform-independent builds, with per-plugin checks. Unimplemented; counterpart requests in craft-application and snapcraft were closed without implementation or rejected.
qwen/qwen3.6-35b-a3b
Staleness: 85
Complexity: 65
Confidence: 80
Support Request: 5
needs triage Enhancement request to support an all architecture value for platform-independent builds. Requires plugin interface updates and environment expansion checks. Currently unassigned with no maintainer comments after 14 months.
qwen3.6-35b-a3b-mtp-q6
Staleness: 80
Complexity: 65
Confidence: 85
Support Request: 5
needs triage Feature request to support all architecture for platform-independent builds, requiring plugin and environment expansion updates. Currently unassessed and inactive for over a year.
qwen3.6-35b-a3b-mtp-q6
Staleness: 75
Complexity: 65
Confidence: 70
Support Request: 0
needs triage Implements the all architecture for platform-independent builds. Requires validation during environment expansion and part loading, plus plugin support to detect platform independence. Open, unassigned, and awaiting implementation.

Update history

No update history recorded yet.

Related work

  • Related To: craft-application#360 (confidence 85%)

    Direct counterpart request to accept 'all' as build-for; closed without implementation or PRs.

  • Related To: snapcraft#4603 (confidence 85%)

    Investigation of build-for 'all' support; closed with the feature rejected for core24, directing users to architecture-specific builds.

Related issues

Issue Project State Summary Similarity
#360 Allow build-for "all" for platform-independent builds. craft-application closed Closed without implementation due to inactivity. The request to support all as a build-for architecture for platform-independent builds was abandoned. No resolution, merge, or follow-up PR was created.
83%
#92 Add a short form for platform `all` debcraft open Feature request to accept a platform named 'all' in debcraft.yaml, meaning build on any architecture and build for the current architecture. No maintainer response, labels, or code changes yet; unimplemented.
76%