Skip to content

Conversation

@cmatsuoka
Copy link
Contributor

@cmatsuoka cmatsuoka commented Nov 19, 2025

Create control and data tarballs and archive them in a .deb file.
Filename is currently based on the main project name and will be
adjusted to use the correct package name after the project model
is in place. Control metadata and checksum files will be added
in a separate PR.

Fixes #37

  • Have you followed the guidelines for contributing?
  • Have you signed the CLA?
  • Have you successfully run make lint && make test?

DEBCRAFT-17

@cmatsuoka cmatsuoka requested a review from Copilot November 19, 2025 16:01
@cmatsuoka cmatsuoka force-pushed the work/DEBCRAFT-17-Create-deb-artifact branch from 9664472 to 4c440d1 Compare November 19, 2025 16:02
@cmatsuoka cmatsuoka force-pushed the work/DEBCRAFT-17-Create-deb-artifact branch from 4c440d1 to 143c8d6 Compare November 19, 2025 16:04
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements the initial functionality for creating Debian (.deb) packages using zstandard compression. The implementation creates control and data tarballs and archives them into a .deb file format, though metadata and checksums will be added in a future PR.

Key changes:

  • Added zstandard library as a new dependency for efficient compression
  • Replaced simple tar.xz packaging with proper .deb file creation using ar archives
  • Implemented separate creation of control.tar.zstd and data.tar.zstd files

Reviewed Changes

Copilot reviewed 2 out of 3 changed files in this pull request and generated 6 comments.

File Description
pyproject.toml Adds zstandard>=0.25.0 as a project dependency
uv.lock Updates lock file with zstandard package metadata and wheel distributions for multiple platforms
debcraft/services/package.py Implements .deb package creation with zstandard-compressed control and data archives, including new helper functions for creating each tarball
Comments suppressed due to low confidence (1)

debcraft/services/package.py:23

  • Import of 'shutil' is not used.
import shutil

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@cmatsuoka cmatsuoka force-pushed the work/DEBCRAFT-17-Create-deb-artifact branch from 93e69a1 to 5d7f947 Compare November 20, 2025 12:10
Create control and data tarballs and archive them in a .deb file,
currently based on the main project name. This will be adjusted
to use the correct package name after the project model is in
place. Control metadata and checksum files will be added in a
separate PR.

Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
@cmatsuoka cmatsuoka force-pushed the work/DEBCRAFT-17-Create-deb-artifact branch from 5d7f947 to e9a0f7d Compare November 20, 2025 12:20
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
@cmatsuoka cmatsuoka force-pushed the work/DEBCRAFT-17-Create-deb-artifact branch from fc80828 to e7df5ca Compare November 20, 2025 13:03
@cmatsuoka cmatsuoka marked this pull request as ready for review November 20, 2025 13:13
@cmatsuoka cmatsuoka requested a review from bepri November 20, 2025 13:13
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
@cmatsuoka cmatsuoka requested a review from bepri November 21, 2025 12:18
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
Signed-off-by: Claudio Matsuoka <claudio.matsuoka@canonical.com>
@lengau lengau requested review from tigarmo and removed request for bepri November 24, 2025 16:49
@cmatsuoka cmatsuoka merged commit ae42e57 into main Nov 25, 2025
12 checks passed
@cmatsuoka cmatsuoka deleted the work/DEBCRAFT-17-Create-deb-artifact branch November 25, 2025 13:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Create deb artifact

5 participants