repo: add package repository handling (CRAFT-846)
Metadata
Current evaluation
Merged into main. Introduces apt repository and PPA handling definitions and helpers, consolidated from multiple prior pull requests. Approved by reviewers, passed all CI checks, and increased test coverage.
Suggested action: —
No scores available.
Issue body
Port definitions and helpers to add apt repositories and PPAs. Original
code from PRs #2911, #3341, #3359, #3363.
Co-authored-by: Chris Patterson <chris.patterson@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/)?
- [ ] 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 into main. Introduces apt repository and PPA handling definitions and helpers, consolidated from multiple prior pull requests. Approved by reviewers, passed all CI checks, and increased test coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into the 7.0 branch, adding apt repository and PPA handling definitions and helpers. Code was ported from PRs #2911, #3341, #3359, and #3363. The change increased overall test coverage by 1.56 percent with 93.18 percent diff coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into snapcraft/7.0, adding apt repository and PPA handling definitions and helpers. Ported from prior pull requests, the changes were integrated with 93.18% diff coverage and a 1.56% overall coverage increase. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #217 repo: add support for package repositories | rockcraft | merged | Added support for package repositories. Merged after approval by two reviewers and passing CI checks. Modified 16 files (+346/-31), resolving CRAFT-1553 and enabling downstream testing. | |
| #3801 package repositories: ensure dependencies are installed before use | snapcraft | merged | Merged into main after reviewer approval and passing CI checks. The change ensures package repository dependencies are installed before use, resolving CRAFT-1149. Despite a minor coverage decrease noted by Codecov, the PR was successfully integrated. | |
| #3649 parts,repo: integrate package-repositories (CRAFT-847) | snapcraft | merged | Merged into the 7.0 branch following approval and CI checks. Integrates package-repositories support to configure host apt repositories based on snapcraft.yaml. Updates span 21 files with 447 additions and 29 deletions. | |
| #56 Add a fuller integration test, and multiple minor changes to support it | craft-archives | merged | Merged. Added a comprehensive integration test for repo.install() with minor supporting changes across seven files. Approved, passed CI, and achieved 100% diff coverage. Resolves CRAFT-1649 and CRAFT-1682. | |
| #29 repo: replace "apt-key" with "gpg" to handle keys | craft-archives | merged | Merged update replacing the deprecated apt-key command with gpg for repository key management. Adds integration tests, removes an obsolete mock, and resolves CRAFT-1626. Approved by reviewers, passed CI checks, and increased test coverage by 0.03%. | |
| #465 refactor: use package-repositories support from craft-app | rockcraft | closed | Closed without merge. The refactor to adopt craft-app package-repositories support received no reviews, CI checks, or comments. Abandoned due to prolonged inactivity. | |
| #57 repo: unify package repository representations | craft-archives | merged | Merged. Consolidates package_repositories and projects modules into a unified model. Removes duplicate Apt classes, switches validation to Pydantic errors, and consolidates tests. Approved and merged after passing CI checks. | |
| #124 packages: add package download helper (CRAFT-511) | craft-parts | merged | Merged a package download helper to cache repository packages for later installation in the overlay chroot step. Approved by two reviewers, the update modifies 10 files with 109 additions and 14 deletions. | |
| #5124 build(deps): bump craft-archives | snapcraft | merged | Merged to bump the craft-archives dependency, resolving LP#2083013 by fixing package-repository conflicts with default sources in Ubuntu Noble. Approved by two reviewers, passed CI, and modified five files. | |
| #3341 repo: move apt ppa helpers into apt_ppa module | snapcraft | merged | Merged refactoring that moves apt ppa helper functions from the _deb module into a dedicated apt_ppa module. The change improves test coverage, passes CI validation, and received reviewer approval. |