package repositories: introduce path property for exact paths
Metadata
Current evaluation
Merged PR #3336 added exact-path support and validation for package repositories, dependency injection, and expanded tests; merged as commit 104c6a807.
Resolution: closed resolved
Reason: PR #3336 was merged into master as commit 104c6a807. It introduced the package-repository path property, validation, apt_repo injection, and unit coverage.
Evaluated by: mr-cal-bot
No scores available.
Issue body
Paths pecifies an exact path relative to `url`.
In sources.list(5) manpage, an "exact path" is a suite that ends
with a "/", and cannot be combined with components.
Snapcraft will make this translation for apt, but exposes these
two distinct usages differently in snapcraft.yaml configuration.
- Add path property, enforcing dependencies & exclusivity in
validate(). Make components and suites (and path) optional
in the schema, but validate the various cases when instantiating.
- Refactor the unit tests to migrate to the current style & do
a little organization to make them easier to follow.
- Add validate() for PackageRepositoryPpa as done previously with
PackageRepositoryApt.
- Add apt_repo parameter for repo dependency injection. This will
simplify test mocking while maintaining current behavior by
specifying a default value of repo.Ubuntu.
- Add unit tests to cover new functionality.
- Minor specification tweaks/fixes:
- Don't require the '/' if a path is specified, Snapcraft will
just append it if needed).
- Fix statement about path starting with "/", it should be
"ending".
- Replace usage of "absolute" path with "exact".
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 #3336 added exact-path support and validation for package repositories, dependency injection, and expanded tests; merged as commit 104c6a807. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #3336, adding exact-path support and validation for apt package repositories; squash-merged as commit 104c6a807. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged #3336, adding exact-path support to package repositories with schema validation, exclusivity checks, dependency injection, and expanded unit tests. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Introduced a path property for exact paths in package repositories, enforcing validation and exclusivity. Refactored unit tests, updated documentation, and addressed CI feedback. Approved with increased coverage. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged into master. Adds a path property for exact package repository paths, enforces validation logic, refactors unit tests, and corrects spec documentation. Final test failures were resolved, increasing coverage by 0.04%. |
Update history
No update history recorded yet.
Related issues
No related issues found above the similarity threshold.