sources: add the local source handler
Metadata
Current evaluation
Merged the local source handler for pull and update operations on host filesystem sources. Ported from snapcraft, the change was approved by two reviewers, passed CI, and added 522 lines across three files.
Suggested action: —
No scores available.
Issue body
The local source handler implements pull and update for sources that
are already in the host filesystem.
Note: the source handler implementation and accompanying tests are a
direct port of the corresponding files in snapcraft and may be revisited and
refactored in the future.
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
-----
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged the local source handler for pull and update operations on host filesystem sources. Ported from snapcraft, the change was approved by two reviewers, passed CI, and added 522 lines across three files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Adds a local source handler for host filesystem pull and update operations. Tests and implementation are ported from snapcraft and may be refactored later. Maintainer-authored with CLA signed. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #61 sources: add snap source handler | craft-parts | merged | Merged. Added a snap source handler to download and extract snap package files, ported from Snapcraft. Approved by three reviewers, passed CI, and added 314 lines across eight files. | |
| #149 sources: add the git source handler (CRAFT-588) | craft-parts | merged | Successfully merged a pull request adding a git source handler to specify git repositories as a part source. Code and tests were ported from snapcraft with initialization and write methods removed. Approved and passed CI checks. | |
| #1126 feat: source handler snap support | craft-parts | merged | Added support for source types to specify required snaps for handling. Merged after approval by three reviewers and passing all CI checks. Changes span four files with 46 additions, resolving CRAFT-4561. | |
| #31 sources: add source handler base classes | craft-parts | merged | Merged after approval by two reviewers and passing CI checks. Adds base classes for source handlers to manage copying, downloading, and unpacking files, introducing 507 lines across five files. | |
| #1352 Allow source-type to specify local | snapcraft | merged | Merged. Enables local as a valid source-type in snapcraft.yaml, allowing remote sources to be overridden for local iteration. Approved by two reviewers after discussing implementation and test requirements. Resolves LP #1695886. | |
| #2167 many: detect local source changes | snapcraft | merged | Merged. Resolves LP: #1583718 by comparing local source timestamps to pull state. Snapcraft now automatically triggers re-pulling and subsequent steps on local changes, removing manual cleaning. Approved and merged after test fixes. | |
| #955 sources: convert to package. | snapcraft | merged | Merged conversion of snapcraft/internal/sources.py into a package. Approved by one reviewer and passed CI. This refactoring enables extracting individual source handlers into separate modules in follow-up updates. | |
| #322 sources: improve missing local source error message | craft-parts | merged | Merged. Updates error handling to display a clear source not found message instead of a file copy error when a local source is missing. Approved by two reviewers, passed CI, and changed 17 lines across two files. |