legacy: install unpinned build packages
Metadata
Current evaluation
Merged a craft-parts backport that collects installed package versions post-installation. This resolves an apt bug causing unwanted downgrades or removals when pinned versions cannot be satisfied. Approved, passed CI, and maintained coverage.
Suggested action: —
No scores available.
Issue body
Collect installed package versions after the installation.
This allows us to collect the real version whilst avoiding a bug in apt where it would downgrade or remove a package in cases where the pinned version cannot be satisfied.
This is a backport of the corresponding change in craft-parts.
Co-authored-by: Sergio Schvezov <sergio.schvezov@canonical.com>
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [x] Have you followed the [guidelines for contributing](https://github.com/snapcore/snapcraft/blob/master/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 `pytest tests/unit`?
-----
CRAFT-1328
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged a craft-parts backport that collects installed package versions post-installation. This resolves an apt bug causing unwanted downgrades or removals when pinned versions cannot be satisfied. Approved, passed CI, and maintained coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a backport from craft-parts to install unpinned build packages. Collecting installed versions post-installation prevents an apt bug that downgrades or removes packages when pinned versions are unsatisfiable. Code coverage remains unchanged. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged a craft-parts backport that collects installed package versions post-installation to prevent an apt bug from downgrading or removing packages when pinned versions are unsatisfiable. Merged without coverage changes. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #245 packages: install unpinned | craft-parts | merged | Merged unpinned package installation to prevent apt downgrades when pinned versions are unsatisfiable. Removes auto-marking, passes only requested packages to apt, and collects post-install versions for backwards compatibility. Resolves CRAFT-1187. | |
| #132 build: pin craft-parts to keep organize from build | debcraft | merged | Merged a craft-parts dependency pin to preserve organize-from-build in Debcraft builds during a Craft Parts regression investigation. Approved, passed CI, and includes a comment specifying unpinning conditions. | |
| #4079 update craft-archives and support apt pinning | snapcraft | merged | Merged into main after approval and passing CI. Updates craft-archives to v0.0.3, restructures key handling, and adds apt repository pinning support. Resolves CRAFT-1646 with 100% diff coverage. | |
| #3221 repo: install requested build-package versions | snapcraft | merged | Merged fix for unimplemented build-package version installation. Explicitly specifies apt package versions and enables downgrades to resolve LP: #1887960. Approved and passed CI checks. | |
| #765 Update dependencies, specially unpinning pydantic now that craft-parts is up to it | charmcraft | merged | Merged after approval. Updated dependencies, specifically unpinning pydantic now that craft-parts supports the newer version. Changes span three files. |