repo: fix for multi-arch virtual-packages
Metadata
Current evaluation
Merged fix for multi-arch virtual package resolution. Correctly handles architecture tags, reverts or_dependencies to target_versions, and fixes an apt.Package.architectures method call. Approved and passed CI.
Suggested action: —
No scores available.
Issue body
wine-devel-i386 does not have the explicit ":i386" tag, but
the virtual package is provided by "wine-devel-i386:i386".
Account for this possibility by resolving the package and
checking the architecture first, if no arch is specified by
the user.
- Revert the use of or_dependendencies back to target_versions
now that target_arch should correct the previously faulty
behavior (where target_versions ended up switching to the
incorrect arch after following an :any package).
- Fix apt.Package.architectures to architectures() method call.
Signed-off-by: Chris Patterson <chris.patterson@canonical.com>
- [ ] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/CONTRIBUTING.md)?
- [ ] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `./runtests.sh static`?
- [ ] Have you successfully run `./runtests.sh tests/unit`?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged fix for multi-arch virtual package resolution. Correctly handles architecture tags, reverts or_dependencies to target_versions, and fixes an apt.Package.architectures method call. Approved and passed CI. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix for multi-arch virtual package resolution. Handles implicit architecture tags by resolving packages and checking architectures first. Reverts or_dependencies to target_versions and corrects the apt.Package.architectures method call. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged fix for multi-arch virtual package resolution. Correctly handles implicit architecture tags by resolving packages and checking architectures first. Reverts or_dependencies to target_versions and fixes apt.Package.architectures method invocation. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3080 repo: fix for multi-arch stage-package scenario | snapcraft | merged | Merged fix for multi-arch stage-package dependency resolution. Uses python-apt's or_dependencies to resolve architectures correctly, passes target_arch internally, and adds fallback logic. Approved and merged after test updates. | |
| #3035 repo: fix resolution of virtual build packages | snapcraft | merged | Merged fix for virtual build package resolution regression. Ensures proper resolution and versioning persistence for build and stage packages, adds logging, and includes unit and spread tests. Approved and passed CI. | |
| #3740 repo: enable package repository architectures | snapcraft | merged | Merged into main. Enables package repository architectures by running dpkg --add-architecture for listed architectures, resolving Launchpad bug #1973213. Approved and passed CI with full coverage. | |
| #1050 repo: add multiarch support for stage packages. | snapcraft | merged | Merged into master. Adds multiarch support for stage packages via the name:arch syntax, resolving LP #1655797. The author noted a simpler solution was proposed and reassigned the task, but the PR was ultimately merged. | |
| #876 repo: allow for architecture-specific stage-packages | snapcraft | merged | Merged. Implements architecture-specific stage-packages using a package:arch syntax in the stage-packages list. A per-part architecture approach was rejected during review. The updated code passed CI and was merged. | |
| #3461 repo: account for arch & version when filtering stage packages | snapcraft | merged | Merged into master. Refactored stage package filtering to correctly handle architecture and version qualifiers via a new helper. Updated cross-compile tests, achieved 90.74% diff coverage, and passed CI after maintainer approval. | |
| #898 Revert "Allow for architecture-specific packages (#876)" | snapcraft | merged | Merged a revert of commit 9d6f953 to resolve LP: #1637282, as the original syntax was incompatible with deb multiarch. The change removes architecture-specific package handling and prompted the 2.22.1 release. | |
| #96 sources: only add "compatible" architectures | craft-archives | merged | Merged fix correcting dpkg parameter order and restricting architecture addition to compatible pairs (amd64/i386, arm64/armhf) to prevent system breaks. Approved, passed CI, and achieved 100% diff coverage. | |
| #136 fix: add multi-arch to package and control models | debcraft | merged | Merged changes adding Debian Multi-Arch field support to the Debcraft package model and generated control file, resolving issue #125. Approved by two reviewers across 8 files. | |
| #1185 repo: add version support for build-packages | snapcraft | merged | Merged after adjusting apt_cache to exclude package versions, adding version support for build-packages. Rebased changes were re-applied and tests passed. Approved by two reviewers. |