-
dpkg (1.18.24ubuntu1) artful; urgency=medium
* Merge from current Debian testing; remaining Ubuntu changes:
- Change native source version/format mismatch errors into warnings
until the dust settles on Debian bug 737634 about override options.
- Add DPKG_UNTRANSLATED_MESSAGES environment check so that higher-level
tools can get untranslated dpkg terminal log messages while at the
same time having translated debconf prompts.
- Special-case arm{el,hf} ELF objects in Shlibs/Objdump.pm for multilib.
- Map unqualified package names of multiarch-same packages to the native
arch instead of throwing an error, so that we don't break on upgrade
when there are unqualified names stored in the dpkg trigger database.
- Apply a workaround from mvo to consider ^rc packages as multiarch,
during the dpkg consistency checks. (see LP: 1015567 and 1057367).
- dpkg-gencontrol: Fix Package-Type override handling for ddeb support.
* scripts/Dpkg/Vendor/Ubuntu.pm: Drop hardening changes merged upstream.
* dpkg-buildpackage: Drop stale debian/files cleaning, solved differently.
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 <email address hidden>.
* 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 <email address hidden>.
* Perl modules:
- Remove obsolete hardening-wrapper support from Dpkg::Vendor::Ubuntu.
Thanks to Adam Conrad <adconrad@0c3.net>.
- 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 <email address hidden>.
- Do not include mispellings 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).
-- Adam Conrad <email address hidden> Mon, 05 Jun 2017 11:35:51 -0600
-
dpkg (1.18.23ubuntu7) artful; urgency=medium
* scripts/Dpkg/Vendor/Debian.pm: Re-enable PIE on all architectures.
-- Adam Conrad <email address hidden> Tue, 09 May 2017 23:48:36 -0600
-
dpkg (1.18.23ubuntu6) artful; urgency=medium
* dpkg-buildpackage: Move debian/files test and removal to after clean.
-- Adam Conrad <email address hidden> Tue, 09 May 2017 23:45:31 -0600
-
dpkg (1.18.23ubuntu5) artful; urgency=medium
* dpkg-buildpackage: Remove stale debian/files during initialisation.
-- Adam Conrad <email address hidden> Tue, 09 May 2017 22:05:49 -0600
-
dpkg (1.18.23ubuntu4) artful; urgency=medium
* dpkg-genchanges: Add buildinfo files to changes now that LP is fixed.
-- Adam Conrad <email address hidden> Fri, 21 Apr 2017 12:00:18 -0600
-
dpkg (1.18.23ubuntu3) artful; urgency=medium
* dpkg-gencontrol: Fix Package-Type override handling (LP: #1623256)
-- Adam Conrad <email address hidden> Thu, 20 Apr 2017 20:51:40 -0600
-
dpkg (1.18.23ubuntu2) artful; urgency=medium
* dpkg-genchanges: Don't add buildinfo files to the changes file.
dpkg (1.18.23ubuntu1) artful; urgency=medium
* Merge from Debian (LP: #1654905, #1652945); remaining Ubuntu changes:
- Change native source version/format mismatch errors into warnings
until the dust settles on Debian bug 737634 about override options.
- Add DPKG_UNTRANSLATED_MESSAGES environment check so that higher-level
tools can get untranslated dpkg terminal log messages while at the
same time having translated debconf prompts.
- Special-case arm{el,hf} ELF objects in Shlibs/Objdump.pm for multilib.
- Map unqualified package names of multiarch-same packages to the native
arch instead of throwing an error, so that we don't break on upgrade
when there are unqualified names stored in the dpkg trigger database.
- Apply a workaround from mvo to consider ^rc packages as multiarch,
during the dpkg consistency checks. (see LP: 1015567 and 1057367).
* scripts/Dpkg/Vendor/Ubuntu.pm: Drop obsolete hardening-wrapper control.
* scripts/Dpkg/Vendor/Debian.pm: Adjust PIE builtin architecture list.
dpkg (1.18.23) unstable; urgency=medium
* 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 <email address hidden>.
* 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 <email address hidden>.
- 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 <email address hidden>.
- 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 <email address hidden>.
- 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 <email address hidden>.
- Document dpkg-source --before-build and --after-build in --help output.
- Document dpkg-buildpackage --ignore-builtin-builddeps in --help output.
* Build system:
- Check <sys/proc.h> by also including <sys/param.h>, 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
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 <email address hidden>.
* 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).
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).
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).
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 <email address hidden>.
* 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 <email address hidden>.
* 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 <email address hidden>.
- 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 <email address hidden>.
* 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).
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 <email address hidden>.
* 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).
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 <email address hidden>. 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).
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 alleviated 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-<thing> commands to validate the syntax of
various <thing>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 <email address hidden>.
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).
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 <email address hidden>. 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 <email address hidden>.
* 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 <email address hidden>.
* 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).
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 <email address hidden>
- 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 <email address hidden>.
- New module Dpkg::Build::Info module refactored from dpkg-genbuildinfo.
Requested by Johannes Schauer <email address hidden>.
* 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 <email address hidden>.
* 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).
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 <email address hidden>.
- 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 <email address hidden>.
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).
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 <email address hidden>.
* Add support to dpkg-scanpackages for scanning a single binary file.
Thanks to Javier Serrano Polo <email address hidden>. 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 <email address hidden>.
* 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 <new> for new and delete operator declarations.
* Do not log nor print duplicate dpkg removal action. We print
“Removing <package> (<version>)” 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 <email address hidden>. 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 <email address hidden>.
* 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 <string.h> 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 <email address hidden>.
- 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 <sys/sysmacros.h> on AIX for major() and minor().
- Add missing <errno.h> 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 <email address hidden>.
- 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 <email address hidden>.
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 <email address hidden>
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 <email address hidden>.
- Document the .changes filename that dpkg-buildpackage generates in
dpkg-buildpackage(1). Prompted by Johannes Schauer <email address hidden>.
- 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 <email address hidden>.
- 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 <email address hidden>.
- Document the behavior for consecutive calls to Dpkg perl module parse()
methods. Prompted by Johannes Schauer <email address hidden>.
- 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<warning> variant instead of -Wno-<warning>.
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).
-- Adam Conrad <email address hidden> Thu, 20 Apr 2017 19:43:01 -0600
-
dpkg (1.18.23ubuntu1) artful; urgency=medium
* Merge from Debian (LP: #1654905, #1652945); remaining Ubuntu changes:
- Change native source version/format mismatch errors into warnings
until the dust settles on Debian bug 737634 about override options.
- Add DPKG_UNTRANSLATED_MESSAGES environment check so that higher-level
tools can get untranslated dpkg terminal log messages while at the
same time having translated debconf prompts.
- Special-case arm{el,hf} ELF objects in Shlibs/Objdump.pm for multilib.
- Map unqualified package names of multiarch-same packages to the native
arch instead of throwing an error, so that we don't break on upgrade
when there are unqualified names stored in the dpkg trigger database.
- Apply a workaround from mvo to consider ^rc packages as multiarch,
during the dpkg consistency checks. (see LP: 1015567 and 1057367).
* scripts/Dpkg/Vendor/Ubuntu.pm: Drop obsolete hardening-wrapper control.
* scripts/Dpkg/Vendor/Debian.pm: Adjust PIE builtin architecture list.
dpkg (1.18.23) unstable; urgency=medium
* 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 <email address hidden>.
* 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 <email address hidden>.
- 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 <email address hidden>.
- 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 <email address hidden>.
- 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 <email address hidden>.
- Document dpkg-source --before-build and --after-build in --help output.
- Document dpkg-buildpackage --ignore-builtin-builddeps in --help output.
* Build system:
- Check <sys/proc.h> by also including <sys/param.h>, 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
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 <email address hidden>.
* 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).
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).
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).
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 <email address hidden>.
* 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 <email address hidden>.
* 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 <email address hidden>.
- 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 <email address hidden>.
* 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).
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 <email address hidden>.
* 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).
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 <email address hidden>. 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).
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 alleviated 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-<thing> commands to validate the syntax of
various <thing>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 <email address hidden>.
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).
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 <email address hidden>. 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 <email address hidden>.
* 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 <email address hidden>.
* 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).
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 <email address hidden>
- 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 <email address hidden>.
- New module Dpkg::Build::Info module refactored from dpkg-genbuildinfo.
Requested by Johannes Schauer <email address hidden>.
* 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 <email address hidden>.
* 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).
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 <email address hidden>.
- 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 <email address hidden>.
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).
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 <email address hidden>.
* Add support to dpkg-scanpackages for scanning a single binary file.
Thanks to Javier Serrano Polo <email address hidden>. 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 <email address hidden>.
* 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 <new> for new and delete operator declarations.
* Do not log nor print duplicate dpkg removal action. We print
“Removing <package> (<version>)” 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 <email address hidden>. 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 <email address hidden>.
* 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 <string.h> 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 <email address hidden>.
- 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 <sys/sysmacros.h> on AIX for major() and minor().
- Add missing <errno.h> 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 <email address hidden>.
- 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 <email address hidden>.
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 <email address hidden>
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 <email address hidden>.
- Document the .changes filename that dpkg-buildpackage generates in
dpkg-buildpackage(1). Prompted by Johannes Schauer <email address hidden>.
- 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 <email address hidden>.
- 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 <email address hidden>.
- Document the behavior for consecutive calls to Dpkg perl module parse()
methods. Prompted by Johannes Schauer <email address hidden>.
- 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<warning> variant instead of -Wno-<warning>.
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).
-- Adam Conrad <email address hidden> Wed, 19 Apr 2017 10:28:59 -0600
-
dpkg (1.18.10ubuntu2) zesty; urgency=medium
* Cherry-pick patch from git to limit preallocation to files over
16KiB, fixing installation performance regression (LP: #1663749)
-- Adam Conrad <email address hidden> Mon, 10 Apr 2017 04:08:19 -0600