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`