Edit: /usr/share/doc/dpkg/changelog (692300B)
dpkg (1.20.9) unstable; urgency=medium
[ Guillem Jover ]
* Test suite:
- Pass --ignore-builtin-builddeps to dpkg-buildpackage.
-- Guillem Jover
Wed, 14 Apr 2021 00:43:39 +0200
dpkg (1.20.8) unstable; urgency=medium
[ 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
-- Guillem Jover Tue, 13 Apr 2021 22:17:05 +0200
dpkg (1.20.7) unstable; urgency=medium
[ 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).
-- Guillem Jover Sat, 09 Jan 2021 00:59:45 +0100
dpkg (1.20.6) unstable; urgency=medium
[ 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
file.
* 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 .
See https://lists.debian.org/debian-devel/2020/10/msg00222.html.
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-realpath.
* dpkg: When removing old files check the pathname with diversion and
instdir.
* 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
signatures.
- 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 gnu.org 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
buffer.
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 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).
-- Guillem Jover Fri, 08 Jan 2021 04:39:40 +0100
dpkg (1.20.5) unstable; urgency=medium
[ 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).
-- Guillem Jover Wed, 08 Jul 2020 05:40:39 +0200
dpkg (1.20.4) unstable; urgency=medium
[ 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::Source::Package->extract().
- 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).
-- Guillem Jover Tue, 07 Jul 2020 07:57:48 +0200
dpkg (1.20.3) unstable; urgency=medium
[ 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).
-- Guillem Jover Mon, 29 Jun 2020 12:37:51 +0200
dpkg (1.20.2) unstable; urgency=medium
* 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.
-- Guillem Jover Sun, 28 Jun 2020 00:42:11 +0200
dpkg (1.20.1) unstable; urgency=medium
[ 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 buildopts.mk 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
parser:
- 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 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
1.18.0.
- 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).
-- Guillem Jover Sat, 27 Jun 2020 02:41:48 +0200
dpkg (1.20.0) experimental; urgency=medium
[ 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.
* buildtools.mk: 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 volatile.debian.org 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.
* buildtools.mk: 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
changelog_parse_plugin().
- Dpkg::Compression: Hide internal lowercase variables
$default_compression, $default_compression_level and
$compression_re_file_ext.
- 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
$diff_ignore_default_regexp.
- 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
warning.
- 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
libcompat-test.
- 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
-- Guillem Jover Sun, 08 Mar 2020 03:31:40 +0100
dpkg (1.19.7) unstable; urgency=medium
[ 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
-- Guillem Jover Mon, 03 Jun 2019 23:22:35 +0200
dpkg (1.19.6) unstable; urgency=medium
[ 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).
-- Guillem Jover Mon, 25 Mar 2019 15:08:26 +0100
dpkg (1.19.5) unstable; urgency=medium
[ 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-
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 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).
-- Guillem Jover Sat, 23 Feb 2019 18:00:54 +0100
dpkg (1.19.4) unstable; urgency=medium
* 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».
-- Guillem Jover Wed, 23 Jan 2019 13:06:39 +0100
dpkg (1.19.3) unstable; urgency=medium
[ 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
* vendor.mk: Fix dpkg_vendor_derives_from macro documentation.
Thanks to Colin Watson . Closes: #913816
* vendor.mk: 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
messages.
* 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
filehandles.
- 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
validation.
- 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
backslash.
- 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
declaration.
- dpkg: Split trigger processing types into required, try-queued and
try-deferred.
- 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).
-- Guillem Jover Tue, 22 Jan 2019 14:26:04 +0100
dpkg (1.19.2) unstable; urgency=medium
[ 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
module.
* 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).
-- Guillem Jover Mon, 08 Oct 2018 11:43:48 +0200
dpkg (1.19.1) unstable; urgency=medium
[ 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 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 buildtools.mk. 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
, 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 architecture.mk, 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
options.
* 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
dpkg-buildpackage.
* 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 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
modules.
- 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
patches.
- Dpkg::OpenPGP: Return the destination path on successful ASCII armor
conversion.
- 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 alioth.debian.org.
- 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
state.
- 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).
-- Guillem Jover Wed, 26 Sep 2018 15:13:22 +0200
dpkg (1.19.0) unstable; urgency=medium
[ Guillem Jover ]
* Remove an unused variable in dpkg-shlibdeps.
Thanks to Niels Thykier .
* Parse start-stop-daemon usernames and groupnames starting with digits in
-u and -c correctly. Reported by Bodo Eggert <7eggert@online.de>.
* Cache the result of «dpkg-query --control-path» calls in dpkg-shlibdeps.
Based on a patch by Niels Thykier . Closes: #846405
* Always use the binary version for the .buildinfo filename in
dpkg-genbuildinfo. Reported by Raphaël Hertzog .
Closes: #869236
* Fix integer overflow in deb(5) format version parser.
Closes: #868356
* Re-enable upstream tar signatures when building source format 1.0.
* Make dpkg-deb --build sanity check the config maintainer script file type
and permissions.
* Add support to dpkg-deb for rootless builds, by setting the owner and
group for the control.tar entries to root:root, and making it possible to
do the same for the data.tar entries via the new --root-owner-group option.
Based on a patch by Niels Thykier . Closes: #291320
* Make dpkg-buildpackage error out if --as-root is passed without
--rules-target.
* Add support for rootless builds in dpkg-buildpackage by honoring the
Rules-Requires-Root (R³) field.
* Add new dpkg-buildflags --query command, which is like --status but in
deb822 format.
* Remove long obsolete dselect floppy method.
* Remove traces of non-US support from dselect methods.
* Add support for a new Build-Kernel-Version field in .buildinfo files,
that can be emitted with a new dpkg-genbuildinfo --always-include-kernel
option. Closes: #873937
* Make dpkg-genchanges honor substvars in .changes Description field.
Closes: #856547
* Add support for source package Description and substvars. This new
field in the debian/control source stanza will be copied into the .dsc
file, and will also be used to initialize the new source:Synopsis and
source:Extended-Description substvars that will be available when
generating the DEBIAN/control and .changes files. Closes: #555743
* Add new “future” feature area in dpkg-buildflags:
- Add new «lfs» feature, to be used instead of the getconf(1) interface
which cannot support cross-building.
* Add new buildtools.mk make fragment to support build tools variable
setup, for both TOOL and TOOL_FOR_BUILD variables. Not included by
default from default.mk.
* Make --uniform-compression the new default dpkg-deb behavior. Add support
for negating the option via --no-uniform-compression.
* Clarify subprocess error message by shuffling words around.
* Print the package name on maintainer script errors. Closes: #877521
* Fix capitalization of Debian in dpkg-deb output messages.
* Add a policykit file for running update-alternatives via pkexec.
Propose by Boyuan Yang <073plan@gmail.com>.
* Perl modules:
- Switch from Dpkg::Util to List::Util, now that the module in the
new required Perl contains the needed functions.
- Add a new "unique_tuple_key" option to Dpkg::Index set_options() to
set better default "get_key_func" options, which will become the default
behavior in 1.20.x. Prompted by Johannes Schauer .
- Mark ppc64 and powerpc as having gcc builtin PIE in Dpkg::Vendor::Debian.
- Make the Dpkg::Substvars warnings output deterministic.
Thanks to Chris Lamb . Closes: #870221
- Remove unused POSIX module imports.
- Use Errno module instead of the slow to import POSIX.
- Remove unused Dpkg::Path from Dpkg::Vendor::Ubuntu.
- Only load POSIX from Dpkg::Compression::FileHandle if we are going to
use signal definitions, reducing the load time of many other modules.
- Only load Dpkg::BuildOptions and Dpkg::Arch from Dpkg::Vendor-specific
modules if we are going to use them, reducing the load time of many
other modules.
- Only load Term::ANSIColor from Dpkg::ErrorHandling if we are going to
use colors, reducing the load time of many other modules.
- Move color setup into report_pretty in Dpkg::ErrorHandling.
- Move printforhelp initialization into usageerr() in Dpkg::ErrorHandling.
- Avoid many function arguments in Dpkg::Shlibs::SymbolFile parse().
- Avoid many function arguments in Dselect::Ftp do_connect().
- Add new Dpkg::Interface::Storable option to disable compression support,
so that we can load Dpkg::Compression::FileHandle only when enabled.
- Disable decompression support for Dpkg::Vendor origin files.
- Move file_lock() function into a new Dpkg::Lock module, to reduce the
module load chain for several Dpkg modules.
- Add support for new DPKG_NLS environment variable in Dpkg::Gettext,
that when set to 0 will disable NLS (i18n) support in the Dpkg modules,
and reduce the load chain.
- Disable compression when using the default file in
Dpkg::Changelog::Parse.
- Mark all missing CTRL_INDEX_SRC and CTRL_INDEX_PKG fields as allowed
in Dpkg::Control::FieldsCore.
- Complete field order for CTRL_PKG_DEB and CTRL_FILE_STATUS types in
Dpkg::Control::FieldsCore.
- Switch to use lowercase field names for all internal field name
handling in Dpkg::Control::FieldsCore, giving a significant speed up.
- Remove dependency on Dpkg::Checksums from Dpkg::Control::FieldsCore.
- Do not execute code when importing Dpkg::Control::FieldsCore.
- Use substr instead of a regex to match the first line characters in
when parsing control files in Dpkg::Control::HashCore.
- Merge build flag methods into a single _add_build_flags private method
in Dpkg::Vendor::Debian.
- Do not use an intermediate variable in Dpkg::Control::HashCore::Tie
STORE method.
- Expect deb822 stanza delimiters more often than OpenPGP Armor Headers
in Dpkg::Control::HashCore parse method.
- Optimize trailing space matching on Dpkg::Control::HashCore parse
method, by trimming it just once at the beginning of the iteration.
- Optimize trailing space trimming on Dpkg::Control::HashCore parse
method, by requiring that at least one whitespace is present.
- Optimize first character matching in Dpkg::Control::HashCore parse
method, by storing the first character in a variable.
- Optimize field/value parsing in Dpkg::Control::HashCore parse method,
by switching from a capturing regex to split() plus a checking regex.
- Auto-convert binary signatures to OpenPGP ASCII Armor in
Dpkg::Source::Package when building source packages.
- Switch Dpkg::Source::Package::V3 modules to use find_command() instead
of ad-hoc code.
- Call source format prerequisites Dpkg::Source::Package method if
present. Addresses: #877688
- Unify Dpkg::ErrorHandling subprocess errors with the ones from libdpkg.
- Do not emit a perl warning if gcc or dpkg is not found from Dpkg::Arch,
the code already handles the commands not being present.
- Do not unnecessarily require setting the host_arch in Dpkg::Deps.
Closes: #856396
- Do not normalize args past a passthrough stop word in Dpkg::Getopt.
Some commands pass some arguments through to another command, and
those must not be normalized as that might break their invocation.
Reported by Helmut Grohne .
* Documentation:
- Document currently accepted syntax for changelogs in deb-changelog(5).
Closes: #858579
- Mark source:Version substvar in bold in deb-substvars(5).
- Clarify behavior for dpkg-maintscript-helper. Closes: #857852
- Use instead of for -c argument value in
dpkg-architecture(1). Reported by Johannes Schauer .
- Itemize the CTRL_* constants in the Dpkg::Index POD.
- Update buildinfo information in dpkg-buildpackage man page to match
the current implementation.
- Add all source files to POTFILES.in files.
- Move deb-version man page to section 7.
- Remove reference to obsolete dpkg-cross(1).
- Sort control field export markers by tool order in deb-src-control(5).
- Document Package-Type and Enhances fields in deb-control(5).
- Write the actual glyphs used to delimit dependency restrictions in
deb-src-control(5).
- Move Package-Type description just after the Package field in
deb-src-control(5).
- Move udeb-specific fields to the end of the list of fields in
deb-src-control(5), and mention these are really udeb-specific.
- Document that dependency fields in binary stanza can have restrictions
in deb-src-control(5).
- Clarify that the Testsuite field is comma-separarted.
- Fix update-alternatives man page section in alternatives/README file
reference. Closes: #872309
- Use correct name for archname validator value in dpkg(1) man page.
Reported by Niels Thykier .
- Clarify that sanitize options should not be used for production builds.
- Remove recommendation to use Pre-Depends for trigger directives from
deb-triggers(5). Closes: #864882
- Add new rootless build experimental draft specification.
Initial proposal by Niels Thykier , wording fixes
and spec clarifications by Guillem Jover .
- Fix several function signature documentation.
* Code internals:
- Switch perl code to use -> operator for function variables.
- Switch perl code from split() with /\s+/ to ' '.
* Build system:
- Require Perl 5.20.2, the version in Debian oldstable (jessie).
- Use new gcc-7 -Wrestrict and -Wshift-negative-value warnings if
available.
- Do not override the default DEPENDENCIES for libdpkg, extend it instead.
- Install perl man pages in section 3perl.
* Packaging:
- Remove preinst maintainer scripts for dselect and dpkg-dev, for an
ancient /usr/share/doc symlink to directory switch. Closes: #867327
- Remove now unused libio-string-perl Build-Depends, and versioned
dpkg-dev as we do not use build profiles any more.
- Set Rules-Requires-Root field to no.
- Do not set redundant source compression to xz.
- Bump Standards-Version to 4.1.0 (no changes needed).
- Switch to debhelper compatibility level 10.
- Split alternatives logrotate into its own configuration file to help
downstreams and derivatives.
- Remove ancient code recompressing the alternatives database backups
from xz to gzip in the dpkg daily cron job.
- Remove Replaces and Breaks for ancient transitions.
- Remove workaround for ancient gcc lacking stackprotectorstrong support.
- Remove maintainer script code to handle downgrades to pre-triggers and
pre-multiarch dpkg versions.
- Remove alternative logs when purging dpkg (!?).
- Add support for DPKG_ROOT in dpkg maintainer scripts.
- Add git and bzr to libdpkg-perl Suggests. Closes: #877688
* Test suite:
- Enable perlcritic Documentation::RequirePodSections and
Miscellanea::ProhibitTies.
- Disable perlcritic ValuesAndExpressions::ProhibitEscapedCharacter.
- Add a new all_perl_modules function to Test::Dpkg.
- Add a new module-version unit test to check that module $VERSION
matches the newest entry in the CHANGES section.
- Use Module::Metadata instead of grepping for $VERSION in pod-coverage.
- Avoid many function arguments in Dpkg_Changelog.t check_options().
- Add a new unit test for Dpkg::Control::FieldsCore.
- Switch from IO::String to native open() scalar support.
- Use UTC0 when setting TZ.
[ Updated programs translations ]
* German (Sven Joachim).
* Italian (Pietro Battiston). Closes: #864509
* Portuguese (Miguel Figueiredo). Closes: #868800
* Simplified Chinese (Zhou Mo, Boyuan Yang). Closes: #867133, #877929
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* Dutch (Frans Spiesschaert). Closes: #862924
* German (Helge Kreutzmann).
-- Guillem Jover Tue, 17 Oct 2017 01:51:16 +0200
dpkg (1.18.24) unstable; urgency=medium
[ Guillem Jover ]
* Add missing symbols to the libdpkg map file.
* Fix dpkg-shlibdeps to preserve the Dpkg::Shlibs::find_library() order
when scanning symbols/shlibs files. This was causing generation of bogus
dependencies when multiple packages provide the same SONAME on different
directories. Regression introduced in dpkg 1.18.17. Closes: #860979
* Make dpkg-maintscript-helper print all unowned files from a directory
when printing the error message, to ease debugging those problems after
the fact. Closes: #813454, #860238
Based on a patch by Bastien ROUCARIÈS .
* Add duplicate prevention code for debian/files to dpkg-genbuildinfo, so
that successive runs with different versions and equivalent build types
do not generate multiple .buildinfo entries to be uploaded, which is
similar to what dpkg-gencontrol is doing for .deb files.
* Fix conffile takeover handling during unpack in dpkg on --root or
on diversions. Closes: #837051, #858004
* Fix digest inference for shared conffiles, causing bogus takeover
unpack errors. Regression introduced in dpkg 1.16.9. Closes: #861217
* Improve tar entry metadata parsing in dpkg:
- Do not parse device numbers for non block nor char tar entry objects.
- Make the existing octal parser more robust, by checking for the
expected format of leading zeros or spaces, followed by any ASCII
octal characters (0-7), followed by zero or more space or NULs.
- Add support for base-256 encoded numeric fields, to support large
values, for UID/GID, device number, size and even signed timestamps.
This is necessary not only to be able to store larger values, but to
cover packages that can already be generated by dpkg-deb, given that
it uses the system GNU tar when building. Closes: #850834
* Architecture support:
- Add support for ARM64 ILP32. Closes: #824742
Thanks to Wookey .
* Perl modules:
- Remove obsolete hardening-wrapper support from Dpkg::Vendor::Ubuntu.
Thanks to Adam Conrad .
- Bump $Dpkg::Deps::VERSION to match the one documented in CHANGES.
- Ignore by default debian/files.new and debian/files for all source
formats in Dpkg::Source::Package, because these are generated files
with well known pathnames, part of the public interface, and with
dpkg-genbuildinfo always injecting .buildinfo entries into
debian/files, this meant this could disrupt previous workflows based
on not cleaning the source tree.
* Documentation:
- Many spelling fixes. Thanks to Josh Soref .
- Do not include misspellings in changelogs, as that makes detecting them
more difficult.
* Build system:
- Use libexec variable for auxiliary internal programs, and set it to
/usr/lib on Debian and derivatives.
- Check that the detected tar is a GNU tar.
- Check that the detected patch is a GNU patch, so that we get a directory
traversal resistant patch implementation. This fixes CVE-2017-8283 by
delegating those checks to patch(1), so that we trap blank-indented
diff hunks trying to escape from the source tree.
* Test suite:
- Add a test case for blank-indented patches which were the cause for
CVE-2017-8283.
- Handle files with non-zero sizes in c-tarextract libdpkg test code.
[ Updated programs translations ]
* Catalan (Guillem Jover).
* Czech (Miroslav Kure).
[ Updated dselect translations ]
* Catalan (Guillem Jover).
[ Updated scripts translations ]
* Catalan (Guillem Jover).
[ Updated man pages translations ]
* German (Helge Kreutzmann, David Rabel). Closes: #857449
* Spanish (Javier Fernández-Sanguino).
-- Guillem Jover Wed, 17 May 2017 13:16:25 +0200
dpkg (1.18.23) unstable; urgency=medium
[ Guillem Jover ]
* Handle unmatched arch-qualified virtual packages in dpkg-genbuildinfo,
instead of letting perl die. Closes: #849944
* Declare .buildinfo format as stable with version 1.0.
* Do not depend on cxxabi.h to have declared __cxa_pure_virtual, use
the same “__cxxabiv1” namespace as specified in the C++ ABI, instead
of using the “abi” alias intended for use by userland.
Thanks to Jörg Sonnenberger .
* Add a comment on any C code switch case that falls through. Fixes new
gcc-7 warnings.
* Use snprintf() instead of sprintf() in libdpkg when constructing the ar
member header, as we might overflow depending on the input data.
* Portability:
- Do not redeclare sys_siglist in libcompat when the system does so.
Thanks to Thomas Klausner .
- Rename err variable to ret in start-stop-daemon as the former is a
function on BSDs.
- Use 5-argument kvm_getprocs() call form on OpenBSD in start-stop-daemon.
- Use correct struct kinfo_proc ruid submember name on NetBSD in
start-stop-daemon.
- Define _KMEMUSER for NetBSD to get declarations for various
struct kinfo_proc members in start-stop-daemon.
* Perl modules:
- Do not special case EM_SPARC32PLUS for NetBSD in Dpkg::Shlibs::Objdump,
the code has been fixed in NetBSD as that situation could not happen.
- Fix read() error handling in Dpkg::Shlibs::Objdump::get_format() to
gracefully ignore non-ELF files again. Closes: #854536
- Emit an explicit warning from Dpkg::Shlibs::Objdump::Object::analyze()
for unknown executable formats instead of relying on objdump doing so.
- Do not parse bogus ELF binaries in Dpkg::Shlibs::Objdump::get_format().
Reported by Niels Thykier .
- Add ‘.mnt-ignore’ to the default ignore lists in Dpkg::Source::Package,
as we were already ignoring the ‘_MTN’ pathnames. Closes: #855450
Thanks to Nicolas Boulenguez .
- Mark kfreebsd-amd64, kfreebsd-i386, sparc and sparc64 architectures as
having gcc builtin PIE in Dpkg::Vendor::Debian.
- Switch PIE handling in Dpkg::Vendor::Debian to have no default (!) and
delegate the setting to gcc or an explicit request by a user. This is
needed to cope with the general PIE brokenness situation in Debian, and
the current specific brokenness of a Debian gcc patch mangling the dpkg
build flags. Closes: #848129, #845550
* Documentation:
- Clarify the requirements for deb-conffile(5) pathnames. Closes: #854417
Proposed by Dieter Adriaenssens .
- Document dpkg-source --before-build and --after-build in --help output.
- Document dpkg-buildpackage --ignore-builtin-builddeps in --help output.
* Build system:
- Check by also including , on several BSD
systems the header is not self-contained.
- Handle libmd implementations built into system libc, as found on some
BSD systems.
- Do not fail on missing compression libraries or headers on automatic
detection mode. Regression introduced in dpkg 1.18.14.
* Test suite:
- Use the detected perl interpreter instead of a random one from PATH.
[ Updated programs translations ]
* Dutch (Frans Spiesschaert). Closes: #856325
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* Dutch (Frans Spiesschaer). Closes: #856326
-- Guillem Jover Mon, 06 Mar 2017 05:41:11 +0100
dpkg (1.18.22) unstable; urgency=medium
[ Guillem Jover ]
* Turn status file parser errors on bogus field blank lines into warnings,
otherwise the system cannot be easily recovered from. Regression
introduced in dpkg 1.16.1. Reported by Jay Freeman .
* Perl modules:
- Mask ARM ABI bits in the ELF processor flags in Dpkg::Shlibs::Objdump.
These are too unreliable to be used for exact matching. Closes: #853793
[ Updated programs translations ]
* Turkish (Mert Dirik). Closes: #853202
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Wed, 01 Feb 2017 05:48:58 +0100
dpkg (1.18.21) unstable; urgency=medium
[ Guillem Jover ]
* Revert "Generate Testsuite-Restrictions fields from the test restrictions
in dpkg-source into .dsc files". This change is contentious and should
have been discussed more widely. Given that this has been live only for
a couple of days, the impact should be minimal, but still something to
take into account once and if this gets reintroduced. Closes: #852820
* Perl modules:
- Map alternative or old ELF machine types to canonical ones. We need
those to match on the encoded ABI, otherwise dpkg-shlibdeps will not
be able to find the objects.
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Sun, 29 Jan 2017 20:29:58 +0100
dpkg (1.18.20) unstable; urgency=medium
[ Guillem Jover ]
* Add a new --no-sign option to dpkg-buildpackage, to make it possible to
disable all signing in a future-proof way.
* Make dpkg-buildpackage --unsigned-changes not sign .buildinfo either.
This breaks the expectations of users and tools, because there was no
way previously to request no signing at all. Closes: #852822
* Perl modules:
- Mask the machine bits for SH and MIPS in the ELF processor flags in
Dpkg::Shlibs::Objdump. These do not define the ABI, and make the
objects not match when they should, when looking for shared libraries
from dpkg-shlibdeps.
- Encode the ELF ABI as a big-endian byte stream, so that decoding for
output gives meaningful results.
- Disable the NFS-unsafe warning on Linux, as using flock() on NFS has
been safe for some time now. Addresses: #677865 (on Linux)
* Documentation:
- Document the Built-For-Profile field in deb-changes(5).
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Sat, 28 Jan 2017 06:32:53 +0100
dpkg (1.18.19) unstable; urgency=medium
[ Guillem Jover ]
* Stop emitting Built-For-Profiles from dpkg-gencontrol. The information
is already provided in .buildinfo and .changes files, and including it
in the binary packages makes them unreproducible even when the profile
used would not alter its contents. Closes: #831524
* Do not allow empty epochs and revisions in versions. When there's at
least one colon or one dash, we should expect epoch and revision numbers.
* Always set SOURCE_DATE_EPOCH in dpkg-buildpackage and dpkg-source. Use
the current date if the changelog does not have one. Closes: #849081
* Refactor update-alternatives pathname existence check into a new function.
* Avoid useless repeated lstat()s in update-alternatives.
* Only check for debian/tests/control file once in dpkg-source.
* Generate Testsuite-Restrictions fields from the test restrictions in
dpkg-source into .dsc files. Closes: #847926
Based on a patch by Iain Lane .
* Improve the ELF ABI mismatch detector in dpkg-shlibdeps, by parsing the
ELF header ourselves. While still not perfect (things like linux-i386 and
hurd-i386 will still match), it will filter lots of previously matching
objects that should have been ignored, and will work even when objdump
does not know about the specific object details. Closes: #849913
* Add initial support for DEB_BUILD_OPTIONS to dpkg-genbuildinfo. This will
make it possible to enable or disable specific features that should be
recorded in the .buildinfo file. For now only “all” and “path” are
supported. Closes: #848705
* Add again the architecture from the filename to .changes files for any
artifact with one. This reverts the change introduced in dpkg 1.18.11.
* Fold the filtering and checksumming of files to distribute in a .changes
file in dpkg-genchanges into the initial loop. This way we do not include
architectures for artifacts we are not going to distribute, and do not
unnecessarily recompute the checksums for artifacts like the sources.
* Do not compute the architecture list twice in dpkg-genchanges.
* Include .buildinfo files also for source-only uploads in dpkg-genchanges.
Closes: #846164
* Fix check for expected number of binary artifacts in dpkg-genchanges, to
only take into account the artifacts that we are distributing.
* Fix parsing of Pre-Depends and Depends in dpkg-genbuildinfo, so that
the code parses both and not just the first to appear in the stanza.
Based on a patch by Johannes Schauer .
* Add support for signed .buildinfo files to dpkg-buildpackage. Add new
-ui and --unsigned-buildinfo options. Closes: #843925
* Portability:
- On GNU/Hurd try to use the new process executable name attribute from
libps, to properly match on start-stop-daemon --exec.
* Perl modules:
- Fix Debian architecture wildcard parsing so that matching four-tuple
matchings work. Missed in dpkg 1.18.11.
Reported by Julian Andres Klode .
- Add new import tags for Dpkg::Arch.
- Abort on EOF in patch name prompt in Dpkg::Source::Package::V2,
instead of getting into an infinite loop. Closes: #851441
- Call anonymous subs via -> operator instead of casting with &, and fix
bogus POD documentation to match the code.
- Add new Auto-Built-Package field to Dpkg::Control::Fields.
- Add a new debug() reporting function, and switch code to use it.
- Add new Dpkg::BuildOption parse_features() method refactored from
Dpkg::Vendor::Debian.
* Documentation:
- Cleanup software requirements in README.
- Move control member file references from dpkg(1) to deb(5).
- Fix typos in docs and code comments.
- Document Auto-Built-Package field in deb-control(5).
* Build system:
- Disable disk pre-allocation by default, but let the builder re-enable
it via a new configure option. This has been causing major performance
issues on "modern" filesystems.
* Packaging:
- Add debsig-verify to dpkg Suggests. The code optionally supports this
specific signed .deb verification program.
Prompted by Stuart Prescott .
* Test suite:
- Generate and check all currently possible architecture wildcards.
- Correctly iterate over all default and passed .dsc template substvars.
[ Updated programs translations ]
* Dutch (Frans Spiesschaert). Closes: #851889
* German (Sven Joachim).
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* Dutch (Frans Spiesschaer). Closes: #851891
* German (Helge Kreutzmann).
-- Guillem Jover Fri, 27 Jan 2017 05:43:36 +0100
dpkg (1.18.18) unstable; urgency=medium
[ Guillem Jover ]
* Documentation:
- Document DPKG_DATADIR in an ENVIRONMENT section in dpkg-architecture(1).
- Add a rationale for the purpose of Testsuite-Triggers in dsc(5).
Prompted by Mattia Rizzolo .
* Packaging:
- Revert the perl to perl:any dependency change in libdpkg-perl, as that
breaks debootstrap in stable (jessie), testing (stretch) and unstable,
which do not support arch-qualified dependencies. We'll have to live
with the Multi-Arch hinter being unhappy for now.
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Tue, 20 Dec 2016 13:53:12 +0100
dpkg (1.18.17) unstable; urgency=medium
[ Guillem Jover ]
* Handle empty versions on validation in dpkg-maintscript-helper as they
are optional. Regression introduced in dpkg 1.18.16. Closes: #848422
* Validate versions too in dpkg-maintscript-helper symlink_to_dir and
dir_to_symlink commands.
* Improve logic to identify packages owning a library in dpkg-shlibdeps,
by handling the same library appearing more than once on the filesystem
Thanks to Raphaël Hertzog . Closes: #843073
* Documentation:
- Clarify that dpkg-buildpackage does not run «dpkg-source --before-build»
when using the -T option. Closes: #649531
- Document that dpkg sets DPKG_ADMINDIR on maintainer script environment.
* Packaging:
- Do not let dh_perl insert a dependency for libdpkg-perl, because it
emits perl instead of perl:any. Instead hardcode a perl:any dependency
to comply with the perl policy and make the Multi-Arch hinter happy.
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Mon, 19 Dec 2016 02:43:10 +0100
dpkg (1.18.16) unstable; urgency=medium
[ Guillem Jover ]
* Add support for specifying multiple targets on «dpkg-buildpackage -T»
which will be run successively. Closes: #671074
* Reject empty upstream versions in C and perl code. These are not permitted
by deb-version(5), but the code was letting those through.
* Use lzma_cputhreads() instead of sysconf(_SC_NPROCESSORS_ONLN) as the
former is way more portable.
* Automatically decrease xz encoder threads to try to not exceed available
memory limits. This should alleviate the insane requirements of memory
needed on 32-bit architectures with many cores, which results in more
than the userspace addressable memory, when using settings such as
-z9 and/or -Sextreme in dpkg-deb. Closes: #846564
* Add new dpkg --validate- commands to validate the syntax of
various s, where the current list is «pkgname», «trigname»,
«archname» and «version».
* Use the new dpkg --validate-version command in dpkg-maintscript-helper,
instead of abusing the --compare-versions command to perform version
validation. Closes: #844701
* Allow readlink(2) to return a size smaller than stat(2) in dpkg. Some
bogus filesystems do not return the actual symlink size in st_size,
which contradicts POSIX. But allowing the case where the returned size
is smaller than the one used to allocate memory is harmless, although
suspect. Let it through, but still print a warning so that users can
install stuff but are reminded they need to get a fixed filesystem in
place. This has affected at least ecryptfs in the past and now
file-based encryption support in ext4 on Android N.
* Add new dpkg-query virtual field source:Upstream-Version. Closes: #844348
* Perl modules:
- Whitelist DPKG_GENSYMBOLS_CHECK_LEVEL, DPKG_ROOT, DPKG_ADMINDIR and
DPKG_DATADIR environment variables in Dpkg::Build::Info.
* Documentation:
- State the current working directory used when running dpkg-buildpackage
hooks.
- Add a new ENVIRONMENT section to dpkg-gensymbols(1) and document
DPKG_GENSYMBOLS_CHECK_LEVEL there.
- Fix bogus description of --force-confmiss in dpkg(1). Regression
introduced in 1.16.4. Reported by Sven Joachim .
Closes: #846395
- Update dpkg-parsechangelog parser options. The options specific to
the changelog parser program did not get updated when the parser got
switched to be a perl module. Missed in dpkg 1.18.8. Closes: #848189
* Build system:
- Enable compression libs also in automatic check mode in configure.
- Honor DPKG_DATADIR again in the installed Dpkg modules. This was an
explicit public interface, documented in the man page.
[ Updated programs translations ]
* Dutch (Frans Spiesschaert). Closes: #848378
* Simplified Chinese (Zhou Mo). Closes: #844955
[ Updated scripts translations ]
* German (Helge Kreutzmann).
* Swedish (Martin Bagge). Closes: #847220
[ Updated man pages translations ]
* Dutch (Frans Spiesschaert). Closes: #848379
* German (Helge Kreutzmann).
-- Guillem Jover Sat, 17 Dec 2016 00:25:53 +0100
dpkg (1.18.15) unstable; urgency=medium
[ Guillem Jover ]
* Improve PIE flags support:
- Do not enable PIE when linking static programs. glibc-based systems
do not support this combination and produce very bogus output.
Proposed by Szabolcs Nagy . Closes: #843714
* On source builds add 'source' to the Architecture field in the
.buildinfo file in dpkg-genbuildinfo.
* Add new Build-Date field to .buildinfo files.
* Generate deterministic .buildinfo filenames in dpkg-genbuildinfo,
following the same pattern as used for .changes files.
* Bump .buildinfo Format to version 0.2.
* Change dpkg-buildpackage -j and -J on “auto” mode to fallback to serial
execution when we cannot infer the number of online processors on
unsupported or exotic systems. This should be a safer mode of operation.
Proposed by Simon McVittie .
* Only preallocate disk size in dpkg for unpacked files bigger than 16 KiB.
Closes: #824636
* Perl modules:
- Validate architecture arguments in Dpkg::Deps deps_parse().
Prompted by Johannes Schauer .
* Documentation:
- Escape dashes in field names in dpkg-buildinfo(1).
* Test suite:
- Mark partially documented POD modules as TAP TODO.
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Wed, 16 Nov 2016 03:28:05 +0100
dpkg (1.18.14) unstable; urgency=medium
[ Guillem Jover ]
* Improve PIE flags support:
- Rename the spec name cc1_options to self_spec.
Suggested by James Clarke
- Do not set PIE options if they have been negated, and do not reset
them if they have been requested.
Closes: #843791, #843826
* Fix use after free error in dpkg. It was trying to print messages that
had already been freed as part of the database memory pool, causing in
some cases segfaults when reporting the error summary at the end.
Regression introduced in dpkg 1.18.11. Closes: #843874
* Change default color behavior to auto.
* Perl modules:
- Fix confusing date parse error message in Dpkg::Changelog::Entry::Debian
when the date contains “May”. Closes: #843829
Thanks to Nishanth Aravamudan .
- New module Dpkg::Build::Info module refactored from dpkg-genbuildinfo.
Requested by Johannes Schauer .
* Documentation:
- Improve the DEB_BUILD_OPTIONS description in dpkg-buildpackage(1).
And mention the parallel option there.
- Explicitly mention in dpkg-buildpackage(1) that setting the number
of parallel jobs to 1, restores the serial behavior.
Prompted by Thorsten Glaser .
* Packaging:
- List public Dpkg::Control::Tests module in libdpkg-perl description.
* Test suite:
- Do not fail tests on missing fakeroot, just skip them.
* Build system:
- Fix inversion logic in libmd configure check when requested explicitly.
- Do not consider the compressor libraries available in configure if the
headers are not usable.
- Fix DPKG_BUILD_RELEASE_DATE to require DPKG_PROG_PERL, as it uses perl.
- Change DPKG_BUILD_RELEASE_DATE to use perl instead of date(1) to
format the timestamp, as the former is more portable.
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Fri, 11 Nov 2016 02:26:08 +0100
dpkg (1.18.13) unstable; urgency=medium
* Improve PIE flags support:
- Retroactively document in the changelog that PIE is enabled by default
on all supported architectures regardless of gcc doing so itself on a
subset of them.
- When emitting PIE flags on architectures where gcc does not inject
those itself, do it via a specs file too, so that maintainers can
use them unconditionally regardless of the object being compiled
or linked.
- When injecting -no-pie for linking via the gcc specs file also
inject -fno-PIE.
- Update the documentation.
* Perl modules:
- Do not try to load non-files in Dpkg::Dist::Files load_dir method.
Fixes test failures on non-Linux architectures. Closes: #843436
* Packaging:
- Add missing Breaks on old libdpkg-perl to dpkg. Closes: #843429
Thanks to Sven Joachim .
- Ship deb-src-files(5) man page in dpkg-dev.
* Build system:
- Use deterministic dates for generated man pages. Closes: #843469
Thanks to Reiner Herrmann .
-- Guillem Jover Mon, 07 Nov 2016 03:28:42 +0100
dpkg (1.18.12) unstable; urgency=medium
* Build system:
- Set umask to 0022 for functional test suite.
* Documentation:
- Rename FILE FORMATS section to FILES in dpkg-source(1).
- Use "dpkg suite" as the manual item in man pages .TH macro.
- Use %VERSION% in dpkg-statoverride(1) source item in man page .TH macro.
- Document environment variables used by source format modules in
dpkg-source(1).
-- Guillem Jover Sun, 06 Nov 2016 05:36:20 +0100
dpkg (1.18.11) unstable; urgency=medium
[ Guillem Jover ]
* Make dpkg-maintscript-helper conffile commands more robust. Check that
conffile pathname arguments are absolute paths and verify version number
to be valid. Thanks to David Kalnischkies .
* Add support to dpkg-scanpackages for scanning a single binary file.
Thanks to Javier Serrano Polo . Closes: #833964
* Obsolete dpkg-deb bzip2 and lzma compression methods by emitting errors.
* Remove obsolete dpkg-deb --old and --new options.
* Remove obsolete dpkg --print-installation-architecture option.
* Fix dpkg error messages when parsing md5sum files to include the package
name affected.
* Do not emit epochs for unambiguous versions in deb-split package header.
Regression introduced in dpkg 1.18.0.
* Make the deb-split(5) generation in dpkg-split reproducible, by using the
timestamp from SOURCE_DATE_EPOCH.
* Generate reproducible file modes for the .deb control member contents.
Closes: #787980
* Switch from non-freeing malloc to m_malloc on statdb slurping.
* Switch from non-freeing malloc to m_malloc for invoke hooks.
* Always reset the package in-core database when shutting down the package
database journal.
* Do not crash if we pass a NULL cip argument to setaction() in libdpkg.
* Shutdown the package database journal in dpkg --get-selections.
* Fix (deactivated) dpkg --command-fd to initialize and reset the files
database on each action.
* Implement source stanza substvars prefixed with S: in dpkg-gencontrol.
These auto-generated variables map each source stanza field into an
output substvar prefixed with “S:”.
* Make dpkg-source generate reproducible source packages when run
standalone, by honoring SOURCE_DATE_EPOCH.
* Fix several short-lived memory leaks in update-alternatives.
Reported by Helmut Grohne .
* Only set the error context message in libdpkg if it has been formatted
correctly.
* Return error in error_context_errmsg_format() only if the error message
gets truncated. In case we have to use the emergency buffer because the
previous vasprintf() call failed, we should only return an error code if
the vsnprintf() call on the emergency buffer truncates the output.
* Fix free() on uninitialized pointer in error_context_errmsg_format() in
libdpkg. Regression introduced in dpkg 1.18.7. Closes: #842004
* Move C++ support code into its own file.
* Add replacement new and delete array operators to C++ support code.
* Implement local abi::__cxa_pure_virtual. When using g++ if we provide our
version of this function we can avoid the dependency on either libstdc++
or libsup++.
* Include missing for new and delete operator declarations.
* Do not log nor print duplicate dpkg removal action. We print
“Removing ()” lines and log remove action twice
when purging a package from frontends, because they usually first call
--remove and then --purge sequentially. When purging a package which is
already in config-files (i.e. it has been removed before), do not print
nor log the remove action.
* Remove default «.» from @INC before loading perl modules in perl code.
Fixes CVE-2016-1238.
* Give more information on --set-selections warnings. Closes: #842230
* Add new DEB_*_ARCH_ABI and DEB_*_ARCH_LIBC variables to dpkg-architecture
and architecture.mk Makefile fragment.
* Do substvar instantiation just once in dpkg-gencontrol.
* Fix dpkg-gencontrol to not update the files list file (debian/files)
when printing to STDOUT (via -O).
* Do not add architectures to .changes Architecture field for artifacts
that are not a .deb or .udeb in dpkg-genchanges.
* Add support for .buildinfo files:
- Add new dpkg-genbuildinfo command.
- Hook it into the dpkg-buildpackage machinery.
Based on a patch by Jérémy Bobbio . Closes: #138409
* Enable dpkg-buildpackage -Jauto by default. Closes: #842845
* Fix dpkg to not fail when removing non-existent backup files on read-only
filesystems. Closes: #838877
* Enable PIE on all supported architectures and handle PIE enabled by
default in gcc. On architectures where gcc enables them by default,
stop setting -fPIE and -pie, and set -fno-PIE and -no-pie when disabling
«pie» via gcc specs files, so that we do not emit them on situations
where it would be inappropriate. Closes: #835149
Based on a patch by Bálint Réczey .
* Architecture support:
- Add support for AIX operating system.
- Add a version pseudo-field to the arch tables.
- Internally represent Debian architectures as quadruplets.
* Portability:
- Cast off_t variables to intmax_t when printing them with "%jd".
- Add missing include in libdpkg.
- Cast strlen() return value to ssize_t to match write() return type.
- Use underscore-prefixed system preprocessor symbols instead of namespace
polluting ones (such as “linux”, “OPENBSD” or “hpux”).
- Handle _POSIX_PRIORITY_SCHEDULING being defined to -1 or 0 in
start-stop-daemon. This affects Mac OS X.
- On FreeBSD return STATUS_UNKNOWN instead of false in start-stop-daemon
do_procinit().
- Port start-stop-daemon process handling to Mac OS X.
Based on a patch by Mo McRoberts .
- Port start-stop-daemon process handling to AIX.
- Fix lookup by name on update-alternatives --config. The code was wrong
and not working at least on Mac OS X, making the test suite to fail.
- Only use gzip --rsyncable in Dpkg::Compression on Debian and hopefully
derivatives, by using perl's $Config{cf_by} variable to key on. The
Debian-specific --rsyncable option should have never been accepted for
use in dpkg to begin with.
- Use our own dpkg_ar_hdr struct instead of relying on the system
ar_hdr struct, as the ar format is not standardized and does vary
across systems, for example on AIX.
- Add on AIX for major() and minor().
- Add missing in libcompat.
- Include libcompat getopt module when we need getopt_long.
- Disable gettext support in libcompat getopt module. We do not carry
translations for this module, and it makes it pull libintl for programs
that might not use it otherwise.
* Perl modules:
- Obsolete Source-Version substvar in Dpkg::Substvars by emitting errors.
- Rework keyring hooks in Dpkg::Vendor. Deprecate the keyrings hook, and
add package-keyrings, archive-keyrings and archive-keyrings-historic
hooks. Prompted by Johannes Schauer .
- Make the Dpkg::Substavars parse() method return the number of substvars
parsed.
- Add new set_field_substvars() method to Dpkg::Substvars.
- Fix reproducible source package support in Dpkg::Source::Archive, by
sorting the tar contents with --sort=name.
- Prefix private Dpkg::Source::Package::* functions with _.
- Defer filehandle closures in Dpkg::IPC::spawn() to avoid double-close.
Closes: #839905, #840293
- Always map the build type to the shortest string form in
Dpkg::Build::Type::get_build_options_from_type().
- Change Dpkg::Compression::FileHandle to inherit directly from IO::File
instead of FileHandle.
- Add new Dpkg::PROGTAR variable to store GNU tar command name.
- Add new Dpkg::PROGMAKE variable to store GNU make command name.
- Add new CTRL_FILE_BUILDINFO type to Dpkg::Control.
- Add new .buildinfo fields to Dpkg::Control::Fields.
- Add new builtin-system-build-paths Dpkg::Vendor hook.
- Cope gracefully with changelogs missing a timestamp trailer.
Based on a patch by Ian Jackson .
Regression introduced in dpkg 1.18.8. Closes: #843248
* Packaging:
- Add liblocale-gettext-perl to libdpkg-perl Recommends.
- Wrap and document dependency relationships.
- Remove obsolete dependency relationships, since Debian oldstable.
- Remove update-alternatives, dpkg-divert and dpkg-statoverride
compatibility symlinks, again.
- Use perl:Depends via dh_perl instead of a hardcoded perl in Depends.
- Add perl:Depends to dpkg-dev Depends.
- Remove unused dh_strip from binary_indep target.
- Remove ancient upgrade code from maintainer scripts (before 1.15.x).
- Stop compressing the dpkg.deb package with gzip.
- Move dpkg to be the first binary package stanza in debian/control, as
debhelper assigns special meaning by considering it the main package.
- Set MAKEFLAGS to -jN from parallel=N in DEB_BUILD_OPTIONS.
* Documentation:
- Update custom changelog parser API support status in README.api.
- Fix typos in docs and man pages. Thanks to Jakub Wilk
Closes: #834584
- Fix formatting in SOURCE_DATE_EPOCH description in dpkg-deb(5).
- Improve dpkg-deb --build arguments documentation in dpkg-deb(1).
Prompted by Johannes Schauer .
- Document the .changes filename that dpkg-buildpackage generates in
dpkg-buildpackage(1). Prompted by Johannes Schauer .
- Add basic maintainer script man pages: deb-postinst(5), deb-postrm(5),
deb-preinst(5) and deb-prerm(5).
- Add new deb-src-files(5) man page.
Prompted by Johannes Schauer .
- Add man page references to other binary control files in dpkg(1).
- Add version when "new" substvars were introduced in deb-substvars(5).
- Switch deb-triggers(5) types into a proper list.
- Itemize --log format entries in dpkg(1).
- Turn the update-alternatives(1) --query example item into a sub-section.
- Turn the Multi-Arch values into a list in deb-control(5).
- Improve user-defined field export marker documentation in
deb-src-control(5); clarify that X can be followed by zero or more
(instead of one or more) letters and turn the items into a proper list.
- Generate the man pages at build time. This makes it possible to process
them and update several variable strings such as system and package
pathnames, the release date and the dpkg suite version. And makes it
possible to use UTF-8 in the source and convert to the more conservative
groff escape sequences on the output.
- Switch from groff escape sequences to UTF-8 in man pages sources.
- Disable hyphenation in man pages globally, because it performs very
poorly on many technical terms.
- Append the German man pages addendum at the end of the translation,
instead of assuming that every page has the SEE ALSO section.
- Explicitly mention that Dpkg::Checksums::add_from_file() is used to
verify digests too. Prompted by Johannes Schauer .
- Document the behavior for consecutive calls to Dpkg perl module parse()
methods. Prompted by Johannes Schauer .
- Document obsolete functions in Dpkg::Conf.
* Test suite:
- Make test main function a TEST_ENTRY macro. This avoids confusing
coverage programs, as the file that actually contains the main function
is the test itself.
- Rename test suite commands to be prefixed with «c-» instead of «t-».
- Add new dpkg-source functional tests.
- Add new dpkg-buildpackage functional tests.
- Add an initial functional test suite for dpkg-deb and dpkg-split.
- Skip the involved tests if IO::String is missing.
- Add new unit test for libdpkg error handling.
- Delete MAKEFLAGS environment variable when testing make invocations.
- Pass -q to grep command to suppress matched output in pod-coverage.t.
- Ignore POD coverage for partially private modules.
* Build system:
- Add support for profiling perl modules.
- Clean up compiler and linker automatic flag usage in configure.
- Fix the __progname check to avoid the optimizer discarding the symbol.
- Fix M4sh/Autoconf coding style. Add a new section to coding-style.txt
describing M4sh/Autoconf.
- Disable C++ exceptions for dselect.
- Fix typo in SE Linux library detection code, only affecting static
mode (not used in Debian). Regression introduced in dpkg 1.18.8.
- Change --with-* option logic to default to check.
- Disable -Wtautological-constant-out-of-range-compare (for clang).
- Check the availability of -W variant instead of -Wno-.
As at least gcc and clang do not warn on -Wno-* warning flags, only
when some unrelated warning needs to be emitted.
- Bump po4a version to 0.43 (we are using --porefs wrap option).
- Add support for running the test suite in parallel.
- Specify exec argument for TAP::Harness to gracefully handle non-perl
executables with older versions of the module.
- Require libselinux 2.0.99 for baseline API, remove static linking
support, use pkg-config unconditionally, and perform refinement checks
only if available.
- Check for the required minimal perl version.
- Use builddir instead of CURDIR in man Makefile.am.
- Use cp with -R instead of -r (the former is more portable and not
marked as deprecated by POSIX).
- Print an actual newline instead of a literal \n in lcov output.
- Do not honor DPKG_DATADIR on the installed Dpkg module.
- Pass --as-needed to the linker for dselect to avoid libstdc++ dependency.
Which makes of dselect the only front-end not pulling the C++ run-time.
[ Updated programs translations ]
* Dutch (Frans Spiesschaert). Closes: #841117
* German (Sven Joachim).
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* Dutch (Frans Spiesschaert). Closes: #842187
* German (Helge Kreutzmann).
-- Guillem Jover Sun, 06 Nov 2016 03:09:02 +0100
dpkg (1.18.10) unstable; urgency=medium
[ Guillem Jover ]
* Fix a short-lived memory leak in dpkg archive argument parsing.
* When activating file triggers on conffile purge, use the conffile name
instead of the real pathname it might refer to. This fixes a segfault
when using --instdir, or when the conffile has been moved around and
replaced with a symlink to the target.
Regression introduced in dpkg 1.18.8. Closes: #830267
* Perl modules:
- Disable fixdebugpath feature on unsafe characters in the path.
- Generate reproducible source tarballs by using the new GNU tar
--clamp-mtime option in Dpkg::Source::Archive, to make sure no file
in source packages has an mtime later than the changelog entry time.
- Enable fixdebugpath build flag feature by default.
Thanks to Mattia Rizzolo . Closes: #832179
- Rename various private methods and functions with an underscore prefix
and unified names.
- Refactor perl modules directory list into a new function in Test::Dpkg.
* Test suite:
- Add new POD coverage author test for public perl modules.
* Documentation:
- Document Testsuite-Triggers in dsc(5).
- Fix deb-changes(5) description to talk about .changes instead of .dsc.
Reported by HW42 .
- Use debian/control as the SYNOPSIS in deb-src-control(5).
- Add new deb-conffiles(5) man page.
- Add references to deb-control(5) and deb-triggers(5) in dpkg(1).
- Fix typos for repeated “the” word.
Prompted by Valentin Samir in #830989.
- Fix misspelled -fdebug-prefix-map flag in dpkg-buildflags(1).
Reported by Mattia Rizzolo .
- Remove mention of source format 1.0 supporting building with upstream
tarball signatures from dpkg-source(1), as this was disabled in 1.18.8.
- Document all public methods in Dpkg::Changelog::Entry::Debian.
- Escape dashes in deb-changes(5) and dsc(5) man pages.
- Fix typos in dpkg-shlibdeps(1). Closes: #832434
Thanks to Carsten Leonhardt .
[ Updated programs translations ]
* German (Sven Joachim).
* Turkish (Mert Dirik). Closes: #832070
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Sun, 31 Jul 2016 12:57:02 +0200
dpkg (1.18.9) unstable; urgency=medium
* Require Dpkg::Control::Info in dpkg-buildpackage.
Initially reported by Helmut Grohne .
Regression introduced in dpkg 1.18.8. Closes: #829542
* Documentation:
- Fix user configuration filename in dpkg-buildpackage(1).
Thanks to Sven Joachim . Closes: #829546
-- Guillem Jover Mon, 04 Jul 2016 09:23:13 +0200
dpkg (1.18.8) unstable; urgency=medium
[ Guillem Jover ]
* Do not disable PIE buildflags on */kFreeBSD anymore. Closes: #823877
Thanks to Steven Chamberlain .
* Add new long options in dpkg-buildpackage for any short option that is
a useful configurable candidate.
* Add configuration file support to dpkg-buildpackage, as buildpackage.conf
under either the dpkg system or user configuration directories.
Closes: #539692, #765494
* Check that debian/tests/control is a regular file before parsing it.
* Generate Testsuite-Triggers field from test dependencies in dpkg-source
into .dsc files. Based on a patch by Martin Pitt .
Closes: #779559
* Add new dpkg-source --no-overwrite-dir extraction option. Closes: #826334
* Fix number of entries computation returned by sysctl() on */kFreeBSD in
start-stop-daemon.
* Set return buffer length for sysctl(2) calls on */kFreeBSD in
start-stop-daemon.
* Abstract ar archive handling behind a new struct dpkg_ar and functions.
* On dpkg --force-chrootless only set changedir to instdir if defined.
Thanks to Niall Walsh . Closes: #824542
* Set primary group to 0 in dpkg when running as root.
Reported by Stuart Prescott .
* Activate file triggers for conffiles on purge, which has never happened
before. Before dpkg 1.17.0, conffiles were triggered on removal, which
was obviously wrong. Reported by Helmut Grohne .
* Fix strtol() errno check when parsing the COLUMNS envvar in dpkg-query.
Thanks to Sven Joachim . Closes: #827265
* Use new GNU tar --clamp-mtime option in dpkg-deb to make sure no file in
binary packages has an mtime later than the given time. Closes: #759886
* Use the same timestamp for the ar container as for tarball mtime clamping
in dpkg-deb.
* Set ar timestamp and tar mtime clamping to SOURCE_DATE_EPOCH if defined
in dpkg-deb. Based on a patch by Jérémy Bobbio .
* Preset build timestamp to latest changelog entry in dpkg-buildpackage,
by setting SOURCE_DATE_EPOCH environment variable if it is not already
defined. Based on a patch by Jérémy Bobbio .
Closes: #759999
* Do not use the debian/rules build target fallback when building both
architecture independent and dependent packages in dpkg-buildpackage.
* Use architecture «all» as part of the .changes filename when building
architecture independent binaries and no architecture dependent binaries.
Closes: #826161
* Do not emit warnings from dpkg-genchanges for automatic debug symbol
packages that are not found in debian/control.
* Export SOURCE_DATE_EPOCH from pkg-info.mk makefile snippet.
Closes: #824572
* Architecture support:
- Add TILE-Gx support to cputable. Closes: #823167
Thanks to Helmut Grohne .
* Perl modules:
- Use warnings::warnif() instead of carp() for deprecated warnings.
- Add new format_range() method and deprecate dpkg() and rfc822() methods
in Dpkg::Changelog.
- Replace changelog program parsers with perl modules.
- Add a getter for the Time::Piece object in Dpkg::Changelog.
- Add new Timestamp field to Dpkg::Changelog output, which ends up on
dpkg-parsechangelog's output.
- Validate source version in set_version_substvars()'s Dpkg::Substvars
method.
- Revert "Dpkg::Conf: Switch implementation to be hash based", as this
change broke backwards compatibility in multiple ways. The format_argv
option was set by default, the order was not preserved, which was
important for dpkg.cfg files, and duplicate option names stopped being
supported. Add regression tests to avoid similar changes in the future.
Closes: #824938
- Add support for system and user config loading in Dpkg::Conf.
- Add support for autopkgtest control files, with new CTRL_TESTS control
type, new recognized fields to Dpkg::Control::Fields, and new modules
Dpkg::Control::Tests and Dpkg::Control::Tests::Entry. Also update
Dpkg::Index to support these.
- Fix Dpkg::Deps so that architecture qualifiers only imply one another
if they are the same. Closes: #745366, #827628
- Add support for new environment variable DEB_BUILD_PATH to be able to
control the path in the fixdebugpath feature in Dpkg::Vendor::Debian.
- Preserve order when prepending shared library paths in Dpkg::Shlibs.
This fixes the order of paths passed via dpkg-shlibdeps -l option.
Closes: #823805
- Check whether dependency restrictions are implied in Dpkg::Deps::Simple.
Thanks to Ben Hutchings . Closes: #827633
- Disable upstream tar signature when building format 1.0 source packages
in Dpkg::Source::Package::V1, as the current stable dpkg series do not
support extracting them.
- Preset Last-Update field in patch header template with current time in
Dpkg::Source::Package::V2. Thanks to Daniel Shahaf .
Closes: #828146
* Packaging:
- Disable libmd usage in Debian and derivatives for now.
* Build system:
- Stop allowing to set deprecated bzip2 compressor as dpkg-deb default.
- Use libmd automatically if available.
- Uniformize library build options, from --with-zlib to --with-libz,
--with-bz2 to --with-libbz2 and --with-selinux to --with-libselinux.
* Test suite:
- Bump perlcritic ValuesAndExpressions::RequireNumberSeparators minimum
to 99999.
- Add new pod-spell unit test.
- Refactor common unit test checks for needed things into Test::Dpkg.
- Accept perl's Lancaster Consensus AUTHOR_TESTING variable.
- Add new minimum perl version unit test.
- Add new synopsis unit test.
- Add unit tests for dependency simplification with build profiles.
* Documentation:
- Improve dpkg-buildpackage(1) on environment expectations.
- Clarify the format of the db:Status-Abbrev virtual field in
dpkg-query(1). Closes: #824515
- Document the tar entry size limitation for deb(5) format.
- Document interaction between PIE and libraries in dpkg-buildflags(1).
Based on text by Christian Seiler .
- Merge ENVIRONMENT sections in dpkg-buildflags(1).
- Document various long options in dpkg-source --help output.
- Move dpkg-source -q option from “Build options” to “General options”
section in --help output.
- Clarify shared library search order in dpkg-shlibdeps(1).
- Remove most remaining AUTHOR sections from man an POD, as they are
strongly discouraged, for being redundant, tending to get out-of-sync,
and their format being inconsistent. In addition most got already
removed in the past for the man pages.
- Mark perlcritic as an optional author test dependency in the README.
- Fix example code in Dpkg::Compression::FileHandle SYNOPSIS.
[ Updated programs translations ]
* German (Sven Joachim).
* Simplified Chinese (Zhou Mo). Closes: #824873
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated man pages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover Sun, 03 Jul 2016 19:01:56 +0200
dpkg (1.18.7) unstable; urgency=medium
[ Guillem Jover ]
* Add new dpkg-source --require-strong-checksums option and change default.
There is no point in erroring out on this condition when signature issues
are only warnings, because we cannot guarantee we have functional keys
for old signatures. Regression introduced in dpkg 1.18.5. Closes: #823428
* Stop using several fixed sized buffers for program reporting, which in
many cases could cause confusing truncation of long messages. Use heap
allocated formatted strings instead:
- In start-stop-daemon to report what to stop.
- In dselect to print main and access methods menu entries.
- In libdpkg command-line option parsing errors.
- In libdpkg warning, notice and info reporting.
- In libdpkg ohshit, ohshitv, ohshite and internerr. But in this case
fallback to a fixed-size emergency buffer in case of allocation or
formatting error, so that we can at least print something, even if
truncated.
Prompted by Manuel A. Fernandez Montecelo .
* Colorize all fatal-error printing codepaths in libdpkg.
* Architecture support:
- Bump the GNU triplet cpu from i386 to i686 to match toolchain changes.
Thanks to Ben Hutchings