repo: restore marked-install strategy for apt-cache
Metadata
Current evaluation
Merged PR #3086 (17cc75aae), restoring AptCache marked installs for build and stage packages and fixing primed-stage-packages name/version parsing from ':' to '='.
Resolution: closed resolved
Reason: PR #3086 was merged as commit 17cc75aae. It restored marked-install handling with a read-only host cache for build packages and a transient stage-package cache, and corrected primed-stage-packages parsing.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Re-introduce refactored AptCache to wrap apt-cache usage.
Use it in read-only mode for working with the host cache
for use with build-packages, and use it to create a new
transient cache for use with handling stage packages. It
will symlink the host /etc/apt configuration so it matches
the host configuration, but allow for an empty cache to mark
packages and dependencies for fetching.
The strategy of marking stage packages ourselves was more
complicated than it appeared, and this achieves a far better
result with less risk of affecting existing snaps.
Additionally this fixes primed-stage-packages, which mistakenly
was using a `:` instead of `=` to split the name and version.
TODO: unit tests and a spread test for the manifest
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 |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #3086 (17cc75aae), restoring AptCache marked installs for build and stage packages and fixing primed-stage-packages name/version parsing from ':' to '='. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #3086 as commit 17cc75aae, restoring AptCache marked-install handling for host build and transient stage-package caches; fixed primed-stage-packages version splitting. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in #3086 (17cc75aae), restoring AptCache marked installs for host build packages and transient stage-package caches; also corrected primed-stage-packages name/version splitting. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged after approval and CI. Restores the marked-install strategy for apt-cache by refactoring AptCache for safe cache handling. Fixes a primed-stage-packages parsing bug and improves stage package dependency management. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Restores apt-cache marked-install strategy by refactoring AptCache to safely manage host and transient caches for stage packages. Fixes a primed-stage-packages parsing bug that incorrectly used a colon instead of an equals sign. |
Update history
No update history recorded yet.
Related work
-
Caused By:
snapcraft#3030
(confidence 95%)
Merged as 66467629d, #3030 removed _AptCache; #3086 restored the marked-install strategy.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #3030 repo: drop _AptCache and add migrate to install_stage_packages() | snapcraft | merged | Merged in PR #3030 as commit 66467629d, replacing custom _AptCache handling with install_stage_packages() and updating package staging, tests, and ROS plugins. | |
| #3221 repo: install requested build-package versions | snapcraft | merged | Merged PR #3221 (commit 727c46f22) restored installation of versioned build packages, using --allow-downgrades so requested apt versions are honored. | |
| #1122 repo: cache stage packages for faster future use. | snapcraft | merged | Merged PR #1122 (20b422459), reusing cached stage packages and copying the apt cache into cleanbuild containers to fix LP #1661383. | |
| #2119 repo: automatically prune unneeded stage-packages | snapcraft | merged | Merged as b9faf80bd, adding APT cache analysis to remove automatically installed stage-packages left unneeded after alternative dependency resolution. |