feat: create debs for all declared packages
Metadata
Current evaluation
Merged feature generating Debian packages for all declared project packages with proper control metadata, resolving issue #47. Approved by two reviewers. Follow-up PRs opened for remaining review comments.
Suggested action: —
No scores available.
Issue body
Iterate through all packages declared in the project file and
create a deb file, adding proper control metadata to each one.
Fixes #47
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
- [x] Have you followed the guidelines for contributing?
- [x] Have you signed the [CLA](http://www.ubuntu.com/legal/contributors/)?
- [ ] Have you successfully run `make lint && make test`?
---
Output example:
```
$ debcraft pack --verbose
Starting debcraft, version 0.0.post402+g1927a3aae.d20251128
Logging execution to '/tmp/debcraft.log'
Failed to load plugin sdplug
Initializing lifecycle
Installing build-packages
Skipping pull for libpng1.6 (already ran)
Skipping build for libpng1.6 (already ran)
Skipping stage for libpng1.6 (already ran)
Skipping prime for libpng1.6 (already ran)
Packing...
Packed: libpng16-16t64_1.6.43-5build1_amd64.deb, libpng-dev_1.6.43-5build1_amd64.deb, libpng-tools_1.6.43-5build1_amd64.deb
```
Generated artifact:
```
$ dpkg-deb -I libpng-dev_1.6.43-5build1_amd64.deb
new Debian package, version 2.0.
size 120150 bytes: control archive=436 bytes.
577 bytes, 15 lines control
Package: libpng-dev
Source: libpng1.6
Version: 1.6.43-5build1
Architecture: all
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Installed-Size: 606
Section: libdevel
Priority: optional
Description: PNG library - development (version 1.6)
libpng is a library implementing an interface for reading and writing
PNG (Portable Network Graphics) format files.
.
This package contains the header and development files needed to build
programs and packages using libpng.
Original-Maintainer: Maintainers of libpng1.6 packages <libpng1.6@packages.debian.org>
```
Evaluation history
| Date | Model | Scores | Action | Summary |
|---|---|---|---|---|
| qwen/qwen3.6-35b-a3b | — | — | Merged feature generating Debian packages for all declared project packages with proper control metadata, resolving issue #47. Approved by two reviewers. Follow-up PRs opened for remaining review comments. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Generates Debian packages for all declared project packages with correct control metadata, resolving issue #47. Enables multi-package deb creation via build output. | |
| qwen3.6-35b-a3b-mtp-q6 | — | — | Merged. Implements Debian package generation for all declared project packages with proper control metadata. Resolves issue #47. Subsequent improvements are tracked in PRs #55, #56, and #57. |
Update history
No update history recorded yet.
Related issues
| Issue | Project | State | Summary | Similarity |
|---|---|---|---|---|
| #43 feat: initial creation of deb package | debcraft | merged | Merged initial .deb package creation by archiving control and data tarballs, resolving #37. Approved by two reviewers with all CI checks passing. Package naming and metadata will be refined in follow-up PRs. | |
| #1693 feat: use '@' for separating deb names and versions | craft-parts | merged | Merged. Expands parsing to accept @ as a valid separator for deb package names and versions in build-packages and stage-packages, alongside =. Approved by two reviewers and merged after CI validation. |