← Back to issue list

virtual (build) packages are resolved by first match

View original Launchpad issue

Metadata

Project
snapcraft (launchpad)
Number
#1758895
Type
issue
State
open
Author
~minagalic
Labels
Created
Updated
Closed

Current evaluation

Bug report that virtual build packages (e.g. tclsh) are resolved by first apt match, possibly picking the wrong architecture. Filed 8+ years ago against snapcraft/internal/repo/_deb.py, which no longer exists in the current codebase; no maintainer interaction.

Suggested action: close stale

Reason: The issue is 3080 days old with 0 comments, no labels, and no maintainer interaction, and it references snapcraft/internal/repo/_deb.py — a path that no longer appears in the current repo layout (which shows snapcraft/parts/, snapcraft/elf/, etc.), indicating the code was substantially restructured and the affected version is no longer supported. If the same first-match behavior persists in the new code, it should be re-filed against the current path rather than this 8-year-old report.

Impact: 40 Quick Win: 22.0 Staleness: 95 Complexity: 45 Confidence: 60 Support Request: 10

Issue body

this can lead to problems when a package such as `tclsh` is provided by `tcl:386` or `tcl:amd64` and the amd64 package is already installed. for inexplicable reasons, those two packages conflict, so rather than the [following line](https://github.com/snapcore/snapcraft/blob/master/snapcraft/internal/repo/_deb.py#L248) if apt_cache.is_virtual_package(name): name = apt_cache.get_providing_packages(name)[0].name a better safer approach might be to first filter by `architecture`.

Evaluation history

Date Model Scores Action Summary
qwen/qwen3.8-27b
Impact: 40
Quick Win: 22.0
Staleness: 95
Complexity: 45
Confidence: 60
Support Request: 10
close stale Bug report that virtual build packages (e.g. tclsh) are resolved by first apt match, possibly picking the wrong architecture. Filed 8+ years ago against snapcraft/internal/repo/_deb.py, which no longer exists in the current codebase; no maintainer interaction.
qwen/qwen3.6-35b-a3b
Staleness: 98
Complexity: 20
Confidence: 75
Support Request: 5
needs triage Virtual build packages resolve by first match regardless of architecture, causing conflicts. Untriaged with no maintainer interaction or comments in over 8 years.
qwen/qwen3.6-35b-a3b
Staleness: 95
Complexity: 45
Confidence: 90
Support Request: 10
close stale Virtual build packages are resolved by first match without architecture filtering, causing conflicts when multiple architectures provide the same virtual package. Issue is extremely old with no maintainer response.
qwen3.6-35b-a3b-mtp-q6
Staleness: 98
Complexity: 35
Confidence: 90
Support Request: 5
close stale Virtual build packages are resolved by first match without architecture filtering, causing conflicts when multiple architectures provide the same package. Open for over 8 years with no maintainer response.
qwen3.6-35b-a3b-mtp-q6
Staleness: 99
Complexity: 20
Confidence: 95
Support Request: 0
close stale Virtual build packages resolve by first match, ignoring architecture and causing conflicts. Suggests filtering by architecture before selection. Open, unassigned, inactive for years.

Update history

No update history recorded yet.

Related issues

Issue Project State Summary Similarity
#5621 Different behavior for a virtual package in stage-packages over architectures and time snapcraft closed Closed as a question. Maintainer clarified Snapcraft delegates resolution to apt, which handles virtual packages ambiguously and may resolve differently across architectures or over time. Rejected as a Snapcraft bug.
73%