Debian Package Tracker
Register | Log in
Subscribe

debcraft

Easy, fast and secure way to build Debian packages

Choose email to subscribe with

general
  • source: debcraft (main)
  • version: 0.8.1
  • maintainer: Otto Kekäläinen (DMD)
  • arch: all
  • std-ver: 4.7.3
  • VCS: Git (Browse, QA)
versions [more versions can be listed by madison] [old versions available from snapshot.debian.org]
[pool directory]
  • stable: 0.5.0
  • testing: 0.8.1
  • unstable: 0.8.1
versioned links
  • 0.5.0: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
  • 0.8.1: [.dsc, use dget on this link to retrieve source package] [changelog] [copyright] [rules] [control]
binaries
  • debcraft
action needed
Marked for autoremoval on 25 May due to docker.io, golang-github-containers-common, netavark: #1133225, #1133240, #1134297 high
Version 0.8.1 of debcraft is marked for autoremoval from testing on Mon 25 May 2026. It depends (transitively) on docker.io, golang-github-containers-common, netavark, affected by #1133225, #1133240, #1134297. You should try to prevent the removal by fixing these RC bugs.
Created: 2026-04-17 Last update: 2026-05-01 10:05
2 open merge requests in Salsa normal
There are 2 open merge requests for this package on Salsa. You should consider reviewing and/or merging these merge requests.
Created: 2026-04-09 Last update: 2026-04-30 16:50
35 new commits since last upload, is it time to release? normal
vcswatch reports that this package seems to have new commits in its VCS but has not yet updated debian/changelog. You should consider updating the Debian changelog and uploading this new version into the archive.

Here are the relevant commit logs:
commit fd312532ddae2ad3254afc57fc609e669ac1f818
Author: Roland Mas <lolando@debian.org>
Date:   Thu Apr 30 18:03:32 2026 +0200

    Remove redundant test

commit 81194ed1318e78daf0aa298fce884391f7da3805
Author: Roland Mas <lolando@debian.org>
Date:   Thu Apr 16 12:41:20 2026 +0200

    Implement --release-to

commit ad5f856ba5b2d337c2f3fddbcd9fab96c1fbdc6c
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Apr 17 14:25:23 2026 +0000

    Move --extra-repository tests before git repo deletion
    
    The tests for --extra-repository functionality were added in 4c4393d at
    a point after the git repository was intentionally removed, causing them
    to fail in local `make test` run on:
    
        dpkg-source: error: cannot build with source format '3.0 (quilt)': no upstream tarball found at ../entr_5.7.orig.tar.{bz2,gz,lzma,xz}
        dpkg-buildpackage: error: dpkg-source -b . subprocess failed with exit status 255
    
    Move these tests to run before the git repository is deleted, ensuring
    proper tarball generation via git-buildpackage.
    
    Also wrap them properly in `if $CI` clauses to account for how our
    current GitLab CI setup can't persists any artifacts between Debcraft
    runs.

commit 7bbefaeae0ee2eb4570cfcf1f4c27dbc8e15d3db
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Apr 17 10:58:28 2026 +0800

    Remove unnecessary semicolon use

commit 40225561eb38f263e214536e956542e1b3b876c2
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Apr 17 10:57:08 2026 +0800

    Extend static-test to check for unnecessary semicolon use

commit 4637a84c6c088c632e9b71d9dee327f8e6bcc357
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Mar 13 01:58:34 2026 +0000

    Skip Quilt patch application on gbp patch-queue branches
    
    When working on a patch-queue branch created by `gbp pq`, the patches
    are already applied as git commits. Attempting to apply them again with
    Quilt fails because the changes already exist in the working tree and
    the user sees for *every* patch the errors:
    
        Hunk #1 FAILED at 1.
        1 out of 1 hunk FAILED -- rejects in file ...
    
    Fix this by detecting if we're on a ´patch-queue/*` git branch and skip
    the Quilt patch application in that case.

commit f9c3ab0a1688079e095ce89a29011ef1fcee728b
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Mar 20 11:15:07 2026 +0800

    Emit autopkgtest exit code and don't fail on skipped tests
    
    Intentionally only fail if autopkgtest failed and there was clearly an
    error. Don't emit exit codes if tests were merely skipped. This allows
    maintainers to chain commands and for example automatically upload or
    push a commit if it built and tests don't show regressions.

commit 12c324ebbcae898ba461a3c549e00afebd90845a
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Mar 13 16:11:57 2026 +0000

    Save autopkgtest output to test.log alongside build artifacts
    
    Store the test log in the same BUILD_DIR directory as the built
    packages, ensuring tests and their corresponding binaries remain
    together for later reference.
    
    Also update test to match new output.

commit 9fec324ab87a1eb4514b9b1cb9bc826be316392d
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Mar 6 13:36:33 2026 +0000

    Add check to ensure binaries used in autopkgtest are from latest commit
    
    Running tests against stale binaries leads to confusing results if
    developers forget to rebuild after making changes. Compare the timestamp
    of the newest .deb file against the latest git commit to detect when
    binaries are out of sync with the source.

commit ac48bdfab796be26388cd9362cee933c34016c39
Author: Otto Kekäläinen <otto@debian.org>
Date:   Mon Apr 6 10:07:18 2026 +0000

    Convert uscan watch template for GitHub to Dist URL format
    
    The uscan v5 template format generates verbose Owner/Project fields that
    make the watch file harder to grasp, deviating from the GitHub URLs
    people are accustomed to see.

commit 11c3b6bb451979b630ac07d63b4bf978686cdaba
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sat Jan 31 11:25:30 2026 +0800

    Automate watch file migration to uscan v5 format
    
    Before running uscan, ensure the format is v5 so that the immediately
    following uscan run validates the new format works, and the `watch` file
    is guaranteed to be in sync with how the new upstream import was
    actually done.
    
    This decreases changes of a maintainer updating the `watch` file _after_
    a new upstream import and causing it go out of sync.

commit 2d1c9ead53f28345942a29bd7a27af4e0f4ca30e
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sat Mar 14 17:20:20 2026 +0000

    Capture stderr in both build.log and dedicated build.err.log
    
    Previously only stdout was logged to build.log, causing stderr output
    (compile warnings, dpkg errors, etc.) to appear on the terminal but be
    lost from the log files. This made troubleshooting builds difficult.

commit 4fb86a4991ee2b8fd0c1518b0eddea1257f03008
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Mar 13 14:12:29 2026 +0000

    Normalize build log filename to build.log
    
    The debuild-style filename scheme (<package>_<version>_<arch>.build)
    creates unique filenames for each build, which prevented Meld from
    comparing the logs easily. As there was not real practical benefit of
    using the same filename scheme, switch to justing using `build.log`
    always.

commit 27d9503dcf51e82b627bbc340d4c89b07f8b447b
Author: Otto Kekäläinen <otto@debian.org>
Date:   Tue Mar 17 08:07:07 2026 +0000

    Distinguish equals-sign syntax errors from unknown options
    
    Users often type `--distribution=resolute` instead of the required
    `--distribution resolute`, but the previous generic "Unknown option"
    message sent users off track. Detect the equals sign and print a
    specific hint so they can correct their invocation immediately.

commit dc92b7f0456a9ddb6a3029c416dd47982d68eff6
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sat Mar 14 08:39:26 2026 +0000

    Add shebang to pristine-tar.inc.sh to ensure consistent shell
    
    The pristine-tar.inc.sh script is sourced by other scripts but lacks a
    shebang line. While this technically works because the sourcing script
    already has a shell interpreter, adding the shebang makes the script's
    intended interpreter explicit and allows it to be executed directly
    during development or debugging.
    
    This follows the common convention of always including a shebang line
    in shell scripts, even those primarily intended to be sourced.

commit e9fca9af90aedde0d7ea21d386da6007be5ec9fb
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sat Mar 14 08:26:59 2026 +0000

    Clean up source directory after build when --copy is used
    
    When using `--copy`, the entire source tree is copied to
    $BUILD_DIR/source and left behind after the build completes, wasting
    disk space.
    
    Add an explicit cleanup step for the copied source directory when COPY
    mode is active. Also add '|| true' to the rmdir call for the non-copy
    case to avoid build failure if the directory is not empty.

commit ac10665ee61346a7b13c8465e3d8adec1700a437
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sat Mar 14 05:27:18 2026 +0000

    Force color output when possible
    
    Recent commits that redirect output to log files caused color codes to disappear. Autopkgtest and cmake both
    disable colors when they detect non-TTY output or log file writing.
    
    Set persistent environment variables in the container image to force color
    output regardless of TTY detection or log file redirection for prettier user experience.

commit 8c971ae3d858139e982fa873bc39a16933ccc95f
Author: Otto Kekäläinen <otto@debian.org>
Date:   Fri Mar 13 15:09:46 2026 +0000

    Set LC_ALL=C in Containerfile for additional consistency
    
    Ensure consistent locale settings everywhere by baking them into the
    container.

commit d5d202eedb724244fddf5a37d1364a049ce2e90d
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sun Feb 22 12:27:39 2026 +0800

    Remove excess usage of semicolon and put functions on their own line

commit aeab6345ba89b26fdc30c82a26e530a79e252f70
Author: Otto Kekäläinen <otto@debian.org>
Date:   Thu Mar 26 11:34:36 2026 +0000

    Skip mk-build-deps when no control file is present for downloader container
    
    The downloader container was failing to build because it uses the same
    Containerfile as the build containers, but doesn't need to install build
    dependencies. When building the downloader container, no control file is
    copied to the build context, causing mk-build-deps to fail when trying
    to read /control.
    
    Make the build dependency installation conditional on the presence of a
    control file. This allows the downloader container to build successfully
    while preserving the build dependency verification for actual package
    builds.
    
    Fixes regression in 6eae892. Previously the `mk-build-dep -t` flag delegated
    the install command to `apt-get` and didn't care about the exit code,
    and thus didn't fail building the container.

commit 3549a7f4cf8dd846b7bc6384d67ac9292f6c7aa2
Author: Otto Kekäläinen <otto@debian.org>
Date:   Thu Mar 5 14:42:11 2026 +0000

    Add dry-run check for build dependencies before installation
    
    Add a pre-flight check using `apt-get install --dry-run` on the
    build-deps package before attempting actual installation. This clearly
    shows which specific packages are missing or have version conflicts,
    making it much easier for users to understand what needs to be fixed.
    
    Before:
    
        Solving dependencies...
        The following packages will be REMOVED:
          spdx2dep-build-deps
        0 upgraded, 0 newly installed, 1 to remove and 12 not upgraded.
        1 not fully installed or removed.
        After this operation, 9216 B disk space will be freed.
        (Reading database ... 28815 files and directories currently installed.)
        Removing spdx2dep-build-deps (1.0) ...
        mk-build-deps: Unable to install spdx2dep-build-deps at /usr/bin/mk-build-deps line 470.
        mk-build-deps: Unable to install all build-dep packages
        Error: building at STEP "RUN [ -z $HOST_ARCH ] || dpkg --add-architecture $HOST_ARCH;     apt-get update -q &&     DEBIAN_FRONTEND=noninteractive mk-build-deps -r -i ${HOST_ARCH:+--host-arch $HOST_ARCH} /control       -t 'apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends'": while running runtime: exit status 1
        DEBCRAFT ERROR: Container build failed - see output above for details. If apt fails on missing packages, try '--pull' to build container from scratch.
    
    After:
    
        Solving dependencies...
        Some packages could not be installed. This may mean that you have
        requested an impossible situation or if you are using the unstable
        distribution that some required packages have not yet been created
        or been moved out of Incoming.
        The following information may help to resolve the situation:
        The following packages have unmet dependencies:
         builddeps:. : Depends: dh-python but it is not going to be installed
                       Depends: python3-all but it is not going to be installed
                       Depends: python3-pytest but it is not going to be installed
                       Depends: pybuild-plugin-pyproject but it is not going to be installed
                       Depends: python3-pytest but it is not going to be installed
                       Depends: python3-reuse but it is not installable
         builddeps:essentials : Depends: build-essential but it is not going to be installed
        E: Unable to satisfy dependencies. Reached two conflicting assignments:
           1. builddeps:.:amd64=1 is selected for install
           2. builddeps:.:amd64 Depends python3-reuse
              but none of the choices are installable:
              [no choices]
        ERROR: Build dependencies cannot be satisfied. See apt output above for specific missing packages.
        Error: building at STEP "RUN [ -z $HOST_ARCH ] || dpkg --add-architecture $HOST_ARCH;     apt-get update -q &&     mkdir -p /tmp/debian &&     cp /control /tmp/debian/control &&     cd /tmp &&     apt-get build-dep --dry-run . 2>&1 || { echo "ERROR: Build dependencies cannot be satisfied. See apt output above for specific missing packages."; exit 1; } &&     DEBIAN_FRONTEND=noninteractive mk-build-deps -r -i ${HOST_ARCH:+--host-arch $HOST_ARCH} /control       -t 'apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends'": while running runtime: exit status 1
        DEBCRAFT ERROR: Container build failed - see output above for details. If apt fails on missing packages, try '--pull' to build container from scratch.

commit 12916c21fad8154ec00df3a8bce39471f30cd906
Author: Luca Soler <luca.soler@edf.fr>
Date:   Fri Apr 17 09:58:35 2026 +0200

    Add support for custom distribution mapping via config files
    
    This commit introduces a configuration mechanism to map distribution names
    (parsed from the changelog) to specific base container images. This is
    useful to support custom/private Debian derivatives or to use internal/private
    base images.
    
    Changes included:
    - Introduce `DEBCRAFT_DISTRIBUTION_MAPPING` associative array in `debcraft.sh`.
    - Load configurations hierarchically from `/etc/debcraft`, `~/.config/debcraft`, and `--config` CLI parameter.
    - Support glob pattern matching for distribution names.
    - Add the `--config` flag.
    - Update bash-completion to suggest `--config` flag.
    - Document the new feature in the README.md.
    
    Fixes #41

commit be7967e37c627be96654f975e363a8365fc454f8
Author: Otto Kekäläinen <otto@debian.org>
Date:   Wed Apr 8 15:52:50 2026 +0000

    Add terminal title to indicate Debcraft state
    
    When multiple builds are happening in parallel users might be tempted to
    jump between terminal tabs/windows to check on progress. To avoid this
    busywork, make it easy to see which tabs are running Debcraft commands
    directly in the tab/window title using OSC escape sequences, compatible
    with at least the Gnome Terminal.

commit 671e9ddc83a177f542216e3804053d186f3c4c39
Author: Luca Soler <luca.soler@edf.fr>
Date:   Thu Apr 16 15:37:40 2026 +0200

    Support custom apt source filenames for Debian derivatives
    
    Currently, `enable-source-repositories.sh` strictly checks for
    `debian.sources`, `ubuntu.sources`, and `/etc/apt/sources.list`.
    This causes failures on Debian derivatives like Scibian, which use
    different filenames (e.g., `scibian.sources`).
    
    This commit updates the script to iterate over any `*.sources` and
    `*.list` files inside `/etc/apt/sources.list.d/` using `nullglob`.
    This ensures `deb-src` repositories are reliably detected and enabled
    across various container base images.
    
    Fixes #43

commit dad4a468925d536c9b34be83ac40ed6865b5b11c
Author: Roland Mas <lolando@debian.org>
Date:   Mon Apr 13 12:43:02 2026 +0200

    Use cp --no-clobber/--update=none according to coreutils version

commit 7a5fe4d2b4fbe577523faea6129e6ec135b90dbe
Author: Roland Mas <lolando@debian.org>
Date:   Fri Apr 10 09:33:58 2026 +0200

    Rename --push-to-repository to --publish-to-repository (and mkdir if needed)

commit 3d794ceb154c265eb0e63b09271a0425de35f653
Author: Roland Mas <lolando@debian.org>
Date:   Fri Apr 10 09:29:14 2026 +0200

    Set nullglob globally

commit b031f99c63ef0f6c0cbf642735eee98267e88d73
Author: Roland Mas <lolando@debian.org>
Date:   Tue Apr 7 11:48:29 2026 +0200

    Update bash completion script

commit 4c4393d72014f4dd1317ef8f492103e37c179a00
Author: Roland Mas <lolando@debian.org>
Date:   Tue Apr 7 10:37:55 2026 +0200

    Add tests for --extra-repository and --push-to-repository

commit 67ff724ddf9f7f98dc28e4b3586ee5b2738e8fb3
Author: Roland Mas <lolando@debian.org>
Date:   Tue Apr 7 10:32:05 2026 +0200

    Add --push-to-repository option

commit 016b0d4a347c71a43064d13a57cd5c9cdf28d5f5
Author: Roland Mas <lolando@debian.org>
Date:   Tue Apr 7 10:29:27 2026 +0200

    Handle empty extra-repository gracefully

commit 590e8fa0a69939e09ffbfc60faebab14d80ac0ff
Author: Roland Mas <lolando@debian.org>
Date:   Tue Apr 7 10:29:08 2026 +0200

    Add --extra-repository to $DEBCRAFT_EXTRA_REPOSITORY
    
    debcraft already honors the $DEBCRAFT_EXTRA_REPOSITORY environment
    variable; this commit allows overriding it explicitly on the command
    line.

commit d389189d05a81ab02096c605abe211076e0791e5
Author: Otto Kekäläinen <otto@debian.org>
Date:   Sat Dec 13 20:51:41 2025 -0800

    Refactor upstream tarball and signature re-use into generic function
    
    Extract pristine-tar logic into shared include file that can be used
    both for source and binary builds.

commit ba7b1b385fb54107d78a30ef955c0becee90ee55
Author: Otto Kekäläinen <otto@debian.org>
Date:   Mon Jan 5 20:22:57 2026 -0800

    Enhance test failure output with better diagnostics

commit 3b018d9d1238fd66c0eea0d2d8069c5ece6c0699
Author: Otto Kekäläinen <otto@debian.org>
Date:   Wed Oct 8 19:14:25 2025 -0700

    Extend tests with `debcraft test` and `debcraft release`
Created: 2026-01-22 Last update: 2026-04-30 16:50
lintian reports 1 warning normal
Lintian reports 1 warning about this package. You should make the package lintian clean getting rid of them.
Created: 2026-01-21 Last update: 2026-01-21 16:33
Standards version of the package is outdated. wishlist
The package should be updated to follow the last version of Debian Policy (Standards-Version 4.7.4 instead of 4.7.3).
Created: 2026-03-31 Last update: 2026-03-31 15:01
news
[rss feed]
  • [2026-01-25] debcraft 0.8.1 MIGRATED to testing (Debian testing watch)
  • [2026-01-20] Accepted debcraft 0.8.1 (source) into unstable (Otto Kekäläinen)
  • [2026-01-09] debcraft 0.8.0 MIGRATED to testing (Debian testing watch)
  • [2026-01-04] Accepted debcraft 0.8.0 (source) into unstable (Otto Kekäläinen)
  • [2025-11-28] debcraft 0.7.0 MIGRATED to testing (Debian testing watch)
  • [2025-11-22] Accepted debcraft 0.7.0 (source) into unstable (Otto Kekäläinen)
  • [2025-10-16] debcraft 0.6.0 MIGRATED to testing (Debian testing watch)
  • [2025-10-11] Accepted debcraft 0.6.0 (source) into unstable (Otto Kekäläinen)
  • [2025-05-14] debcraft 0.5.0 MIGRATED to testing (Debian testing watch)
  • [2025-05-04] Accepted debcraft 0.5.0 (source) into unstable (Otto Kekäläinen)
  • [2025-02-27] debcraft 0.4.0 MIGRATED to testing (Debian testing watch)
  • [2025-02-22] Accepted debcraft 0.4.0 (source) into unstable (Otto Kekäläinen)
  • [2024-12-12] debcraft 0.3.0 MIGRATED to testing (Debian testing watch)
  • [2024-12-07] Accepted debcraft 0.3.0 (source) into unstable (Otto Kekäläinen)
  • [2024-09-12] debcraft 0.2.1 MIGRATED to testing (Debian testing watch)
  • [2024-09-07] Accepted debcraft 0.2.1 (source) into unstable (Otto Kekäläinen)
  • [2024-08-27] debcraft 0.2.0 MIGRATED to testing (Debian testing watch)
  • [2024-08-22] Accepted debcraft 0.2.0 (source) into unstable (Otto Kekäläinen)
  • [2024-08-04] debcraft 0.1.1 MIGRATED to testing (Debian testing watch)
  • [2024-07-30] Accepted debcraft 0.1.1 (source) into unstable (Otto Kekäläinen)
  • [2024-07-25] Accepted debcraft 0.1.0 (source all) into unstable (Debian FTP Masters) (signed by: Otto Kekäläinen)
bugs [bug history graph]
  • all: 0
links
  • homepage
  • lintian (0, 1)
  • buildd: logs, reproducibility
  • popcon
  • browse source code
  • other distros
  • debci
ubuntu Ubuntu logo [Information about Ubuntu for Debian Developers]
  • version: 0.8.1

Debian Package Tracker — Copyright 2013-2025 The Distro Tracker Developers
Report problems to the tracker.debian.org pseudo-package in the Debian BTS.
Documentation — Bugs — Git Repository — Contributing