sources: add support for 7-zip files
Metadata
Current evaluation
Merged. Adds support for unpacking 7-zip files using libarchive. Contributor signed CLA, resolved conflicts, and passed tests following reviewer approval.
Suggested action: —
No scores available.
Issue body
This allows snapcraft to work with sources in form of `.7z` files.
Unpacking `.7z` is handled using `libarchive` which is already a
dependency of the project.
Tests: As [discussed on rocket chat](https://rocket.ubuntu.com/channel/snapcraft), since there is no support for [writing `7z` files with libarchive yet](https://github.com/libarchive/libarchive/wiki/LibarchiveFormats), I included a simple `test.7z` file only including a file `test.txt` with the text `Text` in it.
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds support for unpacking 7-zip files using libarchive. Contributor signed CLA, resolved conflicts, and passed tests following reviewer approval. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged after adding .7z file support via libarchive. Contributor signed CLA, resolved conflicts, and added integration tests. CI checks passed before merge. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged 7-zip archive support via libarchive. The contributor resolved CLA requirements, squashed commits, and fixed merge conflicts. Tests passed and the feature was integrated into the codebase. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #740 sources: add 7z source handler | craft-parts | merged | Added a 7z source handler for parts. Supersedes #232, uses upstream 7zip, switches linting to Ruff, and updates subprocess calls. Merged after approval by three reviewers and CI fixes. |