← Back to issue list

sources: support "deb" sources

View original Github issue

Metadata

Project
craft-parts
Number
#269
Type
pull request
State
merged
Author
tigarmo
Labels
Created
Updated
Closed

Current evaluation

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.

Suggested action:

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
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
#811 Support deb files as sources snapcraft merged Merged support for using .deb files as sources. The change integrates a minimal test deb package, modifies seven files, and was approved by a reviewer. Resolves LP #1604669.
78%
#48 packages: add deb support craft-parts merged Merged, adding Ubuntu deb repository support to refresh package lists, fetch stage packages, and install build packages. Approved by two reviewers, passed CI checks, and introduced 1,313 lines across seven files.
78%
#963 sources: refactor deb source into module. snapcraft merged Merged refactoring changes that extract Deb source logic into a dedicated module at sources/_deb.py. This restructuring advances progress on Launchpad bug #1648906 and passes CI checks with maintained code coverage.
76%
#1729 sources: use arfile to extract debs snapcraft merged Merged a fix replacing DebFile with ArFile to extract .deb packages, resolving apt_inst import failures on non-Debian hosts. Approved and merged after passing CI checks.
72%
#1878 repo: use debian.arfile instead of dpkg-deb snapcraft merged Merged a fix replacing dpkg-deb with debian.arfile in the repo source handler to bypass a tar and sshfs bug. Reviewers approved the change and suggested extracting shared extraction logic in a follow-up.
70%
#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.
70%