Index index by Group index by Distribution index by Vendor index by creation date index by Name Mirrors Help Search

dpkg-1.22.6-1.1 RPM for s390x

From OpenSuSE Ports Tumbleweed for s390x

Name: dpkg Distribution: openSUSE:Factory:zSystems
Version: 1.22.6 Vendor: openSUSE
Release: 1.1 Build date: Wed Apr 10 04:52:20 2024
Group: System/Packages Build host: reproducible
Size: 2687397 Source RPM: dpkg-1.22.6-1.1.src.rpm
Summary: Debian package management system
This package contains tools for working with Debian packages. It makes
it possible to create and extract Debian packages. If Alien is
installed, the packages can be converted to RPMs.

This package contains the following Debian packages: dpkg, dselect,
dpkg-doc, dpkg-dev.






* Wed Apr 10 2024 Martin Schreiner <>
  - Update to version 1.22.6.
    The changelog for this version isn't very large, so it's provided in full:
    * dpkg-deb: Fix up compressor parameters for default legacy format.
    * Perl modules:
    - Dpkg::Vendor::Debian: Make it possible to disable qa=-bug-implicit-func.
    - Dpkg::Vendor::Debian: Unconditionally set qa bug-implicit-func.
    * Documentation:
    - man: Document dpkg versions supporting SOURCE_DATE_EPOCH for various
    * Code internals:
    - libdpkg: Use array access instead of pointer arithmetic for meminfo
    - libdpkg: Use a macro to define the zstd default compression level.
    * Build system:
    - Test with minimal library dependencies in CI.
    - Add gen-release script.
    * Packaging:
    - Fix typo in man page reference in changelog.
    * Test suite:
    - Refactor OpenPGP backend and commands list.
    - Refactor certfile and keyfile filenames for OpenPGP test.
    - Skip OpenPGP tests if the backend does not have a verify command.
    * Localization:
    - Fix typos in Swedish man pages translations.
    - Fix typos in Swedish man pages translations.
    - Update Dutch man pages translations.
    - Update Portuguese man pages translations.
    - Update German man pages translation.
* Mon Mar 11 2024 Martin Schreiner <>
  - Update to version 1.22.5.
    The full changelog is very large. Please check it here:
    Version 1.22.5 includes all the changes from 1.22.4 and 1.22.3.
    These may be found here:
  - Refresh openssl.patch so it would apply cleanly.
* Tue Feb 27 2024 Martin Schreiner <>
  - Prepare for RPM 4.20.
* Sun Dec 31 2023 Martin Schreiner <>
  - Update to version 1.22.2.
    The full changelog is very large. Please check it here:
* Wed Nov 22 2023 Martin Schreiner <>
  - Update to version 1.22.1.
    The full changelog is very large. Please check it here:
  - Refresh update-alternatives-suse.patch so it applies cleanly.
* Mon Sep 18 2023 Martin Schreiner <>
  - Update to version 1.22.0.
    The full changelog is very large. Please check it here:
  - Refresh openssl.patch so it works on 1.22.0.
* Thu Jul 20 2023 Adam Majer <>
  - openssl.patch: use openssl library for MD5 calculation instead
    of relying on libmd. libmd is not in Ring0
  - require Perl 5.28.1 or later
* Wed Jun 07 2023
  - version update to 1.21.22
* Thu May 04 2023 Frederic Crozat <>
  - Add _multibuild to define additional spec files as additional
    Eliminates the need for source package links in OBS.
* Fri May 27 2022
  - version update to 1.21.8
    * fix CVE-2022-1664 [bsc#1199944], dpkg -- security update
    * lot of changes, see changelog
  - modified patches
    % update-alternatives-suse.patch (refreshed)
* Mon Jan 03 2022 Dan Čermák <>
  - rebase patches:
    * update-alternatives.changes
    * update-alternatives.spec
    * update-alternatives-suse.patch
  - New upstream release 1.21.1
    dpkg (1.21.1) unstable; urgency=medium
    [ Guillem Jover ]
    * dpkg-buildpackage: Remove duplicate command print for dpkg-genchanges.
    * dpkg-buildpackage: Fix build description due to improper multiline match.
    * dpkg-realpath: Remove spurious heading space from --help output.
    * update-alternatives: When initializing admindir from DPKG_ADMINDIR append
      "/alternatives". Closes: #1001198
    * Code internals:
    - Remove <ar.h> inclusions.
    * Packaging:
    - Install deb-md5sums(5) into dpkg-dev package.
    dpkg (1.21.0) unstable; urgency=medium
    [ Guillem Jover ]
    * dpkg-genchanges: Include orig tarball on source package renames.
      Closes: #980066
    * scripts: Consider SHA-1 and RIPEMD-160 weak algorithms in OpenPGP
    * dpkg: During unpack print a removal message due to Conflicts.
      Closes: #985401
    * scripts: Add zsh completions for dpkg-parsechangelog.
      Thanks to Daniel Shahaf <>. Closes: #986103
    * dpkg-buildpackage: When printing build type match the extension exactly.
      Closes: #989824
    * dpkg-maintscript-helper: Use xargs -I argument instead of deprecated -i.
    * dpkg-maintscript-helper: Quote variable inside ${} to avoid pattern match.
    * libdpkg: Fix dpkg_fsys_get_path() to always strip leading / and ./.
    * libdpkg: Set the default database directory relative to the system root.
    * dpkg-divert, dpkg-statoverride: Set admindir after instdir.
    * update-alternatives: Fix admindir setting.
      Prompted by Johannes Schauer Marin Rodrigues <>.
    * dselect: Honor DPKG_ADMINDIR environment variable.
    * dpkg-query, dpkg-trigger, dselect: Add support for setting the root
    * dpkg-fsys-usrunmess: Move forced reconfiguration to the last step.
      See #991190.
    * dpkg-fsys-usrunmess: Install a local policy-rc.d to ignore service
      restarts. Closes: #991190
    * dpkg-fsys-usrunmess: Do not fail when removing lingering directories.
    * dpkg-fsys-usrunmess: Generate a regression prevention package.
    * dpkg-fsys-usrunmess: Fix typo in debug message.
    * dpkg: Distinguish deconfiguration message for installation and multi-arch
    * dpkg-buildpackage: Add new --changes-file option.
      Prompted by Niels Thykier <>.
    * dpkg-buildpackage: Add new --buildinfo-file option.
    * dpkg: Rework --assert-<feature> logic to be more robust.
      Prompted by Helmut Grohne <>.
      Prompted by David Kalnischkies <>.
    * dpkg: Improve --assert-<feature> descriptions.
    * dpkg: Add a new --assert-help option.
    * scripts/mk: Pass DEB_BUILD_PATH to dpkg-buildflags. See #985553.
    * dpkg-db-backup: New program factored out from Debian-specific daily cron.
    * dpkg-db-backup: Accept an option to override the number of rotation cycles.
    * dpkg-db-backup: Honor the admindir set at configure time.
    * update-alternatives: Fix --auto and --set-selections output progress.
    * update-alternatives: Print defaults for configuration and database
    * scripts: Replace shebang in dpkg-error shell library with shellcheck
    * dpkg-buildpackage: Add support for terse DEB_BUILD_OPTIONS.
    * dpkg-mergechangelogs: Add new --merge-unreleased option. Closes: #582921
    * dpkg: Restore fallback to "new-prerm failed-upgrade" for downgrades.
      Analysis by Ian Jackson <>. Closes: #996959
    * dselect: Use safe temporary file creation in methods setup.
    * dselect: Remove bashism from update script in multicd method.
    * dpkg: Fix --verify to handle missing or inaccessible pathnames.
      Closes: #963087
    * dpkg: Add partial --verify support for mode checks.
    * Use «digest» instead of «hash» in output messages.
      Reported by Sven Joachim <>.
    * dselect: use `grep -E` instead of `egrep`.
      Thanks to Ville Skyttä <>. Closes: #999600
    * libdpkg: Fix memory leak on End Of Tape condition in tar parser.
    * dpkg: Fix short lived memory leak with --recursive.
    * dpkg: Fix conffile removal-on-upgrade handling. Closes: #995387
    * dpkg-deb: Fix conffile name length tracking on remove-on-upgrade parsing.
      Reported by uau on IRC.
    * Architecture support:
    - Clarify that the regex columns need to be ordered to match first.
    - Add support for ARCv2 CPU. Closes: #980963
      Based on a patch by Alexey Brodkin <>.
    * Portability:
    - start-stop-daemon: Define SOCK_NONBLOCK to 0 if not defined.
    - libdpkg: Add support for AIX to dpkg_get_progname().
    * Perl modules:
    - Dpkg::Source::Quilt: Add hint to check missing files on patch apply
      Reported by Joseph Nahmias <>.
    - Dpkg::Changelog::Parse: Require format plugins to inherit from
    - Dpkg::OpenPGP: Refactor openpgp implementation execution into a new
    - Dpkg::Vendor::Debian: Refactor compiler flag names into an array.
    - Dpkg::Vendor::Debian: Add new lto feature in new optimize area.
      Closes: #940571
    - Test::Dpkg: Print actual error messages in test_neutralize_checksums().
    - Dpkg::Deps: Use current_sub feature for __SUB__.
    - Dpkg::BuildFlags: Add support for ASFLAGS.
    - Dpkg::Compression: Use gzip --rsyncable unconditionally.
    - Dpkg::Changelog::Entry::Debian: Fix full month misuse warning.
    - Dpkg::Shlibs::Symbol: Emit a warning on fully qualified symver patterns.
      Closes: #993991
    - Dpkg::Control::HashCore: Add new keep_duplicate option.
    - Dpkg::Control::FieldsCore: Add new field_parse_binary_source().
      Closes: #980527
    - Dpkg::Control::FieldsCore: Fix types allowed for
      Reported by Johannes Schauer Marin Rodrigues <>.
    - Dpkg::Shlibs::Objdump: Fix apply_relocations to work with versioned
      symbols. Closes: #1000421
    - Dpkg::Vendor::Ubuntu: Update Maintainer field logic to include
      “canonical”. Based on a patch by
      William 'jawn-smith' Wilson <>.
      Closes: #1000557
    - Dpkg::Source::Package::V2: Add hint about version matching source tree.
      Based on a patch by Samuel Henrique <>.
      Closes: #996044
    * Documentation:
    - man: Itemize dpkg-gensymbols -c levels.
    - man: Add man page for deb-md5sums(5).
      Reported by Maxim Cournoyer (on IRC).
    - man: Switch the Architecture field in deb-control(5) to required.
      Reported by Maxim Cournoyer (on IRC).
    - man: Make clear that dpkg-query arguments accept multiple values.
      Prompted by Rémi Rampin <>. See #913781.
    - man: Document dpkg-query --search and --listfiles output formats.
    - doc: Fix incorrect use of ‘an’ article.
    - doc: Update coding style to document POD instead of troff.
    - doc: Update THANKS file.
    - doc: Annotate current maintainer start year.
    - doc: Sort maintenance information chronologically.
    - man: Add versions since features where introduced.
    - man: Further clarify when re-inclusions of excluded pathnames happen.
      Closes: #871420
    - doc: Update Doxygen configuration from version 1.9.1.
    - doc: Improve description of dpkg suite.
      Prompted by Fabrice Bauzac-Stehly <>.
    - man: Add a reference to where the Installed-Size algorithm is described.
    - man: Improve dpkg --verify-format rpm format documentation.
    - man: Document in deb-substvars(5) what ${} is good for.
      Prompted by Paul Wise <>.
    - man: Document in dpkg-architecture(1) target being useful for emulators
      too. Prompted by Helmut Grohne <>.
    - man: Document in dpkg-query(1) full --search and --listfiles output
      format. Prompted by Johannes Schauer Marin Rodrigues <>.
    * Code internals:
    - Remove irrelevant or obsolete FIXME markers.
    - Turn FIXME markers denoting pending actions into TODO markers.
    - Turn FIXME markers giving historic information into simple Notes.
    - update-alternatives: Turn FIXME for explicit behavior choice into an XXX.
    - Use localtime_r() instead of localtime().
    - libdpkg: Remove MDEBUG support from m_malloc() implementation.
    - libdpkg: Mark dpkg_arch_unmark() arch_remove argument as const.
    - libdpkg: Mark treewalk_open() func argument as const.
    - dpkg: Mark ignore_depends() pkg argument as const.
    - dpkg: Mark deb_parse_conffiles() pkg argument as const.
    - libcompat: Remove local setexecfilecon() and require libselinux 2.3.
    - libdpkg: Add missing DPKG_{BEGIN,END}_DECLS in header files.
    - dpkg: Move SE Linux function declarations into its own header file.
    - dpkg: Move the command action enum to its own header file.
    - dpkg: Switch from including "main.h" to "force.h".
    - dselect: Rename dme() to display_menu_entry().
    - dpkg: Split function handling deconfiguration due to install and removal.
    - libdpkg: Add new ACTION_MUX macro for continued options.
    - dpkg: Refactor --assert-<feature> handling to be data driven.
    - dpkg-fsys-usrunmess: Do not use interpolated strings for literals.
    - dpkg-db-backup: Add a license header comment.
    * Build system:
    - Fallback to $^X and 'perl' if $Config{perlpath} is unset or empty.
    - Bump minimal Perl version to 5.28.1.
    - Remove redundant localedir and pkgconfdir initializations.
    - Check for libsocket.
    - Do not set have_libmd on the found branch in AC_SEARCH_LIBS.
    - Check whether fsync(3) works on directories.
    - Remove obsolete AC_HEADER_STDC.
    - Detect appropriate sed program at configure time.
    - Parametrize the backups directory with a configure option.
    - Add a check for symlinks in the git repository.
    - Rename shell scripts to .sh.
    - Switch from hardcoded /run to parametrized runstatedir.
    - Use new Dpkg::Control keep_duplicate option in gen-changelog.
    - Use title-case for field in gen-changelog.
    - Execute run-script via CONFIG_SHELL.
      Reported by Larkin Nickle <>.
    - Quote variables containing pathnames in m4 macros.
    - Add support for commit message fix up machinery in gen-changelog.
    * Packaging:
    - Use absolute pathnames in .install debhelper fragments.
    - Remove unused dh_installcron call for arch-indep targets.
    - Add support for a native systemd timer. Closes: #985444
    - Create auotpkgtest installation directory.
    - Bump Standards-Version to 4.6.0 (no changes needed).
    * Test suite:
    - Pass --ignore-builtin-builddeps to dpkg-buildpackage.
    - Use can_run() instead of find_command().
    - Add descriptions to makefile test runners.
    - Add unit tests for architecture bijective mapping property.
    - Suppress cppcheck constParameter check.
    - Suppress bogus cppcheck for nullPointerRedundantCheck.
    - Mark external sourced shell files for checking.
    - Ignore new shellcheck checks.
    - Remove shipped dpkg database.
    - Add re-inclusion of symlink case to t-filtering. See #871420.
    - Generate symlink during test build time.
    - Remove superfluous long filename.
    - Refactor parse_ctrl() from parse_dsc().
    - Update codespell stopwords.
    [ Helge Kreutzmann ]
    * deb-md5sums.pod: Fix typo.
    [ Add programs translations ]
    * Occitan (Quentin PAGÈS).
    [ Update dselect translations ]
    * German (Sven Joachim).
    [ Update man pages translations ]
    * German (Helge Kreutzmann).
    [ Update programs translations ]
    * German (Sven Joachim).
    * Polish (Marcin Owsiany, Łukasz Dulny).
    [ Update scripts translations ]
    * German (Helge Kreutzmann).
* Thu Jun 10 2021 Adam Majer <>
  - do not include update-alternative manpages in dpkg
  - use-clamp-from-C-STD-library.patch: removed, upstreamed
* Thu Apr 29 2021 John Paul Adrian Glaubitz <>
  - Refresh patches for new version
    * update-alternatives-suse.patch
  - Set minimum version for po4a to 0.59 in BuildRequires
  - Update file list in %files section
  - Version update to 1.20.9 (boo#1181867)
    [ Guillem Jover ]
    * Test suite:
    - Pass --ignore-builtin-builddeps to dpkg-buildpackage.
  - from version 1.20.8
    [ Guillem Jover ]
    * start-stop-daemon: Open the --output file in append mode.
    * dpkg: Fix --auto-deconfigure for essential and protected during
      installation. Reported by Julian Andres Klode <>.
      See #983014.
    * dpkg-realpath: Fix resolution for absolute symlinks on «/».
      Closes: #983855
    * dpkg-realpath: Fix symlink loop tracker.
    * Perl modules:
    - Test::Dpkg: Fix test data path fetching on CPAN.
    - Dpkg::Exit: Preserve exit code in END block.
    * Build system:
    - Group Test::Dpkg changelog entries into “Perl modules” section.
    * Packaging:
    - Run autopkgtest test suites in verbose mode.
    * Test suite:
    - Set PERL in the perl test suite.
    - Use gunzip instead of zcat and assume it might not be present.
    - Mock dpkg and gcc for architecture detection code.
    - Initialize DEB_BUILD_ARCH and DEB_HOST_ARCH to avoid computing them.
    - Update suppressions for cppcheck 2.4.
    [ Update man pages translations ]
    * Dutch (Frans Spiesschaert). Closes: #981884
    * German (Helge Kreutzmann).
    * Portuguese (Américo Monteiro). Closes: #980018
    [ Update programs translations ]
    * Dutch (Frans Spiesschaert). Closes: #981882
    [ Update scripts translations ]
    * German (Helge Kreutzmann). Closes: #983865
  - from version 1.20.7
    [ Guillem Jover ]
    * libdpkg: Do not consider the database locked with a missing lock file.
      Reported by David Kalnischkies <>.
    * Documentation:
    - man: Clarify and expand information on dpkg-realpath(1) man page.
      Closes: #979564
    * Packaging:
    - Update copyright notices in debian/copyright.
    - Bump Standards-Version to 4.5.1 (no changes required).
    * Test suite:
    - On as-root mode do not use sudo if already running as root.
    - Print WARN instead of FAIL for maintscript fd leaks.
    [ Update man pages translations ]
    * German (Helge Kreutzmann).
    [ Update programs translations ]
    * German (Sven Joachim).
  - from version 1.20.6
    [ Guillem Jover ]
    * libdpkg: Fix undefined behavior in varbuf functions.
      Reported by KOLANICH <>.
    * libdpkg: Fix memory leaks in tar_extractor().
    * libdpkg: Fix memory leak in trigger deferred processing.
      Reported by KOLANICH <>.
    * libdpkg: Fix memory leak in filesystem treewalk node free function.
    * libdpkg: Fix memory leak in filesystem treewalk iterator.
    * libdpkg: Fix single-instance memory leak with fsys dir.
    * libdpkg: Fix short-lived memory leaks.
    * libdpkg: Reset error context errmsg after free().
    * dpkg: Fix memory leak for cidir.
      Reported by KOLANICH <>.
    * dpkg: Fix short-lived memory leak in --force-help output.
      Based on a patch by KOLANICH <>.
    * dpkg-deb: Fix single-instance memory leak on missing conffiles control
    * dpkg-divert: Fix short-lived memory leaks.
    * dpkg-realpath: Add new -z, --zero option.
      Requested by Johannes Schauer <>.
    * dpkg-deb: Make decompression error message more descriptive.
      Closes: #968442
    * dpkg-architecture: Add a --print-format option.
      Prompted by #968963.
    * dpkg-buildpackage: Warn on known R³ values in uppercase.
      Reported by Niels Thykier <>.
    * dpkg-buildpackage: Error out on R³ "yes" value.
      Requested by Niels Thykier <>.
    * dpkg-buildpackage: Clarify R³ keyword diagnostic messages.
    * dpkg-deb, dpkg-split: Fix time handling to support 64-bit time.
    * libdpkg: Check that the ar archive time is within bounds.
    * libdpkg: Ignore not-installed packages for source related virtual fields.
      Closes: #972580
    * libdpkg: Make source version parsing more robust on missing data.
      See #972580.
    * libdpkg: Do not forget not-installed packages that are set on hold.
      Reported by David Kalnischkies <>.
    * update-alternatives: Fix memory leaks for alternative database context on
      load errors.
    * update-alternatives: Fix short-lived memory leaks for alternative structs.
    * update-alternatives: Fix memory leaks with new_choice.
    * update-alternatives: Fix short-lived memory leaks for log_file and admdir.
    * dpkg-buildflags: Add support for DFLAGS. Closes: #975896
    * dpkg-parsechanaglog: Document --file in --help output.
    * libdpkg: Fix allocation size wrap around when growing a varbuf.
    * dpkg-query: Do not print database loading progress. Closes: #977240
    * Rename taint tag to merged-usr-via-aliased-dirs.
    * dpkg-buildflags: Enable reproducible=fixfilepath by default.
      Thanks to Vagrant Cascadian <>.
      Closes: #974087
    * start-stop-daemon: Move umask setup before any file has been created.
    * start-stop-daemon: Add a new --output option to redirect stderr and stdout.
    * dpkg-maintscript-helper: Do not pass DPKG_ROOT prefixed pathmames to
    * dpkg: When removing old files check the pathname with diversion and
    * dpkg-realpath: Make 'link includes root prefix' error more verbose.
    * libdpkg: Make sure we do not walk on rootless trees.
    * dpkg: Fix incorrect logic around printing dependency warnings.
      Thanks to Jessica Clarke <>.
      Reported by Helmut Grohne <>.
    * Support remove-on-upgrade conffile flag via DEBIAN/conffiles.
      Based on a patch by Niels Thykier <>. Closes: #822462
    * dpkg-fsys-usrunmess: New program.
    * Perl modules:
    - Dpkg::Index: Add new item_opts option.
    - Dpkg::Exit: Fix exit handler on program termination. Closes: #966083
    - Dpkg::Changelog::Entry::Debian: Fix format string.
      Prompted by #967911.
    - Dpkg::Changelog::Parse: Add new verbose option.
      Prompted by #967911.
    - Dpkg::Changelog::Parse: Document 'label' option.
    - Dpkg::Source::Package::V1: Print a message when verifying tarball
    - Dpkg::Path: Fix pathname traversal check for symlinks. Closes: #971203
    - Dpkg::Source::Package: Honor no_check for directory traversal checks.
      See #971203.
    - Dpkg::Source::Package: Call syserr() instead of syserror().
      Reported by Drew Parsons <>.
      See #849752. Closes: #976249
    - Dpkg::Path: Check first whether the files are the same by comparing
      string-wise. Closes: #849752
    - Dpkg::OpenPGP: Refactor gpg armor code into its own function.
    * Documentation:
    - man: Fix typo in --print-unset option reference.
      Reported by Ferenc Wágner <>. Closes: #966110
    - man: Clarify that dpkg-architecture uses some of its own variables.
      Closes: #966111
    - man: Fix casing and namespacing in VARIABLES definitions.
    - man: Fix typo in dpkg-source(1).
      Thanks to Paul Wise <>.
    - man: Add a reference to deb-symbols(5) in deb-src-symbols(5) DESCRIPTION.
      Prompted by #970083.
    - man: Specify that symbol, version and id are separated by a single
      whitespace. Closes: #970083
    - man: Clarify day-of-month format in deb-changelog(5).
      Reported by Axel Beckert <>.
      See #971977.
    - man: Update update-alternatives maintainer script usage information.
      Prompted by Niels Thykier <>.
    - man: Switch to use L<> markup for URLs instead of B<>.
    - doc, man: Clarify that R³ values are case sensitive.
      Prompted by Niels Thykier <>.
    - man: Add references to deb822(5) to file formats based on it.
      Prompted by Niels Thykier <>.
    - man: Clarify config-files state in dpkg(1).
      Prompted by Stuart Prescott <>.
    - man: Fix typos.
    - man: Hyphenate multiple words in deb-override(5) format description.
    - man: Uppercase acronyms and logic operators.
    - man: Empty or whitespace-only lines in deb-conffiles(5) are not accepted.
    * Code internals:
    - libcompat, dpkg: Stop using deprecated security_context_t data type.
    - update-alternatives: Refactor alternative database context freeing into a
      new function.
    - libdpkg: Do not define the clamp macro when compiling C++ code.
      Reported by Helmut Grohne <>.
    - libdpkg: Replace FSF address by pointing to the URL.
    - libdpkg: Initialize pkgbin's newhash to NULL.
      Prompted by Steinar H. Gunderson <>.
    - libdpkg: Use memset() instead of open-coding struct blanking.
      Prompted by Steinar H. Gunderson <>.
    - Do not call fsys_hash_init() before command actions.
      Prompted by Steinar H. Gunderson <>.
    - libdpkg: Fix m_pipe() function definition prototype to match declaration.
    - libdpkg: Refactor new str_rtrim_spaces().
      Based on a patch by Niels Thykier <>.
    - dpkg: Call fsys_hash_find_node() outside tar_fsys_namenode_queue_push().
    - Use a conffilename variable to track the actual conffile name in the
      Thanks to Niels Thykier <>.
    * Build system:
    - Add new gen-changelog tool.
    - Pre-process the curses header before parsing it. Closes: #970545
    - Fix variable substitution in man pages.
      Reported by Niels Thykier <>. Closes: #978983
    - Add a README.cpan to be installed as README in the CPAN distribution.
    - Do not try to use <sys/sysctl.h> on GNU/Linux.
    - Fix «make distcheck» for man pages.
    - Update GitLab CI configuration to use built-in functional test suite.
    - Make it possible to override PKGDATADIR on built scripts too.
    - Disable umask to 0 for Docker executor in GitLab CI.
    - Disable functional test suite debug mode on GitLab CI.
    - Sort po4a entries in po4a.cfg.
    * Packaging:
    - Do not fail the bug-script if readlink fails. Closes: #968397
    - Improve cron file robustness on missing or empty backup files.
      Closes: #969472
    - Use AUTOPKGTEST_TMP instead of writing into the source tree.
    - Hook the functional test suite into autopkgtest.
    - Remove trailing comma from lintian profile file.
    - Do not hardcode libdpkg-perl dependency on perl:any.
      Thanks to Sven Joachim <>.
    * Test suite:
    - Fix short lived memory leaks in unit tests.
    - Print the ehandle unit test error output on verbose mode.
    - Improve dpkg-divert test to output stdout and stderr.
    - Use intermediate variable for directory traversal item iteration.
    - Refactor root handling in Dpkg::Path unit tests.
    - Refactor test verbose check into an inline function.
    - Make it possible to include test.h from benchmarks.
    - Disable hash reports in benchmark tests unless verbose.
    - Add support for basic test try/catch/finally keywords.
    - Merge the dpkg-tests.git repository into tests/.
    - Update merged functional test suite assumptions.
    - Remove redundant test cases from the functional test suite.
    - Remove source package building support from functional test suite.
    - When using DPKG_BUILDTREE add scripts/ to DPKG_PATH.
    [ Add man pages translations ]
    * Portuguese (Américo Monteiro). Closes: #964751
    [ Update dselect translations ]
    * Dutch (Frans Spiesschaert). Closes: #968294
    * French (Didier Vidal). Closes: #964749
    [ Update man pages translations ]
    * Dutch (Frans Spiesschaert). Closes: #968743
    * German (Helge Kreutzmann).
    [ Update programs translations ]
    * Dutch (Frans Spiesschaert). Closes: #968744
    * German (Sven Joachim).
    [ Update scripts translations ]
    * German (Helge Kreutzmann).
  - from version 1.20.5
    [ Guillem Jover ]
    * Revert change to prefix the specs file spec string self_spec with +
      instead of *. The prefix is supposed to go in the text itself
      instead of the spec name, which already had it. This change only
      apparently fixed the issue at hand because gcc started parsing it as
      the «[SUFFIX]:» case, completely disabling the PIE handling.
      Thanks to Thorsten Glaser <>.
    * Perl modules:
    - Dpkg::Source::Package::V1: Explicitly initialize constructor options to
      their implicit values, otherwise other code end up assuming different
      defaults. This is required here too as this class does not call the
      initialization from its parent.
    * Build system:
    - Detect the GNU program variants for make, patch and tar in the CPAN
      distribution to replace in the Dpkg module.
    - Set DEB_BUILD_ARCH to a dummy “amd64” in the CPAN distribution tests
      to not require a dpkg(1) in the system.
    * Test suite:
    - Only print the Dpkg::Path::check_directory_traversal() error on failure.
    [ Updated scripts translations ]
    * German (Helge Kreutzmann).
  - from version 1.20.4
    [ Guillem Jover ]
    * Improve PIE flags support:
    - Prefix the specs file spec string self_spec with + instead of *.
      This way we do not override any previous setting, otherwise when
      passing the -specs options twice (f.ex. to compile and link), only the
      last one will take effect, which can break the build. Closes: #870383
    * Perl modules:
    - Dpkg::Source::Package: Explicitly initialize constructor options to
      their implicit values, otherwise other code end up assuming different
      defaults. Closes: #964017
    - Dpkg::OpenPGP: Use a temporary directory for the GnuPG homedir in
      verify_signature(), to make sure we do not write to the user home
      directory, except for the trustkeys.db file if present.
    - Dpkg::Path: Refactor new check_directory_traversal() function out of
    - Dpkg::Path: Do not do partial matches for directory traversal checks,
      expect a trailing slash after the base directory name.
    - Dpkg::Path: Catch uncanonicanizable pathnames with a proper error.
      Closes: #964111
    - Dpkg::Path: Do not consider missing symlink targets a directory
      traversal attempt. Closes: #964234
    - Dpkg::Path: Allow /dev/null for directory traversals.
      Reported by Holger Levsen <>.
    * Build system:
    - Add Module::Signature as configure recommends for CPAN.
    * Test suite:
    - Use File::Path::make_path() instead of chained mkdir() in Dpkg_Path.t.
    - Add unit tests for Dpkg::Path::check_directory_traversal().
    [ Updated programs translations ]
    * German (Sven Joachim).
  - from version 1.20.3
    [ Guillem Jover ]
    * Perl modules:
    - Dpkg::OpenPGP: Pass --no-options to gpg in verify_signature().
      Reported by Bertrand Marc <>. Closes: #963839
    - Dpkg::Build::Info: Clarify by giving context to the
      get_build_env_whitelist() deprecation warning. Closes: #963844
      Reported by Sven Joachim <>.
    - Dpkg::Source::Package: Fix check_original_tarball_signature() to make
      import_key() honor require_valid_signature, which should default to
      false. Reported by Mattia Rizzolo <>.
    - Dpkg::OpenPGP: Use a temporary directory for the GnuPG homedir in
      import_key(), to make sure we do not write to the user home directory,
      which might be read-only or non-existent. Closes: #963944
      Reported by Mattia Rizzolo <>.
    * Code internals:
    - libdpkg: Print a notice if we cannot write to the log file.
    * Build system:
    - Improve error diagnosis for configure version fetching script.
      Prompted by Norbert Preining <>.
    [ Updated programs translations ]
    * German (Sven Joachim).
  - from version 1.20.2
    * dpkg: Do not include the architecture with --robot --version.
    * update-alternatives: Create alternatives directory (/etc/alternatives)
      if it is missing, to help with installation bootstrapping.
      Reported by Johannes Schauer <>.
    * update-alternatives: Create the log directory if it is missing.
    * Perl modules:
    - Dpkg::Source::Package: Turn the missing expected tarball signature
      error into a warning for now, as it is causing unintended fallout,
      and does not play nice (yet) with tarballs repackaged by uscan(1).
      Closes: #963821
    * Code internals:
    - update-alternatives: Move log_msg() after make_path() so that we can use
      the latter.
    - update-alternatives: Add new xstrndup() and xdirname() functions.
    * Build system:
    - Set SHELL in the test environment.
    - Do not fail if po4a is not found, and search for it just once.
    - Fix name and section generation for translated man pages. This caused
      pod2man to get an empty --name argument and not output anything,
      resulting in generating empty man pages. Closes: #963794
    * Packaging:
    - Sort debian/dpkg-dev.manpages.
    - Install deb-src-symbols(5) in dpkg-dev package.
  - from version 1.20.1
    [ Guillem Jover ]
    * Fix dpkg logging regression introduced in 1.20.0:
    - libdpkg: Use varbuf member .used instead of .size in log_message(),
      to avoid printing garbage.
    - libdpkg: Open the log file as write-only instead of read-only.
      Thanks to Roderich Schupp <>. Closes: #953684
    * Unify and cleanup Makefile fragment files comments, including information
      about version of introduction.
    * Add new Makefile fragment to support parsing DEB_BUILD_OPTIONS
      options with arguments, such as “parallel” as DEB_BUILD_OPTION_PARALLEL.
    * dpkg-genchanges: Handle empty Date fields from parsed debian/changelog.
      Based on a patch by Baptiste BEAUPLAT <>. Closes: #956321
    * dpkg-source: Check that debian/tests/control has the required fields.
      Prompted by Felix Lechner <>.
    * dpkg-deb, dpkg: Do not accept relative pathnames in DEBIAN/conffiles.
      Reported by Niels Thykier <>.
    * dpkg-split: Fix off-by-one check in ar header padding, that was making
      parsing error out on valid archives. Regression introduced in dpkg 1.18.8.
    * libdpkg: Fix error message for ending version character in dependency
    - Move the version unterminated case before the catchall.
    - Print the actual wrong character and print what is expected.
    * libdpkg: Do not use econtext->errmsg on out of context abort, as it might
      be uninitialized.
    * update-alternatives: Set the umask to 022 on program start.
      Reported by Paul Wise <>.
    * dpkg-parsechangelog: Fix --show-field for multiline fields. We were not
      stripping trailing whitespace, and were not prefixing empty lines with
      a ‘.’, like when printing with the field names.
      Reported by Paul Wise <>.
    * dpkg: Add a new --robot option to be used with --version.
    * dpkg, dpkg-query: Document missing options in --help output.
    * Unify ellipsis formatting in programs --help output.
    * Add Protected field support.
    * dpkg-realpath: New program, to be used by dpkg-maintscript-helper, and
      any maintainer script that needs a realpath that can handle pathnames
      relative to the dpkg root directory.
    * dpkg-realpath: Add support for DPKG_ROOT.
      Thanks to Helmut Grohne <>.
    * dpkg-realpath: Add support for --root and --instdir options.
    * dpkg-maintscript-helper: Add support for DPKG_ROOT:
    - Add DPKG_ROOT support for conffiles.
      Thanks to David Kalnischkies <>.
    - Add DPKG_ROOT support for symlink to and from directory switches.
      Based on a patch by Bastien ROUCARIÈS <>.
      Closes: #832176
    * update-alternatives: Add DPKG_ROOT support, and new --root and --instdir
      options. Closes: #871808
    * Portability:
    - libdpkg: When using uselocale(), include <xlocale.h> for locale_t if
      the header is available. Needed on BSDs.
      Reported by Sirio Balmelli <>.
    * Perl modules:
    - Dpkg: Add a LICENSE section to the POD.
    - Dpkg::Source::Package: Add new get_upstream_signing_key() method.
    - Dpkg::Source::Package: Check missing expected tarball signatures.
    - Dpkg::Source::Package::V1: Check version format matching source format.
    - Dpkg::Vendor::Debian: Add debian-nonupload.gpg keyring.
      Thanks to Taowa Munene-Tardif <>. Closes: #956055
    - Dpkg::Vendor::Debian: Detect merged-usr-via-symlinks also with absolute
      pathnames. Reported by Adam Borowski <>.
    - Dpkg::Build::Info: Avoid whitelist in function name.
    - Dpkg::Shlibs::SymbolFile: Avoid blacklist and whitelist terms.
    * Documentation:
    - man: Fix misused two-fonts macros.
      Thanks to Bjarni Ingi Gislason <>. Closes: #955028
    - man: Trim trailing whitespace from output.
      Thanks to Bjarni Ingi Gislason <>. Closes: #955030
    - man: Mention that dpkg(1) does not provide all back-end interfaces.
      Prompted by Elana Hashman <>.
    - man: Clarify and fix file formats SYNOPSIS.
    - man: Clarify that deb-control(5) is a subset of deb-src-control(5).
      Closes: #958229
    - man: Unify warning and note admonitions formatting.
    - man: Remove useless commented out macros.
    - man: Fix unbalanced quotes in macro arguments.
    - man: Specify the indentation level for all following .IP macros, not
      just the first one.
    - man: Use .TP macros instead of hand-crafted formatting.
    - man: Fix font markup for some variable and literal strings.
    - dpkg-maintscript-helper: Add -?, --help and --version to --help output.
    - man: Fix apt and aptitude references.
      Reported by Helge Kreutzmann <>.
    - man: Mark commands (eval) in bold and quote library names (libgcc).
      Reported by Helge Kreutzmann <>.
    - man: Use UTF-8 quotes instead of ancient groff register variables.
    - man: Use literal double quotes instead of groff escape sequences.
    - man: Clarify that we resolve bug reports not bug report numbers.
      Reported by Helge Kreutzmann <>.
    - man: Clarify POSIX shell eval command usage in dpkg-architecture(1).
    - man: Use item lists instead of verbatim or hand-crafted formatting.
    - man: Do not use verbatim formatting for text that is not an example.
    - man: Markup examples explicitly with .EX/.EE.
    - man: Fix indentation for a note admonition in dpkg-scansources(1).
    - man: Document that a 3.0 (quilt) patch cannot create or modify symlinks.
      Thanks to Johannes Schauer <>.
    - man: Reword text to reduce length in verbatim code block.
    - man: Add semicolons before verbatim code blocks.
    - man: Update dselect methods provided. Several got removed in 1.20.0.
    - man: The Installed-Size field does not get its value from du(1) since
    - man: Fix dpkg-gencontrol -P description to not refer to dpkg-source.
      Reported by Jakub Wilk <>.
    - man: Place description of override value column on its own paragraph.
    - man: Surround markup within verbatim blocks with .nf/.fi.
    - man: Balance font markup.
    - man: Do not nest font markup.
    - man: Use .ig/.. macros to disable text instead of commenting it out.
    - man: Do not mark end of sentence period with bold.
    - man: Add a missing comma after man page reference in SEE ALSO section.
    - man: Convert man pages from roff to POD.
    - man: Clarify the dpkg --no-act admonition.
    - man: Avoid whitelist term in dpkg-source man page.
    * Code internals:
    - Use $() in shell or qx() in perl instead of ``.
    - dpkg-split: Switch part number variables from unsigned int to int.
    - scripts: Refactor shell error handling into a shell library
    - Reformat shell code to follow the coding style.
    - update-alternatives: Parametrize option names in output strings.
    - update-alternatives: Move logging function close to output functions.
    - update-alternatives: Move argument parsing functions close to main().
    - update-alternatives: Add general purpose non-failing functions for
      administrative directory access.
    - update-alternatives: Add filesystem abstraction functions.
    * Build system:
    - Handle .git being a plain file when getting the dpkg tree version.
    - Add debian/changelog as a Changes file to the CPAN distribution.
    - Set DPKG_SERIES to 1.20.x when running the functional test suite.
    - When using po4a require at least po4a 0.59. Change the po4a --porefs
      argument from no longer supported “noline,wrap” to “file”, as wrapping
      is the default since po4a 0.58. We require po4a 0.59 as 0.58 had a
      regression in its --srcdir support.
    - Switch to set the po4a addendum in the po4a_paths section instead of
      repeating it for each man page.
    - Use po4a conditional addendum support, and remove empty addenda.
    - Use po4a mode=eof support in addenda.
    - Do not use make prerequisites on suffix rule definitions.
      Closes: #961850
    - Add man page number suffixes to the automake SUFFIXES variable.
    - Update false positive suppressions for cppcheck 2.1.
    - Install specifications and API contracts in docdir.
    - Add support for switching man pages from roff to POD format.
    - Fix shell files substitution for version variable.
    * Packaging:
    - Switch to debhelper compatibility level 13.
    - Remove debian/tmp prefix from manpages debhelper fragment files.
    - Handle missing localized man pages gracefully.
    - Install AUTHORS, THANKS, usertags, README.api and
      README.feature-removal-schedule only in dpkg.deb.
    - Rename debian/usertags to debian/README.bug-usertags.
    - Install specifications to /usr/share/doc/dpkg/ in the dpkg-dev package.
    - Detect merged-usr-via-symlinks also with absolute pathnames in
      bug-script. Reported by Adam Borowski <>.
    * Test suite:
    - Rename deb-content test cases to make them more descriptive.
    - Skip autogenerated files from codespell.
    [ Updated programs translations ]
    * German (Sven Joachim).
    * Simplified Chinese (Boyuan Yang). Closes: #958437
    [ Updated scripts translations ]
    * German (Helge Kreutzmann).
    [ Updated man pages translations ]
    * German (Helge Kreutzmann).
  - from version 1.20.0
    [ Guillem Jover ]
    * libdpkg: Do not generate a backup file for the available database.
      Closes: #343578
    * perl: Switch Getopt::Long from bundling to bundling_values. This means
      the few scripts using Getopt::Long will stop accepting options in the
      form «-ab» for «-a -b», which is not future-proof, as it does not allow
      these options to get new arguments without making them ambiguous.
    * dpkg-buildpackage: Remove transient backwards R³ compatibility code.
    * Add support for nostrip in DEB_BUILD_OPTIONS when setting
      the STRIP variable.
    * dpkg-genbuildinfo: Do not include irrelevant packages in the Binary field.
    * dpkg: Do not clear selections for unknown packages. Closes: #927752
    * dpkg-shlibdeps: Add support for new Build-Depends-Packages, to be able
      to specify multiple packages. Closes: #926669
      Based on a patch by Frank Schaefer <>.
    * perl: Remove support for versioned GnuPG 2 program and packages.
    * libdpkg: Clarify lock contender error message. Print the PID of the lock
      contender, and add a warning explaining that removing the lock file is
      never the correct solution.
    * dpkg-genchanges, dpkg-mergechangelogs: Remove support for ~vola
      versioning, as was decommissioned some time ago.
    * dpkg-genchanges, dpkg-mergechangelogs: Match ~deb also as a backport
      marker in versions. Closes: #934980
    * libdpkg, dpkg: Use new versiondescribe_c() for non-localizable call sites,
      such as when writing to a log, which should not be localized.
      Reported by Julien Cristau <>.
    * dpkg-query: Try to use the package synopsis from the available file if
      not installed. Closes: #43573
    * dpkg-gencontrol: Take into account hardlinks when computing the
      Installed-Size substvar. Closes: #923475
      Patch co-authored with Sven Joachim <>.
    * dpkg: Fix and clarify behavior for packages marked to be on “hold”. These
      need to be processed for configuration and triggers. Closes: #926472
    * dpkg: Use DPKG_ADMINDIR to set the admindir. Closes: #900071
    * dpkg-source: Remove backwards compatibility code for legacy build-profiles.
    * perl: Give more context on field parsing errors. Closes: #637060
    * dpkg-buildpackage: Add option to sanitize environment. Closes: #843776
    * update-alternatives: Cope with a missing administrative directory.
    * update-alternatives: Create the administrative directory on demand.
    * dpkg-split: Cope with a missing parts/ database directory.
    * dpkg-split: Create the parts/ database directory on demand.
    * libdpkg: Consider msdbrw_needsuperuser equivalent to msdbrw_write, so
      the same checks are performed on normal non --force-not-root operation.
    * libdpkg: Add support for bootstrapping the installation of dpkg:
      Closes: #914515
    - Create the logfile with correct permissions, and remove the code
      setting up the logfile from the dpkg postinst.
    - Allow missing status and available databases, so that they get created
      on write, and remove the code setting them up from the dpkg postinst.
      Closes: #647911
    - Do not change the ownership of the triggers database directory. Either
      we are running as root:root which means the ownership should be correct
      already, or we are not which means we cannot change it anyway.
    - Create the dpkg database directory on demand.
    - Create the updates/ database directory on demand.
    - Create the info/ database directory on demand.
    * dpkg-architecture: Fix handling of exec failing in --command.
      Reported by Helmut Grohne <>.
    * dpkg-buildpackage: Do not accept equal signs as part of the hook names.
      Reported by Daniel Shahaf <>. Closes: #948291
    * dselect: Mark a string for translation.
    * dselect: Cleanup access methods:
    - Remove harddisk methods, as they were non-functional due to fdisk
      interface changes, and do not make sense anymore as we can expect users
      to mount any such filesystem on their own, to then use a filesystem
      method instead. Prompted by Helmut Grohne <>.
    - Remove cdrom method superseded by the multi_cd method.
    - Remove nfs methods, as there is nothing special about NFS, and mounting
      these should just be left to the local admin, who can mount any other
      remote filesystem too.
    - Remove multi_mount method, as the multi_cd method can take care of
      mounting the necessary images or devices.
    - Replace changelog with correct copyright in file header.
    * dpkg, dselect: Stop using first-person singular in output messages.
    * libdpkg: Fix memory leak in parsedb context close.
    * Add QMAKE variable. Closes: #920878
    * po: Fix translation of --compare-versions. Closes: #951614
      Thanks to Boyuan Yang <>.
    * Perl modules:
    - Dpkg::Source::Package: Verify original tarball signatures at build time.
    - Dpkg::BuildFlags: Add new unset() method.
      Requested by Daniel Schepler <>.
    - Dpkg::Source::Package::V2: Emit a special patch header on
      single-debian-patch. Closes: #933152
    - Dpkg::Vendor::Debian: Only scan /usr/local/ directories that exist.
      Closes: #932967
    - Dpkg::Vendor::Debian: Do not set -Werror=implicit-function-declaration
      for C++. Closes: #939969
    - Dpkg::Deps: Check for valid virtual package version relations. Do not
      allow non-equal version relations in virtual provides. Closes: #930317
    - Dpkg: Remove internal lowercase variables $version, $progname,
      $admindir, $dpkglibdir and $pkgdatadir.
    - Dpkg::Changelog: Remove obsolete methods dpkg() and rfc822().
    - Dpkg::Changelog::Entry::Debian: Remove obsolete methods check_header()
      and check_trailer(). Hide variables $regex_header and $regex_trailer.
    - Dpkg::Changelog::Parse: Remove warnings of obsolete options forceplugin
      and libdir. Remove obsolete functions changelog_parse_debian() and
    - Dpkg::Compression: Hide internal lowercase variables
      $default_compression, $default_compression_level and
    - Dpkg::Deps::KnownFacts: Remove obsolete check_package() method.
    - Dpkg::Exit: Hide internal lowercase @handlers variable.
    - Dpkg::Gettext: Remove obsolete _g() function.
    - Dpkg::Source::Package: Hide internal lowercase variable
      @tar_ignore_default_pattern. Remove internal lowercase variable alias
    - Dpkg::Substvars: Remove obsolete no_warn() method.
    - Dpkg::Index: Change default value for unique_tuple_key to 1.
    - Dpkg::Version: Remove deprecation warning from semantic change in
      bool overload.
    - Dpkg::Checksums: Remove obsolete 'program' property warning.
    - Dpkg::Conf: Remove obsolete methods and obsolete croak for method option.
    - Dpkg::Vendor: Remove obsolete 'keyrings' hook.
    - Dpkg::Exit: Unregister all signal handlers once we have executed them.
      Closes: #932841
    - Dpkg::Exit: Register exit handlers also for __DIE__.
    - Dpkg::Source::Package::V3::Native: Do not say v1.0 for 3.0 formats.
    - Dpkg::Dist::Files: On filename parse error say file instead of package.
    - Dpkg::Substvars: Add new vendor:Name and vendor:Id substvars.
    - Dpkg::Source::Package: Detect directory traversals under debian
      directory. Reported by Felix Lechner <>.
    * Documentation:
    - man: Fix uncommon wording constructs.
    - man: Use a minus sign for a literal string.
    - man: Clarify that the pager is called via «$SHELL -c».
    - dpkg-shlibdeps: Document split_soname() function.
      Prompted by Christopher Crim <>.
    - Dpkg::Changelog: Document methods provided by subclasses.
      Reported by Felix Lechner <>.
    - man: Globally adjust left and disable hyphenation.
    - man: Split dselect(1) --color from --colour option items.
    - man: Describe the SONAME formats supported in deb-shlibs(5).
    - man: Move template symbol documentation into new deb-src-symbols(5).
    - Dpkg::Changelog::Parse: Remove $ sigil from option names in POD.
    - Dpkg: Say class instead of object when appropriate.
    - Dpkg::Changelog: Clarify that these classes inherit from some other
      base class, which will contain the missing documentation.
      Prompted by intrigeri <>.
    - man: Clarify deb-changelog(5) format. Closes: #946780
    - man: Clarify debian/source/include-binaries format in dpkg-source(1).
      Prompted by Felix Lechner <>.
    - man, doc: Clarify that the postinst "triggered" argument gets the
      trigger-name(s) as a space-separated list in the second argument.
      Prompted by Michael Biebl <>.
    - dselect: Update the multicd README file.
    - doc, man: Mark T and I package instances to avoid misreadings.
    * Code internals:
    - Dpkg::Source::Package: Refactor original tarball handling.
    - perl: Use File::Copy instead of spawning mv/cp commands.
    - Dpkg::OpenPGP: Refactor signature verification into a new function.
    - Dpkg::OpenPGP: Make it possible to verify detached signatures.
    - Dpkg::OpenPGP: Add support for importing an OpenPGP key into a keyring.
    - Dpkg::BuildFlags: Remove unused hash keys.
    - libdpkg: Use the variable instead of a type as sizeof() argument.
    - libdpkg: Use the totalwritten variable for a consistency check.
    - dselect: Reduce scope of variable, to avoid it being unused in a branch.
    - dpkg-deb: Fold two adjacent if conditionals into a single one.
    - dpkg: Initialize flagdeppossi in check_conflict().
    - libdpkg: Add new C locale switch over support.
    - libdpkg: Add new versiondescribe_c() to force a C locale.
    - dselect: Make baselist::draw_column_*() col arguments const.
    - libdpkg: Use p instead of name in dpkg_arch_name_is_illegal().
    - dpkg: Remove redundant condition for sourcefile in updateavailable().
    - dpkg, update-alternatives: Make variables static.
    - libdpkg: Add missing symbols to the version map.
    - libdpkg: Fix fiemap memory layout usage that confuses gcc 10 to emit a
    - libdpkg: Only use varbuf_printf() in pkg_format_show() when necessary.
      This should speed up «dpkg-query --show» formatting.
    - libdpkg: Fix package format string to be a string literal.
      This suppresses a gcc warning.
    - dpkg: Fix short lived memory leak in --force-help handling.
    - dpkg-split: Fix short lived file descriptor leak in --auto.
    - start-stop-daemon: Explicitly ignore unimportant function return values.
    - start-stop-daemon: Fix memory leak on multiple --chuid arguments.
    - start-stop-daemon: Close the notification socket in the child.
    - libdpkg: Fix memory leaks in zlib and bz2 decompression functions.
    - libdpkg: Add new dir_make_path() and dir_make_path_parent() functions.
    - libdpkg: Add new atomic file flag to create the base path when missing.
    - libdpkg: Fix modstatdb_rw enum comments.
    - libdpkg, dpkg-query: Optimize db-fsys:Files virtual variable loading.
      We load either the entire db-fsys for all packages, possibly optimized
      per platform (such as by using fiemap), or the specific ones for the
      requested packages. This also fixes a problematic cast removing the
      constness of a variable.
    - Dpkg::Dist::Files: Document the two filename pattern formats.
    - update-alternatives: Remove redundant condition in argument parser.
    - update-alternatives: Move error context setup before calling setjmp(),
      so that cppcheck stops being confused.
    - test: Reformat 200_Dpkg_Shlibs.cpp for coding style conformance.
    - dpkg: Make it possible for the compiler to check printf() format
      string arguments on dependency printer.
    - dselect: Reorder branches in packagelist::deselect_one_of so that they
      are not duplicated.
    - dselect: Use nullptr instead of NULL.
    - dselect: Use static_cast<> instead of old-style type qualifier cast.
    - dselect: Do not use unnecessary old-style casts.
    - dselect: Fix variable types to avoid needing old-style casts.
    - libcompat: Disarm libselinux setexecfilecon() declaration for
    - libdpkg: Define new VARBUF_OBJECT macro.
    - libdpkg: Add new ATOMIC_FILE_NORMAL enum value to avoid a cast in C++.
    - libdpkg: Use a new DPKG_NULL macro that works in C and C++.
    - libdpkg: Use a new DPKG_STATIC_CAST macro that works in C and C++.
    - libdpkg: Move printing of errno into dpkg_error_set().
    - libdpkg: Use a varbuf to store the problem messages per parsedb context.
    - libdpkg: Fix Doxygen comments.
    * Build system:
    - Bump minimal Perl version to 5.24.1.
    - Add a serial versioning to the m4 files.
    - Install m4 files into system aclocal directory.
    - Bump minimal gettext version to 0.19.8, to get the m4 files that can
      cross-build for musl-based systems.
    - Enable more compiler warnings.
    - Update Doxygen configuration from version 1.8.16.
    * Packaging:
    - Remove obsolete Breaks satisfied since oldstable.
    - Replace custom rule for 'configure' with call to dh_autoreconf.
      Thanks to Dan Streetman <>. Closes: #939516
    - dselect: Remove methods state files on purge.
      Spotted by Sven Joachim <>.
    - Switch to debhelper compatibility level 12.
    - Switch from debian/compat to debhelper-commpat in Build-Depends.
    - Bump Standards-Version to 4.5.0 (no changes required).
    * Test suite:
    - Remove perlcritic Documentation::RequirePodLinksIncludeText suppression.
    - Clarify cppcheck va_list_usedBeforeStarted suppression.
    - Skip build directories from codespell check.
    - Update stopwords for codespell 1.16.0.
    - Suppress new bogus cppcheck 1.90 false positives.
    - libdpkg: Remove redundant assignment in t-ehandle unit test.
    - Skip backup files from codespell check.
    - Ignore python-3.8 runtime warnings in codespell.
    [ Updated programs translations ]
    * German (Sven Joachim).
    * Portuguese (Miguel Figueiredo). Closes: #935695
    * Simplified Chinese (Mo Zhou). Closes: #942195, #945776
    [ Updated dselect translations ]
    * German (Sven Joachim).
    [ Updated scripts translations ]
    * German (Helge Kreutzmann).
    [ Updated man pages translations ]
    * German (Helge Kreutzmann). Closes: #931135
  - from version 1.19.7
    [ Guillem Jover ]
    * dpkg: Fix off-by-one error in dpkg --abort-error. Closes: #924886
      Thanks to Tom Goulet <>.
    * dpkg: Set the force defaults before loading the config file, otherwise we
      incorrectly override them. Regression introduced in dpkg 1.19.5.
      Closes: #928671
    * dpkg: Split the trigger dependtry into two, the second of which will be
      the one checking trigger cycles when deferring trigger processing due to
      unsatisfiable dependencies. Closes: #928429
    * dpkg-deb: Validate ar member magic before normalizing any of its fields.
    * dpkg-deb: Honor --nocheck when building packages with newlines in
      filenames. Regression introduced in dpkg 1.18.1. Closes: #929727
    * Documentation:
    - rootless-builds.txt: Expand what the builder means. Mention the
      dpkg-deb option to use to set the owner and group to root. And reword
      the prototyping section to be less confusing with what is currently
      implemented. Closes: #929019
    - README: Clarify when autopoint is needed. Closes: #929601
    - Fix typos in docs and output strings. Warned by codespell.
    [ Updated programs translations ]
    * Catalan (Guillem Jover).
    [ Updated dselect translations ]
    * Catalan (Guillem Jover).
    [ Updated scripts translations ]
    * Catalan (Guillem Jover).
    [ Updated man pages translations ]
    * Dutch (Frans Spiesschaert). Closes: #926665
    * French (Jean-Pierre Giraud). Closes: #929664
  - from version 1.19.6
    [ Guillem Jover ]
    * libdpkg: Add a new TAR_FORMAT_UNKNOWN enum value.
    * libdpkg: Set tar_entry to zero on tar_entry_destroy(), to avoid double
      free()s and the subsequent crashes.
    * libdpkg: Handle non end-of-tape errors from tar_header_decode().
    * libdpkg: Use ERANGE instead of EINVAL for tar_atol8() out-of-range error.
    * dpkg-gencontrol: Check presence of package build dir before traversing it.
    * Perl modules:
    - Dpkg::Source::Package::V1: Change default build option style to -sa.
      Using -sA by default means the user might lose data on overwrite if
      there is already a directory with the same name laying around.
      Closes: #910737
    - Dpkg::Source::Package: Handle Format field being undefined. On source
      format 1.0, the default is for the debian/source/format file not being
      present, which means we'll start with an empty Format field name.
      Regression introduced in dpkg 1.19.3.
    * Packaging:
    - Update usertags.
    - Install a lintian profile for dpkg based on the debian profile, so that
      we can suppress Debian-specific tags, such as the controversial one on
      vendor-specific patch series files.
    - Add Breaks on lsb-base due to start-stop-daemon exposing breakage in
      the killproc function from /lib/lsb/init-functions. Closes: #923861
    * Test suite:
    - Stop requiring (pseudo-)root in the functional test suite.
    - Export and move TESTDATA definition close to the PATH definition.
    - Quote the 'yes' command to make a comment clearer.
    [ Updated programs translations ]
    * Dutch (Frans Spiesschaert). Closes: #924776
    [ Updated scripts translations ]
    * German (Helge Kreutzmann).
    [ Updated man pages translations ]
    * Dutch (Frans Spiesschaert). Closes: #924777
    * German (Helge Kreutzmann).
  - from version 1.19.5
    [ Guillem Jover ]
    * start-stop-daemon: Make sure that we get a meaningful errno on
      parse_unsigned(), so that the error messages always make sense.
    * start-stop-daemon: Add new fatalv() and fatale() functions and use the
      latter for system errors, so that we are explicit on whether we want to
      use errno for error reporting or not.
    * start-stop-daemon: Always refuse to parse a world-writable pidfile,
      except when that is /dev/null.
    * dpkg: Print the current set of enabled force options on --force-help.
    * dpkg: Parse and set new DPKG_FORCE environment variable for subprocesses.
      Closes: #666147
    * dpkg-statoverride: Add support for --force-* options.
    * dpkg-statoverride: Switch from --force option to new --force-<thing>
      options. Deprecate --force option which will be considered an alias for
    - -force-all for now.
    * dpkg, dpkg-statoverride: Add new option --refuse-security-mac to control
      SELinux. See #811037.
    * dpkg: Clarify error on unknown system user/group in statoverride database.
      Closes: #920880
    * dpkg-buildpackage: Clarify the warning/error on short OpenPGP key IDs.
      Closes: #922039
    * dpkg-maintscript-helper: Restrict find for dir-to-symlink move to
    - maxdepth 1. Thanks to Ralf Treinen <>. Closes: #922799
    * dpkg-genbuildinfo: Add support for a new Build-Tainted-By field in
      .buildinfo files. Suggested by Alexander E. Patrakov <>.
    * libdpkg: Clarify field names in error and warning messages.
    * libdpkg: Optimize error handling. Move the error reporting outside the
      involved functions so that we do not need to call gettext if there is no
      error, which has a significant performance cost.
    * libdpkg: Merge nicknames table into fieldinfos, to stop penalizing the
      lookup of non-obsolete fieldnames.
    * libdpkg: Print a more accurate warning for Revision nicknames.
    * libdpkg: Increase the pkg-hash bins size to 65521, to improve hash table
      performance at the cost of a bit more memory usage.
    * libdpkg: Blank packages that are not-installed with unknown selection.
      Closes: #922410
    * libdpkg, dpkg: Print the dpkg database directory on access errors.
      Closes: #883700
    * Perl modules:
    - Dpkg::Vendor::Debian: Add support for merged-usr-via-symlinks tainted
      tag. Suggested by Alexander E. Patrakov <>.
    - Dpkg::Vendor::Debian: Add support for usr-local-has-* tainted tags.
    - Dpkg::Source::Package: Add a missing use Dpkg::Source::Format.
      Diagnosed by Ian Jackson <>.
      Closes: #921031
    * Documentation:
    - start-stop-daemon(1): Document behavior of --pidfile security checks.
      Closes: #921557
    - dpkg(1): Document the unknown selection state. Closes: #922407
    * Code internals:
    - dpkg: Move SELinux fallback label to the SELinux specific code path.
    - dpkg: Simplify maintscript_set_exec_context().
    - dpkg: Move force options support into its own file.
    - dpkg: Do not hardcode the program name in the --force-help output.
    - dpkg: Switch force options from individual variables to bit fields.
    - dpkg: Switch from a char to an enum to track the force options types.
    - dpkg: Switch to set the default force option from the forceinfos array.
    - libdpkg: New benchmark programs and infrastructure.
    - libdpkg: Add new dpkg_error_move() function.
    - libdpkg: Add new dpkg_has_error() function.
    - libdpkg: Move status names from parse errors to arguments.
    - libdpkg: Use va_arg copy instead of the original on a vasprintf() call.
    - libdpkg: Include <string.h> in pager.c.
      Reported by Y <>. Closes: #922212
    - libdpkg: Use pkg_set_want() instead of a direct assignment.
    * Build system:
    - Check whether this dist is a release, based only on the version format.
      This will avoid having to do a two staged release to get a proper perl
      distribution tarball.
    * Packaging:
    - autopkgtest: Add file to Depends fields.
    - autopkgtest: Clarify behavior on root/non-root requirement.
    - Bump Standards-Version to 4.3.0 (no changes required).
    - Remove now unused assert usertag description.
    - Remove trailing whitespace from changelog.
    - Remove Origin and Bugs fields from control file.
    - Include a bug-script to report on tainted merged-usr-via-symlinks.
    * Test suite:
    - libdpkg: Fix unit test for file_slurp(). Closes: #920974
      Diagnosed by Frank Schaefer <>.
    [ Updated programs translations ]
    * Dutch (Frans Spiesschaert). Closes: #921942
    * German (Sven Joachim).
    * Simplified Chinese (Zhou Mo). Closes: #920972
    [ Updated scripts translations ]
    * German (Helge Kreutzmann).
    [ Updated man pages translations ]
    * Dutch (Frans Spiesschaert). Closes: #921943
    * French (Jean-Pierre Giraud). Closes: #920905
    * German (Helge Kreutzmann).
  - from version 1.19.4
    * start-stop-daemon: Do not sanity check the pidfile when it is specified as
      /dev/null, as that implies the caller wants to start the program no matter
      what. Closes: #920242
    * Portability:
    - start-stop-daemon: Only use SO_PASSCRED if defined. Fixes build failure
      at least on GNU/Hurd.
    * Packaging:
    - autopkgtest: Pass --disable-nls and --disable-dselect to configure.
    - autopkgtest: Change Depends to «build-essential, autoconf, pkg-config».
  - from version 1.19.3
    [ Guillem Jover ]
    * dpkg-source: Stop filtering @builddeps@ from Testsuite-Triggers field.
      Closes: #910734
    * dpkg-genchanges: Only reference binary packages being uploaded, which
      means that for a source-only upload, the Binary and Description fields
      should be empty. Closes: #818618
    * dpkg-scanpackages: Do not compute unnecessary checksums when using the
    - -hash argument. Based on a patch by Chris Lamb <>.
      Closes: #916456
    * dpkg-scanpackages: Emit a warning with the list of repeat packages.
      Prompted by Johannes Schauer <>.
    * start-stop-daemon: Check whether standalone --pidfile use is secure.
      Prompted by Michael Orlitzky <>.
    * start-stop-daemon: Print complete verbose lines, instead of partial lines
      with no newlines and a final print with a newline.
    * start-stop-daemon: Add new --notify-await and --notify-timeout options,
      which implement the systemd readiness protocol for services.
      Closes: #910707
    * update-alternatives: Add new --debug option.
    * update-alternatives: Fix removal of obsolete slaves from the linked list.
      Reported by Andreas Beckmann <>. Closes: #916799
    * Fix dpkg_vendor_derives_from macro documentation.
      Thanks to Colin Watson <>. Closes: #913816
    * Add support for an improved dpkg_vendor_derives_from macro.
      Version the macros so that both can be used, and default the unversioned
      one to the version 0 macro.
    * dpkg: Mark the package we are giving up on a trigger cycle as "istobe"
      normal, so that the dependency checks know they cannot expect this package
      to be processed anymore. Otherwise we ended up never detecting that we
      were not making progress, as we expected to process this package at a later
      point, when that would never happen anymore. This then was causing asserts
      in the process queue loop. Closes: #901127, #910819
    * dpkg: Reset progress_bytrigproc once we have injected it into the current
      package process queue iteration, so that we do not keep trying to process
      it, which might end up generating artificial trigger cycles, if
      dependencies are not satisfied yet.
    * dpkg: Convert one trigger processing required type into the new try-queued
      one, so that we stop skipping unsatisfiable dependency checks.
    * dpkg: Move trigproc cycle reset inside try-deferred conditional. We should
      only reset the cycle detection in case we are not bailing out from the
      processing with an error, otherwise we could come back to this package and
      detect an artificial trigger cycle.
    * dpkg: Introduce a new dependency try level for trigger processing. This
      completely defers trigger processing until after the dependency cycle
      breaking level, so to avoid generating artificial trigger cycles, when we
      end up trying to process triggers with yet unsatisifiable dependencies.
      Closes: #810724, #854478, #911620
    * dpkg: Fix --help output, to clarify which arguments are optional.
    * libdpkg: Add proper tar error handling. This makes the tar extractor
      track and report back parse errors, so that we can give more descriptive
    * libdpkg: Detect unsupported tar entry types to give better error messages.
    * libdpkg: Add new db-fsys:Files and db-fsys:Last-Modified virtual fields.
    * Perl modules:
    - Dpkg::Changelog::Debian: Preserve modelines at EOF. Closes: #916056
      Thanks to Chris Lamb <> for initial test cases.
    - Dpkg::File: Make file_slurp() also accept pathnames in addition to
    - Dpkg::Vendor::Ubuntu: Fix buildflags override after default setting move.
      Based on a patch by Iain Lane <> and
      Adam Conrad <>. Closes: #915881
    - Dpkg::Shlibs::Objdump: Remove unused Dpkg::IPC import.
    - Dpkg::Shlibs::Objdump: Only select objdump program when going to use it.
    - Dpkg::Source::Package: Do not reinitialize fields member in constructor.
    - Dpkg::Source::Patch: Do not recommend --include-removal when not
      supported. Closes: #913012
    - Dpkg::Source::Package::V3::Bzr: Fix format name in output message.
    - Dpkg::Source::Package: Add a new format option to the new constructor.
      Prompted by James McCoy <>.
    - Dpkg::Source::Package: Improve debian/source/format parsing and
    - Dpkg::Source::Format: New public module.
      Prompted by Mattia Rizzolo <>.
    * Documentation:
    - dpkg(1): Clarify --remove action. Closes: #914478
    - dpkg-query(1): Clarify --list option behavior when no arguments are
      specified. Closes: #917098
    - deb-control(5): Clarify by adding a reference to deb-src-control(5) and
      removing an invalid comment in the example.
      Prompted by Helmut Grohne <>.
    - dpkg(1): Clarify databases used by --yet-to-unpack and --predep-package.
      Prompted by Johannes Schauer <>.
    - Clarify character classes for various formats in man pages, by
      explicitly listing the character ranges within parenthesis.
      Prompted by Ian Jackson <>.
    - dpkg-query(1): Document the version introducing the -f option.
    - dpkg-architecture(1): Add reference to the TERMS section in the
      VARIABLES section. Prompted by Axel Beckert <>.
    - Fix POD for Dpkg::Interface::Storable derived method implementations.
    - Dpkg::Deps::Simple(3): Fix POD signature for new constructor.
    * Code internals:
    - dpkg-maintscript-helper: Use an explicit escape instead of a literal
    - Quote shell variables. Reported by Johannes Schauer <>.
    - Switch perl code to use the new Dpkg::Source::Format module.
    - dpkg-source: Move source format selection earlier in the build.
    - dpkg-source: Use new format argument for Dpkg::Source::Package->new().
    - dpkg-shlibdeps: Remove unused variable.
    - dpkg-scanpackages: Unroll a single iteration loop.
    - start-stop-daemon: Compare foundany against 0 instead of treating it
      like a boolean.
    - start-stop-daemon: Switch code to use new info() and debug() functions.
    - update-alternatives: Use enums for actions instead of strings.
    - update-alternatives: Switch verbose selection into an enum.
    - dpkg: Negate tortoise_not_in_hare() function name and return value.
    - dpkg: Initialize trigcyclenode's next member once.
    - dpkg: Use common pattern of assigning as an iterator.
    - dpkg: Factor trigproc_new_cyclenode() out from check_trigger_cycle().
    - dpkg: Switch dependtry from an int to an enum.
    - dpkg: Move dependtry description from deferred_configure() to its
    - dpkg: Split trigger processing types into required, try-queued and
    - dpkg-query: Rename variable to avoid shadowing a local function.
    - When allocating use the variable instead of the type in sizeof().
    - dselect: Rename variable r to pkgbin.
    - libdpkg, dpkg: Rename r variables to fnn.
    - libdpkg: Rename ret variable to next.
    - libdpkg: Cleanup fsys module symbol names.
    - libdpkg: Rename pkg_db symbols to pkg_hash.
    - libdpkg: Add new warning printer setter function.
      Prompted by Julian Andres Klode <>.
    - libdpkg: Add new DPKG_ERROR_OBJECT macro.
    * Build system:
    - get-version: Use a format string with printf.
    - run-script: Use $() instead of deprecated ``.
    - run-script: Remove unused PERL_PROFILE variable, PERL5OPT can be used
      instead, and does not require leaving an unquoted variable around.
    - run-script: Add «set -e».
    - Build.PL: Set environment variables only for CPAN tests.
    - Build.PL: Set locale for CPAN tests to C. Fixes CPAN#127314.
    - configure: Split AM_INIT_AUTOMAKE arguments into different lines.
    * Packaging:
    - Bump Standards-Version to 4.2.1 (no changes needed).
    - Switch to debhelper compatibility level 11.
    - Create the log file in postinst only if it does not exist.
      Prompted by Johannes Schauer <>.
    - Add superficial autopkgtest functional tests.
    * Test suite:
    - Add new shellcheck author test.
    - Add descriptions for the shellcheck exclude codes.
    - Update cppcheck suppressions.
    [ Updated programs translations ]
    * Dutch (Frans Spiesschaert). Closes: #912023
    * German (Sven Joachim).
    * Italian (Milo Casagrande). Closes: #915610
    * Portuguese (Miguel Figueiredo). Closes: #917813
    * Simplified Chinese (Zhou Mo). Closes: #919040
    [ Updated scripts translations ]
    * German (Helge Kreutzmann).
    [ Updated man pages translations ]
    * Dutch (Frans Spiesschaert). Closes: #912024
    * German (Helge Kreutzmann).
  - from version 1.19.2
    [ Guillem Jover ]
    * dpkg: Fix --force-not-root for chown() and chmod() based syscalls, and
      give a more meaningful error message on chroot(). Closes: #614126
    * dpkg-divert, dpkg-statoverride: Add new --instdir and --root options,
      and make the commands honor the DPKG_ROOT environment variable.
      Closes: #487108
    * libdpkg: Call the pager with «$SHELL -c» to respect POSIX. Closes: #910009
    * libdpkg: Do not spawn a pager if we are going to call «cat».
    * libdpkg: Honor DPKG_PAGER when spawning a pager.
      Suggested by Craig Sanders <>.
    * libdpkg: Set LESS to “-FRSXMQ” if not already set, when spawning a pager.
    * libdpkg: Ignore SIGPIPE when setting up a pager, and then ignore EPIPE
      errors when writing to stdout, otherwise if we quit the pager early, the
      program will exit with an error code.
    * libdpkg: Set stdout to be fully buffered when using a pager.
    * dpkg, dpkg-query: Add new --no-pager option. For dpkg this is also a
      configuration option. Closes: #909754
    * Perl modules:
    - Dpkg::OpenPGP: Ignore Version field in enarmored output.
      Fixes CPAN#127217.
    - Dpkg::OpenPGP: Do not read the gpg user configuration file.
    - Dpkg::Source::Functions: Reimplement is_binary() w/o using diff(1).
    - Dpkg::Source::Package::V2: Split the BinaryFiles module into its own
      file, and give it a more generic name (Dpkg::Source::BinaryFiles).
    - Dpkg::Source::Package::V2: Move binary file detection to BinaryFiles
    * Documentation:
    - dpkg-buildpackage(1): Clarify --build=source explanation.
    - dsc(5): Clarify what “flattened” means in Testsuite-Triggers.
      Prompted by Mattia Rizzolo <>.
    - dsc(5): Add a reference to where the source formats are described.
      Prompted by Manuel A. Fernandez Montecelo <>.
    - dpkg-source(1): Improve documentation on vendor-specific series files.
    - deb-control(5): Document Build-Ids field.
      Prompted by Stuart Prescott <>.
    - dpkg(1): Clarify which fields are affected by dependency options.
      Prompted by James Clarke <>.
    - dpkg-query(1): Document the PAGER environment variable usage.
    - Dpkg(1): Add POD documentation about the module hierarchy and API.
    * Code internals:
    - dpkg-split: Use nfstrnsave() instead of nfmalloc() + memcpy().
    - libdpkg: Add new fsys-dir module.
    - libdpkg: Pass the file contents to the pager instead of the filename.
    - libdpkg: Add a pager kill switch, so that it can be forcefully disabled.
    * Build system:
    - Distribute a LICENSE file on CPAN.
    - Do not make the Build.PL script executable.
    - Generalize PACKAGE_CPAN_SIGN by setting PACKAGE_DIST_IS_RELEASE instead.
    - Add a release_status key to the CPAN metadata.
    - Fix typo in CPAN recommends key.
    - Improve test and author CPAN dependencies.
    * Packaging:
    - Break libapt-pkg5.0 instead of apt. Closes: #909959
      Analysis by Sven Joachim <>.
    * Test suite:
    - Skip version checks involving «dpkg --compare-versions» if not available.
      This is relevant on CPAN or on non-dpkg-based systems.
    [ Updated programs translations ]
    * Polish (Łukasz Dulny).
    [ Updated man pages translations ]
    * German (Helge Kreutzmann).
  - from version 1.19.1
    [ Guillem Jover ]
    * Fix logic in dpkg-buildpackage to decide whether to run build targets,
      which broke tons of packages that are violating Debian policy MUSTs.
      Thanks to James Clarke <>. Closes: #878899
    * Do not try to recompute hashes for the .dsc file when signing binary-only
      builds in dpkg-buildpackage. Reported by Ximin Luo <>.
    * Pass the correct source stanza to the dpkg-buildpackage code parsing the
      Rules-Requires-Root field. This meant the field was being ignored.
    * Run dpkg-source directly from the current working directory in
      dpkg-buildpackage, instead of changing directory back and forth.
    * Setup and check rootcommand in dpkg-buildpackage only if it is going to
      be needed. Reported by Niels Thykier <>.
    * Add color support to dpkg-maintscript-helper (a shell script).
    * Fix warning by including <sys/sysmacros.h> for makedev() in libdpkg.
    * Fix directory traversal with dpkg-deb --raw-extract, by guaranteeing
      that the DEBIAN pathname does not exist. Closes: #879982
      Reported by Jakub Wilk <>.
    * Add new AS, STRIP, OBJCOPY, OBJDUMP, NM, AR and RANLIB buildtools
      variables to Prompted by Helmut Grohne <>.
    * Restore rejecting negated architectures in Architecture field in
      dpkg-gencontrol and dpkg-genchanges. Regression introduced in dpkg 1.18.5.
    * Fix dpkg-gensymbols to print "error" instead of "warning" when these
      are fatal. Closes: #881488
    * Rename DPKG_GAIN_ROOT_CMD to DEB_GAIN_ROOT_CMD in the R³ support, as
      the variable is expected to be set by any builder, not just dpkg. And
      introduce ephemeral backwards compatibility even though there are no
      known users.
    * Do not set DEB_GAIN_ROOT_CMD in dpkg-buildpackage when the R³ value is
      <implementations-keywords>, following the specification.
    * Specify that DEB_GAIN_ROOT_CMD in R³ should preserve the environment.
      Proposed by Josh Triplett <>.
    * Specify new DEB_RULES_REQUIRES_ROOT variable for R³ support.
    * Add new --rules-requires-root option to dpkg-buildpackage.
    * Declare R³ specification as "recommendation, stable" with version 1.0.
    * Export architecture variables by default from, as
      documented in dpkg-architecture(1). Closes: #888964
      Thanks to Jack Bates <>
    * Increment the line number on dpkg --set-selections on unknown packages.
      Reported by Heinz Repp <>. Closes: #888983
    * Switch a DEBIAN/conffile parsing assert() in dpkg due to empty lines
      into an ohshit(), because this is really a run-time error.
    * Fix assert() in dselect to expect the method lock file descriptor to be
      initialized, instead of non-zero.
    * Switch a fatal() call in start-stop-daemon into the new BUG() macro,
      because it is really an internal error.
    * Switch all assert() calls (except in update-alternatives) into internerr()
      or BUG() calls, to get way better reporting with variable contents and
      descriptions, and to make them always present independent of NDEBUG.
    * Add a new --no-rename option to dpkg-divert. This is the current default
      behavior, but it will make it possible to do a default switch in 1.20.x.
    * Warn when using dpkg-divert --add or --remove w/o --rename or --no-rename.
    * Warn when using dpkg-divert --rename on a file from an Essential package.
    * Use a single “struct filenamenode” definition for the entire code base.
      Closes: #746766
    * Add support for frontend locking. This makes it possible for frontends
      using this new protocol, to safely lock the dpkg database w/o risk of
      race conditions with other dpkg instances or frontends supporting the
      same protocol. Thanks to Julian Andres Klode <>.
      Closes: #850417, #851984
    * Do not emit perl warnings in dpkg-source --help on source formats w/o
    * Make dpkg-buildpackage validate OpenPGP signing key IDs length. Error out
      for short key IDs and warn for long key IDs.
    * On the dpkg conffile prompt, print the set of environment variables setup
      for the conffile shell, for easier discoverability.
    * Fix dpkg-buildpackage option --rules-file parsing. It was trying to parse
      it as --rules-target, which due to the ordering was a no-op.
    * Only check for fallback build targets presence on binary builds in
    * Only check required build dependencies for known targets specified with
      dpkg-buildpackage --rules-target option.
      Reported by Johannes Schauer <>.
    * Track package status dirtiness in dpkg to only log and report in status-fd
      when it has changed, removing duplication in output. Closes: #365921
    * Use Synopsis instead of Summary for the short Description, to unify the
      nomenclature and to make it more descriptive. Add a new binary:Synopsis
      virtual field to dpkg-query show format.
    * Add new dpkg-buildpackage --no-post-clean option, to be able to explicitly
      select the current default behavior.
    * Dump database package records in alphabetical order. This will give
      reproducible status and available database files, and make it possible
      to output other deb822 formatted data in a deterministic way.
    * Require both standard input and output to be connected to a terminal to
      use a pager.
    * Run dpkg-query --list output through a pager if we are on a terminal,
      instead of truncating it, to avoid data loss. Closes: #898603
    * Fix use after free in dpkg maintainer script handling. Regression
      introduced in dpkg 1.19.0.
    * Flush output for dpkg-query --status, --print-avail and --listfiles at
      the end, instead of after each stanza.
    * Add support for dumping all dpkg-query --status and --print-avail records
      from the database when no arguments are specified. Closes: #616342
    * Add new dpkg-gensymbols -l option to avoid having to abuse LD_LIBRARY_PATH
      for cross-build paths.
    * Check that DPKG_MAINTSCRIPT_PACKAGE is defined in dpkg-maintscript-helper.
      Closes: #907772
    * Switch dpkg-gencontrol and dpkg-genchanges to track automatically
      generated artifacts by using the Auto-Built-Package field from the binary
      package instead of hardcoding package name patterns (such as «-dbgsym$»).
    * Add new --reverse option to dpkg-parsechangelog, to list the changelog
      entries in reverse order.
    * Architecture support:
    - Add support for riscv64 CPU. Closes: #822914
      Thanks to Manuel A. Fernandez Montecelo <>
    - Document the purpose and columns in the tupletable file.
    * Portability:
    - Add libcompat md5 module to the libcompat-test library, so that we
      always make sure it builds, even when we use an external implementation.
    - Convert libcompat md5 module to use C99 int types, instead of mapping
      them from the BSD types at configure time.
    - Use MD5_CTX instead of struct MD5Context, as the prevalent more portable
      type on system's <md5.h> headers.
    - Check for ldconfig command in dpkg only on platforms that do have it.
    - Fix file descriptor leak in start-stop-daemon on AIX.
    - libcompat: Add new strchrnul() implementation.
    * Perl modules:
    - Dpkg::Source::Package::V1: Check that $tarname is defined before use.
      Thanks to Christoph Biedl <>.
      Closes: #879124
    - Dpkg::Vendor::Debian: Use proper %use_feature key. This was causing perl
      errors on paths not accepted for fixdebugpath.
      Reported by Mattia Rizzolo <>, on IRC. Closes: #881051
    - Dpkg::Changelog: Print versions for incorrect changelog range warnings.
      Thanks to Paul Wise <>.
    - Dpkg::Shlibs::SymbolFile: Check that $state->{seen} exists instead of
      $state being just defined. Fixes regression in dpkg-gensymbols symbols
      output. Thanks to Dmitry Shachnev <>. Closes: #880166
    - Dpkg::Arch: Add new positive options argument to arch validators.
    - Dpkg::Vendor::Debian: Mark hurd-i386 as having gcc builtin PIE.
      Requested by Samuel Thibault <>.
    - Dpkg::Source::Package::V2: Print one building line per existing tarball.
    - Dpkg::Source::Package: Print building lines for upstream tarball
      signatures. Closes: #888787
    - Dpkg::Deps: Turn virtualpkg tracking from an arrayyref into a hashref.
    - Dpkg::Vendor::Debian: Mark riscv64 as having gcc builtin PIE.
    - Dpkg::Shlibs::Objdump: Fix ELF program detection, for PIE binaries and
      executable libraries.
    - Dpkg::Version: Fix bool overload behavior back to be an is_valid()
      alias. Emit a specific perl warning until 1.20.x so that users can check
      whether the semantic change has any impact on the code, which can then
      be quiesced. Closes: #895004
    - Dpkg::Changelog::Parse: When detecting the changelog format, read the
      last 4KiB of the file instead of using «tail -n40», which should be
      both faster and more portable, as the default tail(1) is not POSIX
      compliant on all systems (c.f. Solaris).
    - Dpkg::Build::Types: Add new set_build_type_from_targets() function.
    - Dpkg::Shlibs::SymbolFile: Always assign a proper Dpkg::Version to the
      deprecated variable, otherwise the scalar value 0 can get confused
      on scalar context to denote it is *not* deprecated instead of being
      version 0.
    - Dpkg::Shlibs: Disable bool overload Dpkg::Version warnings.
    - Dpkg::Vendor::Debian: Inline _parse_feature_area() into
      _add_build_flags(), for a small speed up and line count reduction.
    - Dpkg::BuildFlags: Move default flags setting into the Dpkg::Vendor
    - Dpkg::Gettext: Fix fallback textdomain() to honor its expected interface.
    - Dpkg::Deps: Split subpackages into their own separate modules.
    - Dpkg::Source: Do not change patch permissions if not necessary.
      Closes: #898010
    - Dpkg::Substvars: Reword used/unused warnings to clarify their meaning.
      Closes: #904258
    - Dpkg::Shlibs: Warn when using LD_LIBRARY_PATH with a private library
      directory which is a descendent of the current working directory.
    - Dpkg::Source::Package::V3::Quilt: Print series file used when applying
    - Dpkg::OpenPGP: Return the destination path on successful ASCII armor
    - Dpkg::Control::Fields: Do not use & sigil for function calls.
    - Dpkg::Shlibs: Ignore nonexistent directories present in LD_LIBRARY_PATH.
    - Dpkg::Deps::KnownFacts: Satisfy :native with arch:all packages too.
      These are treated as native packages everywhere else in the multi-arch
      design, this was the only exception, which has become a source of
      packaging problems as of late. This was apparently an oversight in
      the original implementation. Closes: #854438
    - Dpkg::Vendor::Debian: Add fixfilepath support to reproducible feature.
    - Dpkg::Dist::Files: Add support for file attributes.
    * Documentation:
    - Update gettext minimal version in README.
    - Add a missing dot on the dpkg-buildflags(1) «lfs» feature paragraph.
      Spotted by Helge Kreutzmann <>.
    - Document DPKG_COLORS environment variable for all programs using it.
    - Document DPKG_NLS environment variable for all programs using it.
    - Document the Testsuite and Testsuite-Triggers fields in
      deb-src-control(5). Prompted by Mattia Rizzolo <>.
    - Update git URLs for move away from
    - Fix set_build_type_from_options() description in Dpkg::Build::Types.
    - Clarify PIE build flag feature semantics. Closes: #900088
    - Clarify dpkg-buildpackage pre and post-clean options and their default
    - Add --build option equivalents for dpkg-buildpackage short build type
      options in --help output.
    - Fold dpkg-buildpackage --[no-]check-builddeps in --help into both -D
      and -d option descriptions.
    - Mark profiles as a replaceable item in dpkg-buildpackage --help output.
    - Update test suite requirements in README.
    - Document textdomain() and ngettext() replacement functions in
      Dpkg::Gettext POD.
    - Clarify arch-qualified dependency simplification in Dpkg::Deps POD.
    - Improve Dpkg::Deps modules and methods documentation.
    - Fix typo in deb-changes(5). Closes: #902616
    - Clarify awaiting state for interest and activate directives.
      Closes: #904060
    - Fix man page markup. Closes: #900033, #900035, #900040
      Thanks to Bjarni Ingi Gislason <>.
    - Fix Doxygen comment for libdpkg dpkg_arch_find() function.
    - Document the dangers of using start-stop-daemon(8) only with --pidfile
      as matching option with the pid file owned by a non-privileged user.
    * Code internals:
    - Do not use stringy eval to define different sub implementations,
      just assign an anonymous sub to the typeglob.
    - Use memccpy() instead of strncpy() to quiesce a gcc-8 warning.
    - Change pkgbin_name_needs_arch() to never arch-qualify packages that
      have an empty or no architecture, which was already handled as part
      of varbuf_add_archqual().
    - libdpkg: Factor out cached arch-qualified package name generation into
      new pkgbin_name_archqual() function.
    - libdpkg: Add new pkg_name() and pkgbin_name() const variants.
    - libdpkg, dselect: Use new pkg_name_const() and pkgbin_name_const().
    - libdpkg: Rename struct pkginfo files member to archives.
    - dpkg: Call ensure_package_clientdata() defensively.
    - dpkg: For read-only state functions, check that clientdata is allocated
      before using it.
    - libdpkg: Move files list information from dpkg clientdata to pkginfo.
    - dpkg: Move ensure_package_clientdata() into its own file.
    - libdpkg: Move db-fsys code from src to lib/dpkg.
    - libdpkg: Rename pkg-db module to pkg-hash.
    - libdpkg: Simplify pkg_files_blank() by using a pointer to pointer to
      track the previous entry.
    - libdpkg: Factor out package files handling into its own module.
    - libdpkg: Switch to a new tiny struct to track file on-disk identity.
      This should reduce the run-time memory used.
    - libdpkg: Reset nfiles in files_db_reset().
    - libdpkg: Split push_cleanup() into push_cleanup_fallback().
    - Switch from strchr() + strlen() to strchrnul().
    - libdpkg: Change dpkg_error to track errno values.
    - libdpkg: Add new varbuf_new() and varbuf_free() functions.
    - libdpkg: Add new file_slurp() function.
    - libdpkg: Switch db-fsys to use the new file_slurp() function.
    - libdpkg: Add new pkg_infodb_reset_dir().
    - libdpkg: Add new m_dup() function.
    - libdpkg: Factor out package stanza printing into its own function.
    - libdpkg: Split pager specific code into its own module.
    - libdpkg: Add pager spawning and reaping support.
    - Use new pager spawning support instead of open-coding it, or piping it
      via a shell invocation, which required metacharacter escaping.
    - dpkg-query: Split enqperpackage() into each different action.
    * Build system:
    - Set distribution tarball format to ustar, instead of default v7 format.
    - Mark PO4A and POD2MAN as precious variables.
    - Automatically replace -Wno- with -W when testing compiler flags,
      instead of passing the positive form manually.
    - Enable clang -Wdocumentation warning if available.
    - Enable gcc-7 -Wregister warning if available.
    - Add CPAN distribution machinery for the perl modules. Closes: #821177
    - Add an autogen script to help people bootstrap the project.
    - Distribute the man.stamp from VPATH.
    - Preserve timestamps when distributing man pages.
    - Add a GitLab CI configuration file.
    - Disable C optimization levels when configuring for code coverage.
    * Packaging:
    - Install update-alternatives policykit-1 file.
    - Add Breaks to libdpkg-perl against pkg-kde-tools (<< 0.15.28~), as
      that package is using private modules with no API guarantees, that
      obviously broke due to recent changes in 1.19.0. Closes: #878919
    - Add Breaks on debhelper << 10.10.1~ to dpkg-dev, so that debhelper users
      wanting to use R³ support do not need a versioned dependency on dpkg-dev.
    - Add Breaks dgit << 3.13~ to libdpkg-perl, as older dgit versions assumed
      that Dpkg::Compression::Process was available, via implicit import
      from Dpkg::Source::Package.
      Reported by Ian Jackson <>.
    - Bump Standards-Version to 4.1.1 (no changes needed).
    - Add bzip2 and xz-utils to Build-Depends, required by the functional test
      suite, but shadowed by dpkg-dev from the build system pulling those in.
    - Add versioned libncurses-dev as the first Build-Depends alternative.
      Thanks to Sven Joachim <>.
    - Do not pass VERBOSE to test suite, as we are not using any automake
      test driver, so it does not get honored.
    - Rename maintainer-build DEB_BUILD_OPTIONS to new standardized terse.
    - Enable verbose test suite only in non-terse builds.
    - Add a Suggests on sensible-utils to libdpkg-perl.
    - Switch libdpkg-perl again to depend on perl:any, now that debootstrap
      in stable (stretch) supports arch-qualified dependencies.
    - Update libdpkg-perl public module list in package description.
    - Add Breaks on apt (<< 1.7~b) for --status-fd duplicate removals.
    * Test suite:
    - Skip Dpkg::OpenPGP test if gpg is not present.
    - Check POD in all perl scripts.
    - Consider *.PL also to be perl files.
    - Infer automatically the unit test data directory.
    - Infer automatically the unit test temp directory.
    - Add new po author test case (use i18nspector if available).
    - Add new test cases to clarify arch-qualified dependency simplification.
    - Add several TODO tests cases for dependency simplification.
    - Add new cppcheck author test.
    - Add support for new test_get_srcdir() test_get_builddir().
    - Add new unit tests for namevalue, fsys-hash and pkg-hash libdpkg modules.
    - Improve coverage of perl unit tests.
    - Delete fixup lines from i18nspector output instead of emptying them.
    - Add new codespell author test.
    - Add new test that the public libdpkg headers can be compiled with C++.
    [ Josh Triplett ]
    * Perl: Replace all calls to Cwd::cwd with Cwd::getcwd; the former calls
      /bin/pwd, while the latter uses the getcwd() syscall directly.
    [ Updated programs translations ]
    * Dutch (Frans Spiesschaert). Closes: #881401
    * German (Sven Joachim).
    * Italian (Milo Casagrande). Closes: #883085
    * Polish (Łukasz Dulny).
    * Simplified Chinese (Zhou Mo, Boyuan Yang). Closes: #900547, #890806
    * Spanish (Javier Fernández-Sanguino).
    * Traditional Chinese (Buo-ren Lin). Closes: #905887
    * Turkish (Mert Dirik). Closes: #886252
    [ Updated scripts translations ]
    * German (Helge Kreutzmann).
    [ Updated man pages translations ]
    * Dutch (Frans Spiesschaert). Closes: #881403
    * German (Helge Kreutzmann).
    * Simplified Chinese (Zhou Mo).
* Fri Apr 23 2021 Martin Liška <>
  - Add use-clamp-from-C-STD-library.patch in order to fix
    clamp clash (boo#1181867).



Generated by rpm2html 1.8.1

Fabrice Bellet, Tue Jul 9 12:37:36 2024