Dpkg
view release on metacpan or search on metacpan
options. Closes: #1124643
* dpkg: Fix typo for «metadata» in error message. Closes: #1125128
* scripts: Parse and validate Maintainer and Uploaders email addresses.
* dpkg-source: Warn when the Uploaders field contains the Maintainer.
* Perl modules:
- Dpkg::BuildProfiles: Remove the parser workaround now that dh-exec is
fixed.
- Dpkg::Shlibs::Symbol: Emit a warning for the deprecated wildcard syntax.
Closes: #1125722
- Dpkg::Source::Package::V2: Switch generated patch to be git formatted.
- Dpkg::Source::Package::V2: Print Bug-<Vendor> in patch template instead
of vendor specific ones.
- Dpkg::Email::Address: New module.
- Dpkg::Control::FieldsCore: Add new email address field parsing functions.
- Dpkg::Shlibs::SymbolFile: Refactor metavariable substitution into a
function.
- Dpkg::Shlibs::SymbolFile: Add support for #CURVER#. Closes: #615940
* Documentation:
- dpkg-buildflags(1): Clarify that LDFLAGS are not safe for direct ld(1)
use. See #1125323.
- start-stop-daemon(8): Clarify relationship between --notify-await and
--background. See #1124643.
- man: Refactor explanation about deb-symbols metavariables.
* Code internals:
- dselect: Mark keybindings methods only accessing static members as
static.
- dpkg-deb: Reduce pid variable scope.
- libcompat: Define __has_attribute() if not already defined in gettext.h.
* Packaging:
- Bump Standards-Version to 4.7.3 (no changes needed).
* Test suite:
- Undefine _LIBC for cppcheck.
- Update cppcheck suppressions for 2.19.0.
* Localization:
- Update Dutch translations.
Thanks to Frans Spiesschaert <Frans.Spiesschaert@yucom.be>.
Closes: #1125463, #1125465, #1125466
- Update Portuguese translations.
Thanks to Américo Monteiro <a_monteiro@gmx.com>.
Closes: #1124138, #1124412, #1124439, #1124636
-- Guillem Jover <guillem@debian.org> Sun, 18 Jan 2026 18:29:23 +0100
dpkg (1.23.3) unstable; urgency=medium
[ Guillem Jover ]
* Perl modules:
- Dpkg::Vendor::Debian: Mask PIE on m68k, sh4 and x32.
Thanks to Adrian Bunk <bunk@debian.org>. Closes: #1100187
- Dpkg::Version: Add new has_epoch() and has_revision() methods.
Closes: #1123630
- Dpkg::Source::Package::V1: Make debian/rules executable on extract if
present. Closes: #1123652
-- Guillem Jover <guillem@debian.org> Sat, 20 Dec 2025 02:18:49 +0100
dpkg (1.23.2) unstable; urgency=medium
[ Guillem Jover ]
* Perl modules:
- Dpkg::BuildProfiles: Add workaround for callers passing invalid formulas.
Diagnosed by Chris Hofstaedtler <zeha@debian.org>.
-- Guillem Jover <guillem@debian.org> Thu, 18 Dec 2025 02:10:10 +0100
dpkg (1.23.1) unstable; urgency=medium
[ Guillem Jover ]
* Perl modules:
- Dpkg::BuildProfiles: Add missing Dpkg::Gettext and Dpkg::ErrorHandling
imports. Closes: #1123515
* Test suite:
- Add a test for negated build profiles.
Prompted by Chris Hofstaedtler <zeha@debian.org> (on IRC).
-- Guillem Jover <guillem@debian.org> Wed, 17 Dec 2025 13:10:07 +0100
dpkg (1.23.0) unstable; urgency=medium
[ Guillem Jover ]
* Pass --format=xz explicitly to xz on decompression.
* dpkg-divert: Clarify default behavior change timeline.
* dpkg: Remove obsolete --forget-old-unavail from --help output.
* Add vendor specific support for fuzzy source vs version nativeness.
Closes: #737634
* dpkg-deb: Fix cleanup for control member with restricted directories.
Reported by zhutyra on HackerOne.
* dpkg: Use maintscript name instead of untranslated description in error
messages.
* dpkg: Unify maintainer script error messages.
* dpkg: Print maintscript fallback success message after finishing actions.
* Improve subprocess exit message.
* update-alternatives: Move debug message from call site into
alternative_prepare_install().
* Shallow pass at clarifying debug messages.
* update-alternatives: Clarify in --help output that the «...» refers to
--slave.
* dpkg-query: Improve --list header ASCII art.
Suggested by No Comment <mowglithemaniac@gmail.com>.
* dselect, libdpkg: Use Ctrl+<name> instead of ^<name> in messages.
* dpkg-split: Obsolete --msdos option which no longer does anything.
* Remove support for MSDOS-Filename field.
* dpkg-shlibdeps: Add a debug print when overriding file to package mappings.
See #1115395.
* Use invalid instead of illegal in symbol names and output messages.
* dpkg: Improve commands acting on the available file from standard input.
Closes: #1119906
* Use «package metadata» instead of «control information».
* dpkg: Use MAXCONTROLFILENAME instead of 50 or 250 in format string
precision.
* dpkg-split: Mark strings for translation.
* start-stop-daemon: Update list of change contributors.
* Do not use contractions in output messages.
* Reword --help options descriptions to fit again in 80 columns.
* dpkg-source: Use Dpkg::BuildProfiles to parse the Build-Profiles field.
* dpkg-source: Add a new profile:v1 property in Package-List field.
See https://lists.debian.org/debian-devel/2025/11/msg00333.html.
* Use valid instead of legal in output messages and code comments.
* dpkg-source: Add support for --signer-certs option. Closes: #1110172
* dpkg-source: Add new --no-vendor-certs extract option.
* dpkg: Do not run the postinst during cleanup if the previous state was bad.
* German (Helge Kreutzmann).
[ New man pages translations ]
* Dutch (Frans Spiesschaert). Closes: #822798
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover <guillem@debian.org> Mon, 02 May 2016 04:14:57 +0200
dpkg (1.18.4) unstable; urgency=medium
[ Guillem Jover ]
* Switch dpkg-scansources and dpkg-scanpackages to use File::Find instead
of find(1), as the former is more portable with more consistent behavior,
and always canonicalizes the pathnames. Closes: #800649
* Initialize Config-Version also for packages previously in triggers-pending
state, otherwise we end up not passing the previously configured version
to «postinst configure», which might consider this a first install instead
of an upgrade. Closes: #801156
* Fix memory leaks in «dpkg --verify» and dpkg infodb format upgrade logic.
* Merge all update-alternatives action handling into a single if-else-if
block, to unify the code an allow a future switch into a shared library.
* Perform any necessary cleanups on normal exit from dpkg-divert --add and
--remove commands.
* Make dpkg-architecture warning on non-matching GNU system type compiler
agnostic.
* Add â.gitreviewâ to the default dpkg-source ignore lists.
* Add support for DPKG_MAINTSCRIPT_DEBUG environment variable to dpkg.
* Fix dpkg-checkbuilddeps exit code to be 1 instead of a random error value
on unsatisfied dependencies. Regression introduced in dpkg 1.18.3.
* Fix an off-by-one write access in dpkg-deb when parsing the old format
.deb control member size. Thanks to Hanno Böck <hanno@hboeck.de>.
Fixes CVE-2015-0860.
* Fix an off-by-one read access in dpkg-deb when parsing ar member names.
Thanks to Hanno Böck <hanno@hboeck.de>.
* Add experimental multi-threaded xz compression support in libdpkg, which
requires xz >= 5.2.0.
* Fix physical file offset comparison in dpkg. Closes: #808912
Thanks to Yuri Gribov <tetra2005@gmail.com>.
* Fix usage of dpkg-architecture -s after other action options.
Reported by Niels Thykier <niels@thykier.net>.
* Add NIOS2 support to cputable. Thanks to Marek Vasut <marex@denx.de>.
* On Debian and derivatives enable timeless build flag feature by default.
Thanks to Paul Wise <pabs@debian.org>. Closes: #805872
* Perl modules:
- Add support for Build-Essential field. Closes: #806315
* Test suite:
- Improve perl code test coverage.
* Build system:
- Set PERL5LIB globally for the test suite to the local modules directory,
to avoid using the system modules. Regression introduced in dpkg 1.17.8.
Reported by Jérémy Bobbio <lunar@debian.org>. Closes: #801329
- Use absolute buildir pathnames in PATH variable for the test suite.
- Descend into scripts directory when cleaning up code coverage files.
- Add new configure option --disable-devel-docs to select the kind of docs
to generate, default for now is development documentation.
- Try to use AM_GNU_GETTEXT_REQUIRE_VERSION to benefit from the latest
installed gettext version, while guaranteeing a minimal required version.
* Packaging:
- Add missing Build-Depends for restriction formula support.
* Documentation:
- Move description for âtarget architectureâ from the dpkg-architecture(1)
â-Aâ option to the TERMS section. Closes: #799046
- Clarify that the md5sum check on «dpkg --verify» is performed on the
file contents, and failures denote changed content. Closes: #760248
- Document that dpkg-buildpackage -nc -S implies -d.
- Clarify role of Build-Depends in deb-src-control(5).
Prompted by Johannes Schauer <j.schauer@email.de>.
- Document supported feature areas.
- Clarify in dpkg-query(1) when binary:Package gets arch-qualified.
Closes: #801958
- Add a subsection separating external from internal environment variables
in dpkg(1).
[ Updated programs translations ]
* Dutch (Frans Spiesschaert). Closes: #800513
* Japanese (Kenshi Muto). Closes: #799432
* Turkish (Mert Dirik). Closes: #799875
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* German (Helge Kreutzmann, Julian R). Closes: #807156
-- Guillem Jover <guillem@debian.org> Fri, 25 Dec 2015 13:20:26 +0100
dpkg (1.18.3) unstable; urgency=medium
[ Guillem Jover ]
* Fix short-lived memory leaks in start-stop-daemon. As a side effect now
a missing group after â:â on --chuid is a fatal error.
* Print the master and slave links in «update-alternatives --display».
* Print the current best alternative in the head instead of the trail
in «update-alternatives --display», with a two space indentation.
* Reimplement «update-alternatives --all» as a fully built-in command
instead of executing itself with --config per subtask.
* Reimplement «update-alternatives --set-selections» as a fully built-in
command instead of executing itself with --set or --auto per subtask.
* Add kfreebsd-armhf support to ostable and triplettable. Closes: #796283
Thanks to Steven Chamberlain <steven@pyro.eu.org>.
* Fix «dpkg --verify» with --root.
* Fix an off-by-one write access in dpkg-deb when parsing the .deb magic.
Reported by Jacek Wielemborek <d33tah@gmail.com>. Closes: #798324
* Split overlong perl regexes into multiline extended regexes.
* Switch dselect multicd method license from GPL2 to GPL2+, with consent
from all its authors.
* Fix inadvertent license change for lib/dpkg/utils.c from GPL2 to GPL2+.
* Fix segfault when using «dpkg --no-act» with a synthetic --admindir.
Reported by David Kalnischkies <david@kalnischkies.de>.
* Perl modules:
- Only warn on invalid week days instead of aborting in
Dpkg::Changelog::Entry::Debian. Regression introduced in dpkg 1.18.2.
Reported by Jakub Wilk <jwilk@debian.org>.
- Do not warn when removing an empty subdirectory on source package
extraction in Dpkg::Source::Package::V2. Closes: #796671
- Do not abort on parse errors from Time::Piece->strptime() for the
changelog trailer date, just queue them so that the caller can decide
if they should be warnings or actual errors. Closes: #795936
- Validate the changelog trailer date, and catch and warn or error on
of variables, and new -A and -T options to override defaulting to the
host system.
- Clarify that -a, -t, -e and -i work with the host system.
* Place 'Commands:' before 'Options:' sections on --help output in
dpkg-architecture and dpkg-vendor.
* Always warn in dpkg-genchanges on missing Section or Priority value,
either empty or '-'.
* Fix order of Files field on generated .changes file in dpkg-genchanges.
Regression introduced in dpkg 1.17.7.
* Stop warning on unknown arbitrary fields from dpkg-deb.
* Remove unnecessary handling of obsolete Package_Revision field in dselect
ftp method.
* Fix the build system to parse the system curses.h header instead of
dselect-curses.h, to not just default on the builtin and override keys
for dselect key bindings support. Regression introduced in dpkg 1.15.1.
* Emit a warning when using the obsolete Dpkg::Deps check_package() function.
* Add support for versioned Provides to Dpkg::Deps::KnownFacts, missed in
dpkg 1.17.11.
* Man pages:
- Add a mention of packaging helpers support in dpkg-maintscript-helper(1).
Closes: #759754
- Move dpkg-buildflags(1) generic feature area details to the section top.
- Fix prerm invocation arguments in update-alternatives(8).
Reported by jre <jre.winesim@gmail.com>. Closes: #761025
* Add new deps_iterate() function to Dpkg::Deps. Closes: #759747
Based on a patch by Dima Kogan <dima@secretsauce.net>.
* Add support for relative symlinks to dpkg-maintscript-helper symlink_to_dir
command. Suggested by Don Armstrong <don@debian.org>.
* Add a new dpkg-buildflags qa feature area:
- Add a new bug feature, disabled by default, which will enable fatal
warnings for code that can pose actual problems. Closes: #682659
- Add a new canary feature, disabled by default, which will allow tracking
build flags propagation. Closes: #628516
* Pass DEB_BUILD_OPTIONS to dpkg-buildflags in buildflags.mk, required to
get noopt to work at all, for example.
* Add a new dpkg-buildflags reproducible feature area:
- Add a new timeless feature, disabled by default, which will add
«-Wdate-time» to CPPFLAGS.
Thanks to Paul Wise <pabs@debian.org>. Closes: #762683
* Fix error message from buffer_copy() read and write functions. This
affects error messages from partial or broken .deb packages for example.
Regression introduced in dpkg 1.17.10. Closes: #759498
* Remove lpia architecture support.
* Improvements and portability fixes to start-stop-daemon:
- Abort if the system or compatibility setsid() fails.
- Do not exit from the first parent before the pidfile has been created,
when using --background and --make-pidfile, to avoid the race condition.
Based on a patch by Nir Soffer <nirs@hyperms.com>. Closes: #686420
- Make sure the pidfile is always created with a 022 umask.
Reported by Will Conley <willconley3@gmail.com>. Closes: #760222
- Do not abort on --stop when only --pid or --ppid options are specified.
Thanks to Christos Trochalakis <yatiohi@ideopolis.gr>. Closes: #763767
- On kFreeBSD systems do not unnecessarily make kvm_openfiles() open
/dev/mem. This causes issues on FreeBSD jails for example.
Reported by Steven Chamberlain <steven@pyro.eu.org>.
- On systems using libkvm, do not fail when kvm_getprocs() cannot find
any process.
* Map i786 to i386 also for the multiarch pathname in dpkg-architecture.
* Handle omitted binary packages due to build profiles in dpkg-genchanges.
Based on a patch by Johannes Schauer <j.schauer@email.de>. Closes: #758191
* Update restriction formula syntax for build profiles:
- Restriction lists are now restriction formulas.
- Restriction formulas are given in disjunctive normal form expression:
<foo> <bar baz> <blub>
- Removal of the implicit prefix/namespace mechanic.
- Construct the profiles entry of the Packages-List field by converting
the "<bar baz> <blub>" syntax into "bar,baz+blub".
- Include a temporary compatibility mapping with the old way to write
the Build-Profiles field in binary packages which can be removed once
all affected source packages have moved to the new syntax.
Thanks to Johannes Schauer <j.schauer@email.de>. Closes: #760158
* Normalize instdir in dpkg by removing trailing «/» and «/.». This gets
rid of several inconsistencies and doubled «/» in syscalls and output
messages.
* Never try to remove the root directory or its backups. There's no point in
it, and makes life more difficult for a read-only root with a read-write
overlay or a symlink farm. Requested by sepero111@gmx.com.
* Remove arbitrary filename limit from dpkg-deb, which was lifted some
time ago when the code switched to a dynamic string via varbuf.
* Do not pipe the files to sign from dpkg-buildpackage to GnuPG. When GnuPG
uses the gpg-agent it is unable to detect the correct tty configuration
if stdin is a pipe instead of the current terminal. Closes: #762391
* Add a new --hash option to enable generating only specific file checksums
in dpkg-scanpackages. Requested by Thorsten Glaser <tg@debian.org>.
* Add architecture restriction options for dpkg-architecture -L. This allows
selecting specific subsets of all valid known architectures, matching by
wildcard (-W), endianness (-E) or bits (-B). The restricting options can
be combined, or omitted altogether. Closes: #762635
* Say arch-wildcard instead of arch-alias in dpkg-architecture --help output.
* Test suite:
- Do not leave temporary files behind on failure or when interrupted.
- Add basic unit tests for the FNV hashing function.
- Add unit tests for the libdpkg tar extractor.
* Add --build and --extract command aliases to dpkg-source.
* Print file or package names instead of pointers in dpkg debug output,
to make it more meaningful and reproducible.
* Fix off-by-one error in libdpkg command argv size calculation.
Based on a patch by Bálint Réczey <balint@balintreczey.hu>. Closes: #760690
* Switch the libdpkg string hashing function from FNV-1 to the recommended
FNV-1a variant.
* Switch the dpkg files database string hashing function from what appears
to be a custom hash function to the libdpkg FNV-1a implementation. As a
side effect this fixes an integer overflow. Addresses: #760741
* Double the dpkg files database hash table size to the closest 2^18 prime.
Times have changed, and it's common to have at least these many files.
This reduces the amount of collisions.
* Document optional dpkg -C argument in --help output. Closes: #763000
* Consider a hardlink tar entry as a regular file for mode values, i.e.
assign to it S_IFREG instead of 0.
[ Raphaël Hertzog ]
* Explain better in deb-triggers(5) why interest/activate-noawait should be
favored.
[ Updated programs translations ]
* Catalan (Guillem Jover): Fix mismatched format string.
* Czech (Miroslav Kure).
* Polish (Åukasz Dulny).
* Turkish (Mert Dirik). Closes: #763825
[ Updated man pages translations ]
* German (Helge Kreutzmann).
* Italian (Guillem Jover): Swap order of some dpkg-deb arguments.
( run in 0.678 second using v1.01-cache-2.11-cpan-39bf76dae61 )