[WIP] repo: ubuntu implementation refactoring with initial package-management
Metadata
Current evaluation
Closed without merging. Marked as a work-in-progress, the Ubuntu package management refactoring received no reviews or CI checks and was abandoned after minimal activity.
Suggested action: —
No scores available.
Issue body
*Warning: this is a large PR, larger than I'd like - but it snowballed over the last two days given the coupling between things... For discussion purposes anyhow...*
Instead of allowing support for multiple apt instances, we consolidate
to the system's configuration. As build-environments are instantiated for
builds, we do not have the prior concerns of impacting the user's system
(in destructive mode). Even in destructive mode, we shouldn't be
causing damage.
- Use a single instance of the apt cache, which should improve performance
due to the penalty of recreating caches in numerous points. It also
simplifies usage without the requirement of copying/sharing instances
for what is (now) a system-wide resource.
- Remove old scheme for gathering stage packages, and simply do a scan
ourselves for the packages and their dependencies. Then fetch them
using python-apt's fetch_binary().
- Merge in the manifest.txt with a pre-processed default list of the
filtered packages. Future work will attempt to use the manifest shipped
as part of the core snap.
- Rework of the ROS plugins to remove their current usage of Ubuntu()
and replace it with a simpler set of APIs to simply install the required
repository and keyrings.
TODO:
- squelch python-apt's debug log
- fixup tests
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 | — | — | Closed without merging. Marked as a work-in-progress, the Ubuntu package management refactoring received no reviews or CI checks and was abandoned after minimal activity. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Abandoned and closed without merging. The WIP refactoring consolidated Ubuntu apt cache handling, updated package fetching, and simplified ROS plugin APIs. No discussion occurred, and pending tasks remained unresolved. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Closed without merge. Marked as work in progress for discussion, the changes consolidated apt cache handling, refactored package management, and updated ROS plugins. No comments were received, and the branch appears abandoned or superseded. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #1104 repo: refactor into package. | snapcraft | closed | Closed and abandoned without merging. The maintainer commented that the repository refactoring was no longer needed, halting the review process. | |
| #2880 package management repository configuration | snapcraft | closed | Closed without merge. The changes added extensive package management repository configuration across 28 files but received no reviews, CI validation, or comments, indicating the work was abandoned. | |
| #3256 [wip] repo: consolidate BaseRepo and Ubuntu & reorganize package | snapcraft | closed | Closed as stale after a reviewer flagged missing platform guards and error handling. The author was asked to reopen it when ready, but it was never merged or updated. |