debputy (0.1.79)
[PTS] [DDPO]
COMMITS: VCS has seen 20 commits since the debian/0.1.79 tag
- Git: https://salsa.debian.org/debian/debputy.git
-
- Branch: main
- Path: debian/changelog
- Repo size: 2494464
- Browser: https://salsa.debian.org/debian/debputy
- Last scan: 2026-01-12 19:59:08+00
- Next scan: 2026-01-20 04:11:00+00
- Open issues: 54
- Merge requests: 1
- CI pipeline status: success
- Debian changelog in Git:
debputy (0.1.79) unstable; urgency=medium
* Backwards Incompatibility:
- Install `debian/pkg.modprobe` files under `/usr/lib/modprobe.d`.
No packages using `debputy` in Debian used this feature yet,
so the change was done without migration. If you migrate a
package using `debian/pkg.modprobe`, please consider adding
`dh-debputy (>= 0.1.79~)` as Build-Dependency to ensure there
are no surprises with backports (etc.).
* Manifest changes:
- Add `built-using` and `static-built-using` keywords to enable
`debputy` to generate `Built-Using` and `Static-Built-Using`
for you. This replaces the `dh-sequence-builtusing` when
using either `full` or `dh-sequence-zz-debputy` integration
mode. (Closes: #1121339)
* migrate-from-dh:
- Detect and provide manual instructions for migrating from
`dh-builtusing` in `dh-sequence-zz-debputy` or `full`
integration mode.
* Plugin API:
- Manifest detectors can now access some of the pluggable
manifest rules via the context.
[ Michael Hudson-Doyle ]
* debputy: Support Ubuntu's `Architecture-Variant` when deciding
the output file name for binary packages.
[ Nicolas Boulenguez ]
* Design and implement the `built-using` and `static-built-using`
feature based on `dh-builtusing`.
[ Niels Thykier ]
* debputy: Recognise `.org` as common upstream changelog extension.
This is to match `dh_installchangelogs`.
* Generated prerm: Validate that `python3` works before calling
`py3clean`. This is to match what `dh-python` does.
-- Niels Thykier <niels@thykier.net> Sun, 28 Dec 2025 12:07:00 +0000
- This branch is 20 commits ahead of tag debian/0.1.79
- Git log:
commit c2505a47493d4f769f0788e36ff2e09a468d0a76
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Mon Jan 12 17:51:09 2026 +0100
mypy: copy a Deb822 paragraph manually
commit bf92943ec387f9585916073483284d7486a46f0f
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Mon Jan 12 17:47:08 2026 +0100
Fix noisy pylint issues
commit 46a1f2fbe863bb30b40654f5396ffd8a49b37f24
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Sun Jan 11 20:23:33 2026 +0100
mypy: annotation and assertion
commit 71376102d274010405d0e7c8e56830b1a8fe486b
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Sun Jan 11 20:10:26 2026 +0100
mypy: annotations, fix detection of files installed several times
seen_pkgs.update(problem_pkgs) was only called when problem_pkgs was
empty.
commit 28a8e8ac38afc4659b03e9d189e0be8efa8b51ef
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Sun Jan 11 19:24:18 2026 +0100
mypy: merge the _detect_possible_typo variants
Annotate a variable and remove a redundant assertion (checked three lines above).
commit cc6acdf54a85d19a2a3a11f92a724adf2c5e012e
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Tue May 28 21:28:59 2024 +0200
mypy: annotate an empty dict variable
commit cde59d37baa757922aaeda1c9377a2f8ae81be34
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Sat Jun 1 16:53:20 2024 +0200
Add basic type annotations in exceptions.py
commit 0b0b5b43729a9feebe7a63d15d1fa8f284caf1ef
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Sun Jan 11 14:45:20 2026 +0100
mypy: replace some variables with named parameters
Replace
a = ...
f(a)
with
f(a=...)
because it reduces the cognitive load for human readers and the
assigned value is already typed.
commit 9e4c23c7d0da15e48ed09c0412446132a1d783cd
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Sun Jun 16 23:13:04 2024 +0200
Fix a probably unwanted recursion
commit b33cef42355736fcb51f17c230c93ba1b8856b20
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Sun Jun 16 23:40:25 2024 +0200
mypy: remove a trailing comma
commit 165089407c72427aa6569a45da821a75403d8fe7
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Mon Jan 5 18:25:25 2026 +0100
Refactor architecture_support
Implement the class with collections.abc.Mapping.
Provide one constructor with public optional arguments.
Move global stuff outside the class.
Hardcode the dpkg-architecture variables. Changes are rare, and
"PATH" was previously a valid key (found in the environment) until the
dpkg-architecture run.
Prevent empty environment values from overriding dpkg-architecture
output.
Sort the mocked data per architecture, not per argument tuple.
Avoid copying os.environ with collections.ChainMap and empty values
(for dpkg-architecture, missing or empty values are equivalent).
commit d0ac8d749ba6196ad7f8688ebe406a1ec58aada1
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Wed May 29 19:45:04 2024 +0200
Refactor: version.py
Move constants written by Makefile from __init__.py to version.py,
reducing the overall complexity and the risk for circular
dependencies.
Provide version and doc root dir as functions. Modules using them
should not know if the value is constant and/or cached. This removes
the need for the LazyString stuff, which was confusing mypy. Also,
LazyString was probably not effective because __init__.py was always
computing __version__ when setting DEBPUTY_DOC_ROOT_DIR.
Remove the stuff testing for subprocess.DEVNULL support. Python 3.3
is required anyway.
Clarify the exception handling with separate functions instead of
embedded try blocks. Only remove the archive/debian/ prefix from git
tags, not dch versions.
commit 928fc9cc49cf92e4b3dca46d93dd25792e8bf369
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Mon Jan 5 21:55:44 2026 +0100
Refactor: one constructor in deb_build_options_profiles
Return the current value when the environment is modified.
commit b1d5cb8a552354a36513e8d86ca9d26e0b172fe7
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Mon Jan 5 17:39:34 2026 +0100
Makefile: substitute ROOT_DIR in deb_materialisaion and deb_packer
Remove the obsolete __release_commit__ substitution.
Show the version in log, instead of the dpkg-parsechangelog command.
commit bf9921d9472750bdbe020996f8da4d4791137796
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Mon Jan 5 17:17:52 2026 +0100
Makefile: create the destination directory right before copying a file
Remove the apparently overwritten final component of
DEBPUTY_INSTALLED_PLUGIN_ROOT_DIR/debputy.
Debdiff reports no difference.
commit a236ee9cc1c26b659865338b883582a5f87d1771
Author: Niels Thykier <niels@thykier.net>
Date: Sun Jan 11 10:07:54 2026 +0000
deb_packer.py: provide closer match to `dpkg-deb` `xz` compression
Previously, we always hard-coded `-T2` to ensure we used
multi-threaded mode and then ignored `--threads-max`. Now
`--threads-max` and related ENV variable is respected along
with various safety options to ensure reproducibility.
commit 13b11fd7a4a48c97e9f5d5de135dbc7cb46394e0
Author: Niels Thykier <niels@thykier.net>
Date: Sat Jan 10 13:10:04 2026 +0000
Apply black on all source files
Gbp-Dch: ignore
commit a353b29221aad04a4ca27d40bda55ef43fbaf9ef
Author: Niels Thykier <niels@thykier.net>
Date: Sat Jan 10 13:02:17 2026 +0000
Add CI job for ensuring black style is enforced
Gbp-Dch: ignore
commit 58c53b9ee16418b4dd1542a6afbbfa186b250bd5
Author: Niels Thykier <niels@thykier.net>
Date: Sun Jan 4 09:03:09 2026 +0000
Tweak some (warning/error) messages to the user
Gbp-Dch: ignore
commit 51777fc3414cd9a25b8a2f7a176af7faed89a9d1
Author: Nicolas Boulenguez <nicolas@debian.org>
Date: Thu Jan 1 16:51:14 2026 +0100
Refactor: parts of the built_using processing and tests
binary_packages_rules.py:
Make BuiltUsing and StaticBuiltUsing subclasses of
tuple[BuiltUsingItem, ...]. This simplifies the typing without
breaking the manifest_configuration() request.
_validate_built_using:
Move the search for matches into a separate function (following pylint
advice).
Fix the message reported when no match is found.
metadata_detectors.py:
Split detect_built_using into pass 1 and 2. This should be more
readable than the previous helper returning a boolean.
types.py:
Replace dataclasses with NamedTuples. Immutability improves the
overall readability, and unpacking of iteration variables is
convenient in short functions.
test_built_using.py:
Replace complex tests with multiple more informative short tests.
Allow one binary package per test.