File dpkg.changes of Package dpkg

Sun Dec 31 15:35:34 UTC 2023 - Martin Schreiner <>

- Update to version 1.22.2.
  The full changelog is very large. Please check it here:

Wed Nov 22 20:45:45 UTC 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 04:57:23 UTC 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 11:25:20 UTC 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  7 11:15:53 UTC 2023 -

- version update to 1.21.22

Thu May  4 14:28:36 UTC 2023 - Frederic Crozat <>

- Add _multibuild to define additional spec files as additional
  Eliminates the need for source package links in OBS.

Fri May 27 09:40:32 UTC 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  3 12:15:28 UTC 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 10:36:50 UTC 2021 - Adam Majer <>

- do not include update-alternative manpages in dpkg
- use-clamp-from-C-STD-library.patch: removed, upstreamed

Thu Apr 29 08:28:48 UTC 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 09:07:05 UTC 2021 - Martin Liška <>

- Add use-clamp-from-C-STD-library.patch in order to fix
  clamp clash (boo#1181867).

Tue Aug 25 13:39:24 UTC 2020 - Martin Liška <>

- Add ncurses-fix.patch in order to fix ncurses issue.

Fri Aug  2 06:58:54 UTC 2019 - Martin Liška <>

- Use FAT LTO objects in order to provide proper static library.

Mon Jan 14 15:48:48 CET 2019 -

- Use %license instead of %doc [bsc#1082318]

Thu Jun 28 11:01:28 UTC 2018 -

- Version update to
  * Fix directory traversal with dpkg-deb --raw-extract, by guaranteeing
    that the DEBIAN pathname does not exist. Closes: #879982
    Reported by Jakub Wilk <>.
  * 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 ephemereal 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.
  * Declare R³ specification as "recommendation, stable" with version 1.0.
  * Architecture support:
    - Add support for riscv64 CPU. Closes: #822914
      Thanks to Manuel A. Fernandez Montecelo <>
  * Perl modules:
    - Dpkg::Vendor::Debian: Use proper %use_feature key. This was causing perl
      errors on paths not accapted for fixdebugpath.
      Reported by Mattia Rizzolo <>, on IRC. Closes: #881051
    - Check that $state->{seen} exists instead of $state being just defined.
      Fixes regression in dpkg-gensymbols symbols output.
      Thanks to Dmitry Shachnev <>. Closes: #880166
    - Mark hurd-i386 as having gcc builtin PIE in Dpkg::Vendor::Debian.
      Requested by Samuel Thibault <>.

Mon Jan 22 18:10:46 UTC 2018 -

- Drop commented out selinux line that is not needed in current

Tue Jan 16 10:56:50 UTC 2018 -

- Version update to
  * Tons of architecture fixes
  * Testsuite was expanded

Wed Dec 13 15:55:48 UTC 2017 -

- Update test dependencies
- Build localised manpages

Sat Dec  9 09:03:19 UTC 2017 -

- fix Leap 42.2,42.3 build: add drop-tar-option.patch

Wed Nov  8 16:15:47 UTC 2017 -

- Small cleanup with spec-cleaner
- Update dependencies

Mon Mar 27 12:31:08 UTC 2017 -

- Version update to 1.18.23:
  * Various fixes all around
  * Refreshed patch update-alternatives-suse.patch

Wed Sep  7 12:40:11 UTC 2016 -

- Version update to 1.18.10:
  * Various few fixes, see changelog file in the package
  * Refresh patch update-alternatives-suse.patch
  * Remove patch dpkg-sparc.diff

Tue May 31 11:48:19 UTC 2016 -

- Require touch in post phase bnc#982336

Wed Apr  6 18:20:13 UTC 2016 -

- Fix bnc#969171 by updating even with equal priority
  * 0001-In-case-of-equal-priority-rather-update.patch

Fri Mar 25 09:49:52 UTC 2016 -

- Version update to 1.18.4:
  * Various fixes from upstream debian, see changelog file distributed
    with the package
  * Refreshed patch update-alternatives-suse.patch

Fri Jun  5 13:44:48 UTC 2015 -

- Exclude the update-alternatives manpage to avoid conflict

Thu Jun  4 11:14:05 UTC 2015 -

- Verion bump to 1.18.1:
  * Bump to latest upstream release
  * Plenty of fixes with too long changelog, see changelog file in
  * Also fixes bnc#926749 CVE-2015-0840
  * Refresh patch:
    + update-alternatives-suse.patch

Wed Apr  1 12:59:58 UTC 2015 -

- Cleanup a bit with-spec-cleaner help

Wed Apr  1 12:54:48 UTC 2015 -

- Version bump to 1.17.24:
  * Translation updates
  * Various small fixes

Mon Jan  5 15:30:22 UTC 2015 -

- Update to version 1.17.23 also fixes bsc#941619
  + Use a matching group instead of ${^MATCH} in s/// in dselect build script.
  + Skip tar extractor tests if tar is not GNU tar >= 1.27.
  + Reset the trigger cycle tracking on unsatisfied dependencies during
    trigger processing. Closes: bdo#771730
  + Fix out-of-bounds buffer read accesses when parsing field and trigger
    names or checking package ownership of conffiles and directories.
  + Add versioned Breaks on packages creating trigger cycles. Namely auctex,
    apt-cudf, ccache, cups, distcc, fusionforge-plugin-mediawiki, gap-core,
    gxine, hoogle, icecc, libjs-protoaculous, mcollective, pypy, wordpress
    and xfonts-traditional.
  + Update translations
- Remove unapplied patches; SLE11 support is disabled in project home
  + dpkg-pod2man-no-utf8.patch
  + dpkg-old-File-Path.patch
  + dpkg-old-Test-More.patch
- Remove obsolete patches
  * dpkg-ppc64le.diff
  * dpkg-archive_tar_format_gnu.patch
  * dpkg-archtable-suse.patch
- Rename updated patch
  update-alternatives-1.16.8-suse.patch > update-alternatives-suse.patch
- Clean up a bit specfile

Mon Aug 25 13:35:42 UTC 2014 -

- Add dpkg-archive_tar_format_gnu.patch: Make Dpkg::Source::Archive use tar --format=gnu

Sat Aug 23 19:02:35 UTC 2014 -

- Update pkg-ppc64le.diff to fix Debian name for ppc64le

Mon May 12 13:58:18 UTC 2014 -

- Use SUSE not SuSE.

Mon Dec  2 21:31:13 UTC 2013 -

- add dpkg-ppc64le.diff to fix ppc64 LE build

Wed Jul  3 09:57:49 UTC 2013 -

- Add dpkg-sparc.diff to unbreak compilation on sparcv9 build

Tue Mar 26 13:22:40 UTC 2013 -

- Enable test suite
- Fix dpkg-source for SLES 11. was depending on a
  newer API of File::Path.

Mon Mar 25 20:25:54 UTC 2013 -

- update to dpkg-1.16.10
* Add missing @LIBLZMA_LIBS@ to Libs.Private in
* Fix OpenPGP armored signature parsing, to be resilient against doctored
  input, including source package control files. deb#695919
* Fix warning in Dpkg::Source::Archive with «perl -w» due to redefinition
  of getcwd() by removing unused POSIX modules usage. deb#700978
- update to dpkg-1.16.9
* Fix regression on old-style binNMUs for packages that specify an
  explicit binary version to dpkg-gencontrol, by always fixing up the
  source version. deb#690823
* Fix dpkg-source regression in "3.0 (quilt)" source packages while
  unapplying patches that remove all files in a directory. deb#683547
* Fix segfault in field format parsing on empty strings, affecting
  «dpkg-query -W -f ''» and «dpkg-deb -W --showformat=''». lp#1035512
- see /usr/share/doc/packages/dpkg/changelog for details

Thu Oct 11 18:55:33 UTC 2012 -

- add Recommends on File::FcntlLock, Dpkg::File will
  use it if available

Thu Sep 27 21:55:24 UTC 2012 -

- update to dpkg-1.16.8
* only translation updates
* see /usr/share/doc/packages/dpkg/changelog for details
- simplify spec file by removing redundant %if clauses
- only use Supplements: on SUSE, Fedora doesn't know it

Fri Jul  6 23:07:56 UTC 2012 -

- update to dpkg-1.16.7
* see /usr/share/doc/packages/dpkg/changelog for details
- add Obsoletes and Provides for their deb counterparts
  to dpkg-devel and dpkg-lang. Needed to expand %lang_package
  for that.
- remove SLE10 support from spec, not working anyway

Tue Jun 26 20:25:11 UTC 2012 -

- package dpkg separately

Mon May 21 03:31:50 UTC 2012 -

- update to dpkg-1.16.3
  * see
- update to debhelper 9.20120518
  * Fix versioned dependency on dpkg for xz options. Closes: #672895
  * dh_link: Doc improvement. Closes: #672988
- update to devscripts-2.11.7
  * see
- reworked patch. remove version for archtable. for it's universal.
- add dh_make 0.60
  * see
- add dh_autoreconf 6
  * see

Thu May  3 20:23:11 UTC 2012 -

- install missing parts of devscripts
* install man pages installed by debian/manpages
* install symlinks installed by debian/links

Sun Jan 29 20:54:50 UTC 2012 -

- update to dpkg-
* Do not fail to unpack shared directories missing on the file system
  from packages being replaced by other packages. Debian Bug #631808
* Defer hardlink renames so that there's never a point were the new
  file contents are accessible from the final path before they have
  been fsync()ed and cannot be executed causing ETXTBSY when trying
  to open the to be installed paths for writing. Debian Bug #635683
* Add armhf support to ostable and triplettable.
  Debian Bugs #594179, #639674

Tue Dec 20 20:15:25 UTC 2011 -

- remove call to suse_update_config (very old work around)

Sat Nov 26 00:18:57 UTC 2011 -

- update to dpkg-
* Do not segfault on "dpkg -i --no-act".
* Fix typo in "dpkg-name --overwrite" argument parsing so that it actually
  works at all. Ubuntu Bug #728708
* Fix dpkg-split to not corrupt binary part metadata when generating the
  split packages on 32-bit systems.
* Fix a regression in dpkg-divert where using --rename led to a failure when
  the rename implies crossing file systems.

Sun Sep 18 17:17:12 UTC 2011 -

- Remove redundant tags/sections from specfile
  (cf. packaging guidelines)
- Use %_smp_mflags for parallel build

Thu Mar 31 11:39:18 UTC 2011 -

- Merge openSUSE:Tools changes with system:packagemanager changes

Thu Mar 17 15:32:12 UTC 2011 -

- split the u-a to separate spec file to reduce a build cycle

Wed Mar 16 09:07:15 UTC 2011 -

- update to dpkg-
- update to debhelper-7.5.17
- update to devscripts-2.10.71
- see /usr/share/doc/packages/deb/*/changelog for details
- build and install update-alternatives as separate subpackage
- add download urls to source tags
- remove pushd/popd madness in %prep, use only one cd ..
- convert sed archtable hackery to patch and refresh patches
- rewrite a architecture mugging in config.h to be more readable

Fri Jan 28 14:17:27 UTC 2011 -

- fix build on old distros

Fri Jan 28 12:57:25 UTC 2011 -

- install missing debhelper files
 - install dh
 - install Debian/Debhelper/Buildsystem/*.pm

Thu Jul 29 23:38:02 CEST 2010 -

- make 'debcommit -r' work with mercurial 1.6

Fri Apr  9 09:23:40 UTC 2010 -

- update to dpkg-
- update to debhelper-7.4.17
- update to devscripts-2.10.62
 - see /usr/share/doc/packages/deb/*/changelog for details
- split deb-devel subpackage

Fri Feb 19 11:24:07 UTC 2010 -

- update to dpkg-
- update to debhelper-7.4.15
- update to devscripts-2.10.61
 - see /usr/share/doc/packages/deb/*/changelog for details

Wed Jan  6 04:37:36 UTC 2010 -

- enable parallel building with smp_mflags

Fri Dec 18 09:06:00 UTC 2009 -

- try to fix older dists

Wed Nov 25 12:01:33 UTC 2009 -

- update to dpkg-, debhelper-7.4.8, devscripts-2.10.58
 - huge number of changelogs - please see appropriate changelogs
   for details:
   - /usr/share/doc/packages/deb/debhelper/changelog
   - /usr/share/doc/packages/deb/dpkg/changelog

Thu Nov 12 09:14:55 UTC 2009 -

- include devscripts-2.10.55
- add sensible-editor helper script

Thu Aug 13 13:01:58 UTC 2009 -

- update to debhelper-7.3.12
  * dh: Allow creation of new sequences (such as to handle a patch
    target for quilt), by adding an add_command function to the
    sequence addon interface.
  * perl_build: Fix Build check to honor source directory setting.
  * perl_build: Avoid failing if forced to be used in dh_auto_clean
    when Build does not exist (ie due to being run twice in a row).
  * dh_builddeb: Fix man page typo.
  * dh_installdeb: In udeb mode, support the menutest and isinstallable
    maintainer scripts.

Tue Aug  4 09:54:08 CEST 2009 -

- update to debhelper-7.3.9
  * cmake: Avoid forcing rpath off as this can break some test suites.
    It gets stripped by cmake at install time.

Mon Jul 27 10:28:40 CEST 2009 -

- update to debhelper-7.3.8
  * First upload of buildsystems support to unstable.
    Summary: Adds --buildsystem (modular, OO buildsystem classes),
    --sourcedirectory, --builddirectory, and support for cmake
    and ant.
  * python_distutils buildsystem: Build for all supported Python
    versions that are installed. Ensure that correct shebangs are
    created by using `python' first during build and install.
    Also build with python*-dbg if the package build-depends
    on them.

Thu Jul 16 12:24:58 CEST 2009 -

- update to debhelper-7.3.4
  * Add a versioned dep on perl-base, to get a version that supports
  * dh_install: Fix support for the case where --sourcedir=debian/tmp/foo
    is used. Perl was not being greedy enough and the 'foo' was not stripped
    from the destination directory in this unusual case.
  * dh_install: Fix support for the case where debian/tmp is
    explicitly specified in filename paths despite being searched by
  * dh_install: Add test suite covering the last 5 bugs.

Fri Jul  3 10:48:44 CEST 2009 -

- update to debhelper-7.3.1
  * Modular object oriented dh_auto_* buildsystem support,
    contributed by Modestas Vainius
    - dh_auto_* --sourcedirectory can now be used to specify a source
      directory if sources and/or the whole buildsystem lives elsewhere
      than the top level directory.
    - dh_auto_* --builddirectory can now be used to specify a build
      directory to use for out of source building, for build systems
      that support it.
    - dh_auto_* --buildsystem can now be used to override the autodetected
      build system, or force use of a third-party class.
    - dh_auto_* --list can be used to list available and selected build
    - Adds support for cmake.
    - For the perl_build build system, Build is used consistently
      instead of falling back to using the generated Makefile.
    - Historical dh_auto_* behavior should be preserved despite these
      large changes..
  * Move two more command-specific options to only be accepted by the commands
    that use them. The options are:
    --sourcedir, --destdir
    If any third-party debhelper commands use either of the above options,
    they will be broken, and need to be changed to pass options to init().
  * Make dh not complain about unknown, command-specific options passed to it,
    and further suppress warnings about such options it passes on to debhelper
    commands. This was attempted incompletely before in version 7.2.17.
  * dh_install: Fix installation of entire top-level directory
    from debian/tmp.
  * dh_install: Handle correctly the case where a glob expands to
    a dangling symlink, installing the dangling link as requested.
  * dh_install: Fix fallback use of debian/tmp in v7 mode; a bug caused
    it to put files inside a debian/tmp directory in the package build
    directory, now that prefix is stripped.
  * dh_shlibdeps: Ensure DEBIAN directory exists, as dpkg-shlibdeps
    prints a confusing warning if it does not.
  * dh_auto_install: Pass --install-layout=deb to
    to support python 2.6.
  * Allow command-specific options to be passed to commands
    via dh without causing other commands to emit a getopt
    warning or deprecation message.
  * dh_installinfo: No longer inserts install-info calls into
    maintainer scripts, as that is now triggerized. Adds a dependency
    via misc:Depends to handle partial upgrades. Note that while
    dh_installinfo already required that info files had a INFO-DIR-SECTION,
    the new system also requires they have START-INFO-DIR-ENTRY and
    END-INFO-DIR-ENTRY for proper registration. I assume there will be
    some mass bug filing for any packages that do not have that.

Fri Jun 12 09:03:44 CEST 2009 -

- update to debhelper-7.2.16
  * dh_gconf: Add missed half of postrm fragment removal.

Thu Jun 11 11:33:32 CEST 2009 -

- update to debhelper-7.2.15
  * dh_strip, dh_shlibdeps: Add support for OCaml shared libraries.
  * dh_compress: Avoid compressing .svg and .sgvz files, since these
    might be used as images on a html page, and also to avoid needing
    to special case the .svgz extension when compressing svg.
  * dh_scrollkeeper: Now a deprecated no-op.
  * dh_gconf: Remove postrm fragment that handled schema migration
    from /etc to /usr.

Thu May 21 12:11:37 CEST 2009 -

- update to debhelper-7.2.14
  * dh: Avoid writing log after override_dh_clean is run.
  * dh_auto_configure: Pass --skipdeps safely via PERL_AUTOINSTALL.
  * dh_auto_configure: Revert --skipdeps change

Wed May 13 12:05:11 CEST 2009 -

- update to debhelper-7.2.11
  * dh: Support --with addon,addon,...
  * dh_auto_configure: Add --skipdeps when running Makefile.PL,
    to prevent Module::Install from trying to download dependencies.
  * Support debian/foo.os files to suppliment previous debian/foo.arch
    file support.

Mon May 11 14:56:30 CEST 2009 -

- update to debhelper-7.2.10
  * Close COMPAT_IN filehandle.
  * dh_auto_configure: Clarify man page re adding configure
  * dh_auto_configure: Pass packlist=0 when running Makefile.PL,
    in case it is a Build.PL passthru, to avoid it creating
    the .packlist file.

Wed May  6 15:50:23 CEST 2009 -

- update to debhelper-7.2.9
  * dh_fixperms: Ensure lintian overrides are mode 644.
  * dh_fixperms: Fix permissions of OCaml .cmxs files.
  * dh: Add --without to allow disabling sequence addons (particularly
    useful to disable the default python-support addon).
- split -lang subpackage

Tue Apr 21 15:56:49 CEST 2009 -

- update to debhelper-7.2.8
  * dh_desktop: Now a deprecated no-op, since desktop-file-utils
    uses triggers.
  * Move dh sequence documentation to PROGRAMMING.

Thu Apr 16 11:55:35 CEST 2009 -

- update to debhelper-7.2.7
  * fix calling the same helper for separate packages in the override of dh
  * add --remaining-packages option
  * dh_icons: ignore gnome and hicolor themes (will be handled
    by triggers)

Mon Apr  6 15:23:19 CEST 2009 -

- add a hack to detect architecture correctly (bnc#469337)

Mon Mar 16 16:43:15 CET 2009 -

- update to debhelper-7.2.6
  * examples files updated to add dh_bugfiles, remove obsolete
  * dh_auto_test: Support DEB_BUILD_OPTIONS=nocheck
  * set MODULEBUILDRC=/dev/null when running perl Build scripts
    to avoid ~/.modulebuildrc influencing the build
  * dh_installmenus: Revert removal of update-menus calls

Mon Mar  9 17:40:28 CET 2009 -

- update to debhelper-7.2.4
  * dh_makeshlibs: Fix --add-udeb, for real
  * dh_installmenus: Now that a triggers capable menu and dpkg are in
    stable, menu does not need to be explicitly run in maintainer
    scripts, except for packages with menu-methods files.
  * dh_installdocs: No longer add maintainer script code to call
    doc-base, as it supports triggers in stable.
  * dh_bugfiles: New program, contributed by Modestas Vainius.
  * dh: Override LC_ALL, not LANG.
  * dh_installchangelogs: Support -X to exclude automatic installation
    of specific upstream changelogs.
  * Compat level 4 is now deprecated.
  * dh_makeshlibs: Re-add --add-udeb support.
  * dh_shlibdeps: Remove --add-udeb switch (was accidentially added here).

Thu Mar  5 15:26:28 CET 2009 -

- update to debhelper-7.2.2
  * dh_installmodules: Give files in /etc/modprobe.d a .conf
    syntax, as required by new module-init-tools.
  * dh_installmodules: Add preinst and postinst code to handle
    cleanly renaming the modprobe.d files on upgrade.
  * Two updates to conffile moving code from wiki:
    - Support case where the conffile name is a substring of another
      conffile's name.
    - Support case where dpkg-query says the file is obsolete.

Tue Mar  3 10:10:53 CET 2009 -

- update to dpkg-1.15.0 and debhelper-7.2.1
  - huge number of changes, please see
    /usr/share/doc/packages/deb/dpkg/changelog and
	for details

Tue Jan 20 10:01:33 CET 2009 -

- partially revert change from Aug 12 2008 (bnc#467332)

Thu Dec 18 13:48:25 CET 2008 -

- update debhelper to 7.1.1
    * dh_install(1): Order options alphabetically.
    * Fix some docs that refered to --srcdir rather than --sourcedir.
    * Add Vcs-Browser field.
    * Ignore unknown options in DH_OPTIONS.

Wed Oct 29 17:28:46 CET 2008 -

- update debhelper to 7.1.0
  * dh_installchangelogs: Fall back to looking for changelog files ending
    with ".txt".
  * dh_gencontrol: Ensure misc:Depends is set in substvars to avoid dpkg
    complaining about it when it's empty.
  * dh: Fix typo in example.
  * Allow individual debhelper programs to define their own special options
    by passing a hash to init(), which is later passed on the Getopt::Long.
  * Move many command-specific options to only be accepted by the command
    that uses them. Affected options are:
    -x, -r, -R, -l, -L, -m,
    --include-conffiles, --no-restart-on-upgrade, --no-start,
    --restart-after-upgrade, --init-script, --filename, --flavor, --autodest,
    --libpackage, --add-udeb, --dpkg-shlibdeps-params,
    --dpkg-gencontrol-params, --update-rcd-params, --major, --remove-d,
    --dirs-only, --keep-debug, --version-info, --list-missing, --fail-missing,
    --language, --until, --after, --before, --remaining, --with
  * If any third-party debhelper commands use any of the above options,
    they will be broken, and need to be changed to pass options to init().
  * To avoid breaking rules files that pass options to commands that do not
    use them, debhelper will now only warn if it encounters an unknown
    option. This will be converted back to an error later.

Tue Sep 16 18:07:44 CEST 2008 -

- do not package update-alternatives it conflicts with the required
  package update-alternatives

Tue Sep  2 13:56:11 CEST 2008 -

- updated to 1.14.21
  * lots of fixes - see ChangeLog
- enabled SELinux support [Fate#303662]

Mon Sep  1 14:02:20 CEST 2008 -

- update debhelper to 7.0.17
  * dh_auto_install: Fix man page, was referring to dh_auto_clean.
  * dh_gencontrol: Drop the Homepage field from udebs. Closes debian bug #492719
  * Typo. Closes debian bug #493062
  * dh_auto_install: Improve check for MakeMaker, to avoid passing PREFIX
    if the Makefile was generated by Module::Build::Compat. Closes debian bug #496157

Tue Aug 12 11:29:14 CEST 2008 -

- fix paths
  * install perl stuff to %{perl_vendorlib}/Debian where it is
    expected by alien

Mon Aug 11 13:21:25 CEST 2008 -

- fix paths

Mon Jul 21 11:18:02 CEST 2008 -

- update debhelper to 7.0.16
  * dh: Avoid passing --with on to subcommands. Closes debian bug #490886
  * dh_installchangelogs: When searching for changelog in v7 mode, skip
    empty files. Closes debian bug #490937

Fri Jul 18 13:10:50 CEST 2008 -

- update debhelper to 7.0.15
  * dh_clean: Do not delete *-stamp files in -k mode in v7. Closes debian bug #489918

Tue Jul  8 11:20:11 CEST 2008 -

- update debhelper to 7.0.14
  * load python-support sequence file first, to allow ones loaded later to disable it

Mon Jul  7 13:49:46 CEST 2008 -

- update dpkg to 1.14.19
  * a lot of changes and bugfixes
  * for complete changelog see program sources or
  * removed dpkg-gcc4.patch - compiles fine without it
  * removed dpkg-make.patch, dpkg-automake.diff, dpkg-strip.patch
    * not needed anymore because of heavy changes in the build system
  * removed dpkg_1.10.23-doc.patch - fixed in upstream
- update debhelper to 7.0.13
  * a lot of changes and bugfixes
  * for complete changelog see program sources or
  * debhelper-no-localized-manpages.diff - do not use po4a to generate
    localized documentation
- dpkg is now built by configure/make
- debhelper is now built by make

Thu Jul 26 18:04:30 CEST 2007 -

- remove config.guess dependency completely

Tue Jul 24 14:52:04 CEST 2007 -

- link the config.guess from automake

Sun Apr 22 22:37:02 CEST 2007 -

- use texlive for building

Fri Mar 30 08:49:13 CEST 2007 -

- Adjust BuildRequires.

Fri Aug 18 14:44:34 CEST 2006 -

- Fix build with new make.

Wed Jan 25 21:35:25 CET 2006 -

- converted neededforbuild to BuildRequires

Fri Jan 13 13:12:52 CET 2006 -

- Don't strip binaries.

Wed Dec 21 01:21:54 CET 2005 -

- remove unpackaged symlinks

Thu Sep  8 14:49:24 CEST 2005 -

- package missing dpkg-{architecture,scanpackages,scansources} (#106239)

Thu May 12 17:38:51 CEST 2005 -


Fri Apr  8 13:50:27 CEST 2005 -

- fixed to build with GCC4

Thu Feb 10 16:56:12 CET 2005 -

- update dpkg to 1.10.27 (just translation updates)

Thu Jan 20 23:38:24 CET 2005 -

- update dependency: html2txt -> html2text

Wed Jan 12 15:45:21 CET 2005 -

- update dpkg to 1.10.26

Wed Jan  5 13:41:10 CET 2005 -

- update debhelper to 4.2.30

Tue Jan  4 11:11:22 CET 2005 -

- update debhelper to 4.2.29

Wed Dec 15 12:06:57 CET 2004 -

- update debhelper to 4.2.28

Mon Dec 13 09:16:46 CET 2004 -

- update debhelper to 4.2.27

Tue Nov 16 15:44:34 CET 2004 -

- update dpkg to 1.10.25

Thu Nov 11 10:42:02 CET 2004 -

- update debhelper to 4.2.24

Fri Oct 29 13:55:11 CEST 2004 -

- update debhelper to 4.2.23

Wed Oct 27 12:15:38 CEST 2004 -

- update dpkg to 1.10.24

Wed Oct 13 12:11:21 CEST 2004 -

- update debhelper to 4.2.21

Wed Sep  8 00:06:37 CEST 2004 -

- remove stuff now present in own update-alternatives package

Thu Aug 19 14:50:34 CEST 2004 -

- update debhelper to 4.2.19
- update dpkg to 1.10.23
- use sed rather than patches
- remove patches accepted in upstream

Mon May 31 14:53:43 CEST 2004 -

- update debhelper to 4.2.10
- update dpkg to 1.10.21

Thu Mar 04 12:43:17 CET 2004 -

- no root for build
- revert to manual debhelper installation as installation using
  debhelper needs dpkg and debhelper installed

Wed Mar 03 18:08:58 CET 2004 -

- debhelper has debian/control file, so do not install manually
- update debhelper to 4.2.4
- update dpkg to

Wed Jan 28 00:25:16 CET 2004 -

- debhelper has no debian/control file, so install manually

Tue Jan 27 14:09:01 CET 2004 -

- install debhelper man pages on correct place

Mon Jan 26 15:09:20 CET 2004 -

- updated debhelper to 4.1.88 and dpkg to 1.10.18

Wed Aug 20 19:54:08 CEST 2003 -

- require the perl version we build with

Thu Aug 07 16:02:18 CEST 2003 -

- updated debhelper to 4.1.57

Mon Jul 28 14:13:38 CEST 2003 -

- Fix format string.
- Fix undefined use of longjmp.
- Use perl_vendorlib.

Wed Jun 18 15:08:58 CEST 2003 -

- updated debhelper to 4.1.47 (mostly fixes in dh_python)
- included directories for translated man pages
- use find_lang

Tue May 13 16:45:18 CEST 2003 -

- updated debhelper to 4.1.43
- updated dpkg to 1.1.10

Tue Apr 08 11:48:37 CEST 2003 -

- updated debhelper to 4.1.40
- fixed problems with new coreutils

Thu Mar 06 15:40:08 CET 2003 -

- configuration files under /etc marked as %config

Thu Jan 30 14:19:51 CET 2003 -

- updated debhelper to 4.1.29:
  * Added a dh_python command.
  * Various fixes.

Wed Nov 13 12:22:45 CET 2002 -

- updated dpkg to 1.10.9, major changes:
  * Make the multiline regex have an upper bound, instead of being
    unbounded, as newer perls have a larger stack frame, which cause them
    to segfault quicker with larger inputs.
  * Fix segfault in md5sum if the file being checked doesn't exist.
  * Fix extraction of md5sum in dpkg-scanpackages.
  * Handle directories better in md5sum.
  * Fix several read pass buffer bugs, and a memleak.
  * Fix segfault when --auto-deconfigure is given.
- updated debhelper to 4.1.20, major changes:
  * typo in dh_shlibdeps(1)
  * dh_fixperms: Make sure .pm files are 0644.
  * dh_strip: detect and don't strip debug/*.so files.
  * Various improvements to debhelper(1).
  * Clarified dh_perl man page.
  * Fixed excessive escaping around terms in DH_EXCLUDE_FIND.
  * Patch from Andrew Suffield to make dh_perl understand #!/usr/bin/env perl
- included part of postinst script from debian package

Mon Nov 11 11:26:13 CET 2002 -

- changed neededforbuild <sp> to <opensp>
- changed neededforbuild <sp-devel> to <>

Wed Aug 28 12:37:07 MEST 2002 -

- corrected requires

Wed Aug  7 15:05:04 CEST 2002 -

- updated to debhelper 4.1.3:
    * various bugfixes
    * removed /usr/doc manglement code from postinst and prerm
    * removed dh_installxaw
    * dh_installchangelogs installs debian/NEWS
- updated to dpkg 1.10.4:
    * plenty of bugfixes and new switches
    * added Large File Summit extension
    * added manpages for dpkg.cfg and dselect.cfg
    * updated translations
    * install archtable into /usr/share/dpkg/
- dpkg is now build by debian/rules not by script in spec
- removed md5sum.1 start-stop-daemon.8 install-info.8 manpages also
  for other locales (these programs are not installed)

Tue Jun 11 09:16:14 CEST 2002 -

- updated to debhelper 4.0.11 and dpkg 1.9.21

Mon Aug 13 15:51:56 CEST 2001 -

- changed neededforbuild <sp_libs> to <sp-devel>

Fri Jun  8 15:13:02 CEST 2001 -

- fixed to compile with new autoconf

Tue Apr 24 12:12:56 CEST 2001 -

- fixed warnings on ia64

Wed Apr 18 09:07:26 CEST 2001 -

- fixed to compile

Mon Mar  5 14:38:45 CET 2001 -

- dpkg updated to version
- debhelper updated to version 3.0.8

Tue Dec  5 14:56:23 CET 2000 -

- Fix broken declaration.

Tue Oct 31 10:57:36 CET 2000 -

- update to version 1.6.14
- bzipped sources

Tue May 23 16:48:45 CEST 2000 -

- added files in /etc and /var to %files

Mon May 22 15:19:20 CEST 2000 -

- removed install-info and start-stop-daemon

Mon May 15 17:20:51 CEST 2000 -

- Fixed for ia64.

Wed May  3 17:15:12 CEST 2000 -

- package created - version (debhelper 1.1.24)

openSUSE Build Service is sponsored by