fix(legacy): accept --build-for on long-form architecture remote build
Metadata
Current evaluation
PR #5819 was closed as superseded by merged PR #6090 (commit 527ff6d2c), which improved the legacy remote-builder’s --build-for error handling instead.
Resolution: closed superseded
Reason: A maintainer explicitly marked #5819 as superseded by #6090. That PR was merged as commit 527ff6d2c and replaced the proposed behavior with a clearer error for unsupported legacy long-form architectures.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you followed the [guidelines for contributing](https://github.com/canonical/snapcraft/blob/main/CONTRIBUTING.md)?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [x] Have you successfully run `make lint`?
- [ ] Have you successfully run `make test`?
---
Changes the behavior of the legacy remote builder to accept `--build-for` when using the long-form architecture notation.
The issue was that for the long-form, architectures were decoded from the project, and then an error would be raised even if `--build-for` narrowed the project to a valid subset of architectures. Now, `--build-for` is given priority and an error is only raised if the selected platforms aren't a subset of the available ones.
I know that the error message says `--build-on`, both flags had this issue and I don't see a way to raise a more generic error message with click - it seems to only allow raising for a single bad flag usage.
Fixes #5817.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed superseded | PR #5819 was closed as superseded by merged PR #6090 (commit 527ff6d2c), which improved the legacy remote-builder’s --build-for error handling instead. | |
| stealth/space-bunny-alpha | — | closed superseded | PR #5819 was closed as superseded by merged PR #6090 after testing showed --build-for still failed with long-form architectures on core20. | |
| qwen/qwen3.6-35b-a3b | — | — | Superseded by PR #6090. This PR attempted to fix legacy remote build handling of the --build-for flag with long-form architectures. Testing revealed it still failed, so the maintainer closed it in favor of a newer fix. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Fixes --build-for handling with long-form architecture notation in the legacy remote builder. Testing revealed the change did not resolve the error. The pull request was closed and superseded by #6090. |
Update history
No update history recorded yet.
Related work
-
Superseded By:
canonical/snapcraft#6090
(confidence 100%)
The maintainer cited #6090 as the replacement; it was merged and resolves the related #5817 behavior.
-
Related To:
canonical/snapcraft#5817
(confidence 100%)
#5819 originally targeted #5817; #6090 later addressed that issue with clearer validation.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #6090 feat(remote-build/legacy): improve error when building with --build-for | snapcraft | merged | Merged PR #6090 improved legacy remote-builder errors for core20, clarifying that --build-for requires shorthand architectures because of Launchpad limitations. It addresses #5817 and supersedes #5819. | |
| #3919 cli: move remote build out of legacy | snapcraft | merged | Merged as 686d69711, moving remote-build CLI logic out of legacy, exposing --build-for, hiding --build-on, and stopping the emitter during confirmation prompts. | |
| #5817 Unclear remote build error with ``--build-for`` on core20 | snapcraft | open | Legacy remote-build rejected --build-for on core20 long-form architectures with a cryptic 'architecture list is already set' error. Maintainers traced it to a long-standing Launchpad/legacy builder limitation; fixed as a better error message in #6090, and the legacy builder was later removed entirely. | |
| #4793 fix(remote-build): don't fail with certain archs | snapcraft | merged | Merged into the hotfix branch as commit 53ec55cef, fixing architecture-specific remote-build failures from #4780, with companion support in craft-application#343. | |
| #2774 remote-build: architecture handling | snapcraft | merged | Merged PR #2774 via commit 8300281d6, cleaning up and fixing remote-build architecture handling. Missing CLI unit tests were acknowledged as follow-up work. | |
| #5676 remote build: remove legacy remote builder | snapcraft | closed | Fixed in merged PR #5994 (commit b08f1a66e) for Snapcraft 9.0 by removing the legacy remote builder, selection logic, strategy env var, and legacy credential support. | |
| #2467 remote-build: add support for `--build-for` | charmcraft | open | remote-build still rejects --build-for; this untriaged feature request would enable architecture-selective Launchpad builds and reduce queue-related build time. | |
| #5265 fix(remotebuild): don't fail when cross-compiling | snapcraft | merged | Merged PR #5265 fixed remote cross-compilation by sending build-on architectures to Launchpad; commit f94da8f13 closed #4996. |