sources: support "deb" sources
Metadata
Current evaluation
Merged PR #269 in commit d75aa1d8, adding .deb source support via dpkg-deb and sharing extract_deb() with stage-package handling.
Resolution: closed resolved
Reason: PR #269 was merged into the project as commit d75aa1d8. It introduced the deb source handler and refactored deb extraction into shared code.
Evaluated by: mr-cal-bot
No scores available.
Issue body
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
Unpack deb packages in the same way that the stage-packages DebPackage
does (via dpkg-deb). This motivates a small refactoring to move
"extract_deb()" to a place that both handlers can use.
A lot of the code on this PR comes from a work-in-progress branch by @cmatsuoka . Thanks!
-----
CRAFT-117
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| stealth/space-bunny-alpha | — | closed resolved | Merged PR #269 in commit d75aa1d8, adding .deb source support via dpkg-deb and sharing extract_deb() with stage-package handling. | |
| stealth/space-bunny-alpha | — | closed resolved | Merged in canonical/craft-parts#269 (commit d75aa1d8), adding deb sources via dpkg-deb and sharing extract_deb() with stage-package handling. | |
| qwen/qwen3.6-35b-a3b | — | — | Merged. Adds deb source support by unpacking packages via dpkg-deb and refactors extract_deb() for reuse. Resolves CRAFT-117, approved by one reviewer, passes CI, and changes +289/-10 lines across seven files. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Implements deb source support by unpacking packages via dpkg-deb, mirroring stage-packages behavior. Refactored extract_deb() for handler reuse. Code primarily authored by @cmatsuoka. Addresses CRAFT-117. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #48 packages: add deb support | craft-parts | merged | Merged PR #48 as commit e28e84bb, adding Debian repository support to refresh package lists, fetch and unpack stage packages, and install build packages. | |
| #963 sources: refactor deb source into module. | snapcraft | merged | PR #963 merged as 9aad0e3a5, extracting the Deb source implementation into sources/_deb.py to advance Launchpad bug #1648906. | |
| #941 sources: support symlinks in deb sources | snapcraft | merged | Merged PR #941 (commit 2ed733d7c), switching deb extraction to python3-debian so symlinks in deb sources are preserved instead of becoming directories. | |
| #260 Adding source handler for deb packages | craft-parts | closed | Added a source handler for deb parts sources. Resolved by merged PR canonical/craft-parts#269 (commit d75aa1d8), which added craft_parts/sources/deb_source.py using dpkg-deb extraction; maintainer closed the issue. | |
| #811 Support deb files as sources | snapcraft | merged | Debian .deb source support was merged in snapcraft#811 via commit 073a73dc7, including a small test package for staging a snap. |