Changelog
dpkg (1.18.0) unstable; urgency=low
[ Guillem Jover ]
* Only trim trailing “/” and “/.” from «dpkg-query --search» arguments if
they are a pathname, and not a pattern or a substring match.
* Switch C/C++ code to use a new set of C locale character type functions
independent of the current locale.
* Add support for arch-bits and arch-endian dpkg-gensymbols tags.
Closes: #630342
* Switch perl code from legacy File::Path functions to new ones.
* Fix perl uninitialized value usage in dpkg-scansources when the Binary
field is missing.
* Use dpkg-query instead of dpkg for --search in dpkg-shlibdeps so that
the subprocesses get the correct admindir. Closes: #775258
* Rework the Installed-Size field default value computation to make it
reproducible regardless of the build system filesystem, and document
how the value is computed and that it is just an approximation.
Closes: #650077
* Use strftime() instead of «date -R» in dpkg-genchanges, as the latter
is not specified by POSIX and is not widely portable.
* Warn on obsolete '<' and '>' operators in dpkg --compare-versions.
* Trim end of line whitespace from dpkg and dselect config file parsers.
Reported by Christoph Biedl <email address hidden>.
* Do not silently eat a standalone ‘-’ in the libdpkg command-line parser.
* Fix short-lived memory leaks in dpkg-deb and libdpkg. Closes: #769515
* Fix «dpkg-deb -b» filename generation when the package does not contain
an Architecture field. Regression introduced in dpkg 1.16.2.
* Fix «dpkg --audit» to report missing and empty architecture fields.
Regression introduced in dpkg 1.16.2.
* Add support to dpkg-deb for reading the archive from standard input,
except for --raw-extract which does not yet support it. Closes: #616614
Based on a patch by Johannes Schauer <email address hidden>.
* Add ‘.mailmap’ to the default dpkg-source ignore lists.
* Set the SE Linux context on «dpkg-statoverride --update». Closes: #690361
* Do not fail on dpkg-query -W and -l when multiple arguments match the
same package. Closes: #588505
* Change dpkg-maintscript-helper to handle symlinks and pathnames ending in
slash. For the former error out, for the latter strip it. Closes: #771752
* Support moving a conffile not being shipped anymore. Closes: #767003
Thanks to Mathias Behrle <email address hidden>.
* Add a new dpkg-buildflags sanitize feature area:
- Add new “address”, “thread”, “leak” and “undefined” features, all
disabled by default. Closes: #760741
* Do not accept unknown user or group names on «dpkg-statoverride --add».
Regression introduced in dpkg 1.17.11. Closes: #775124
* Normalize dpkg-parsechangelog command-line parsing, so that «-ovalue»,
«-o value», «--option=value» and «--option value» will all be accepted.
Closes: #693951
* Add dpkg --ctrl-tarfile forwarding command for dpkg-deb.
* Disable dependency checks on dpkg-buildpackage -S -nc.
* Make dependency checks fatal for dpkg-buildpackage -S.
* Update amd64 GNU cpu regex in cputable to match amd64 too, in addition
to x86_64. This is required for FreeBSD.
* Use badusage() instead of ohshit() for command-line errors.
* Use the original template symbols file when diffing in dpkg-gensymbols.
We should not create a new template symbols file, because the output
might change (different sorting order for example) relative to the
original. Closes: #773718
* Do not leak kvm descriptors in start-stop-daemon on GNU/kFreeBSD systems.
Based on a patch by Jeff Epler <email address hidden>. Closes: #779467
* Switch start-stop-daemon to use a monotonic clock if available. This
makes the timeout checks resilient to abrupt system clock changes.
Suggested by Jose M Calhariz <email address hidden>. Closes: #783014
* Fix perl warning in dpkg-genchanges when parsing BY-HAND file entries.
Regression introduced in dpkg 1.17.7. Closes: #781074
* Use the checksums files list order when building the Files field to match
the other Checksum fields in dpkg-genchanges.
* Skip files based on the architecture from the filename in dpkg-genchanges.
* Allow binary packages not found in debian/control in dpkg-genchanges,
which could allow injecting debug .debs for example.
* Annotate any non-deb binary descriptions (not just udebs) with their
package type in dpkg-genchanges.
* Remove outdated local copy of the Debian README.mirrors.txt file from
dselect ftp access method, and print a message pointing to the current
URL instead. Closes: #784966
* Cleanup default dpkg-shlibdeps shared library directory search list:
- Do not add cross-root directories (/<triplet>/ and /usr/<triplet>/).
- Remove ancient multilib /emul/ia32-linux/ paths.
- Reorder directory precedence to:
«dpkg-shlibdeps -l» > ENV{LD_LIBRARY_PATHS} > cross-multiarch >
DEFAULT_LIBRARY_PATH > ld.so.conf > DEFAULT_MULTILIB_PATH
* When upgrading, copy over the cached arch-qualified package name. This
fixes wrong output when cross-grading.
* Consider foreign packages ambiguous in need of an arch-qualifier.
* Perl modules:
- Rename and deprecate Dpkg::Gettext _g function with new g_.
- Assume in Dpkg::Arch that the abitable is always present, and bump
libdpkg-perl Depends on dpkg to 1.16.3, the version introducing the file.
- Remove support for GCC_TARGET environment variable from Dpkg::Shlibs.
This was a temporary workaround for very old gcc toolchains. See #453267.
- Prefer multiarch paths to multilib ones in Dpkg::Shlibs.
Thanks to Helmut Grohne <email address hidden>. Closes: #772184
- Enable sub-second timestamps in Dpkg::Source::Patch by using Time::HiRes.
- Use TMPDIR instead of manually setting DIR on tempfile() call in
Dpkg::Source::Package::V2.
- Switch Dpkg::Checksums from using checksum programs to the more portable
Digest modules. Obsolete the 'program' property, and add a 'name' one.
- Add support for $DEFAULT_TEXT_DOMAIN to Dpkg::Gettext, so that the Dpkg
perl modules can always produce localized messages.
- Fix OpenPGP Armor Header Line parsing in Dpkg::Control::Hash. We should
only accept [\r\t ] as trailing whitespace, although RFC4880 does not
clarify what whitespace really maps to, we should really match the GnuPG
implementation anyway, as that's what we use to verify the signatures.
Reported by Jann Horn <email address hidden>. Fixes CVE-2015-0840.
- Pass PATCH_GET environment varialbe instead of -g0 to the patch command
in Dpkg::Source::Patch. This allows using non-GNU patch programs, like
FreeBSD's patch.
- Accept an %opts argument for the Dpkg::Control::Info constructor, and
accept either passing a filename option as undef, or a scalar undef.
Closes: #782019
- Do not print on undef filehandle in Dpkg::Control::Info output().
Thanks to Roderich Schupp <email address hidden>. Closes: #781887
- Always sort the Dpkg::Dist::Files files list on output, instead of
preserving the insertion order, which is not reproducible with parallel
builds. Reported by Jérémy Bobbio <email address hidden>.
- Add new filter() method to Dpkg::Substvars.
- Kill the process when reaching timeout in Dpkg::IPC::wait_child().
* Test suite:
- Check perl code compilation, warnings and strictness.
- Fix dpkg-divert unit test to work on BSD «rm -rf» that cannot traverse
directories with mode 000.
- Fix dpkg-divert unit test to work when there is no /dev/full.
- Skip test cases when there is no c++filt available.
- Add test cases for Dpkg::Conf and Dpkg::Checksums.
- Handle libtool executables in progname unit test.
- Do not use a timeout when testing cat I/O, speeds up test suite by 5s.
- Reduce timeout test from 5 seconds to 1, to speed up test suite by 4s.
* Build system:
- Bump gettext version to 0.19:
+ Use --add-location=file in msgmerge and xgettext commands.
+ Use --porefs=noline for po4a command.
- Wrap file references in man page PO files with po4a --porefs=wrap.
- Fix support for cross-building dpkg:
+ Assume a working C99 snprintf on SUS >= v3.
+ Do not try to run the va_copy configure check, just check that the
symbol is available.
- Check that HAVE_DECL_SYS_SIGLIST is 0 instead of undefined, to fix a
build failure on uclibc based systems. Closes: #777044
Based on a patch by Alex Potapenko <email address hidden>.
- Use single suffix rules instead of non-portable %-pattern rules.
- Pass CC to the test suite, so that we can use a non-gcc compiler.
- Call AM_PROG_AR to detect the correct system archiver to use.
- Pass -Wall to automake in AM_INIT_AUTOMAKE, not implied by foreign.
* Packaging:
- Remove old trigger related Breaks and Conflicts from dpkg.
- Only use stackprotectorstrong when building dpkg with gcc >= 4.9.
- Switch to debhelper compatibility level 9.
- Name each public-domain license with a different name.
- Add missing public modules to dpkg-dev package description.
- Get rid of backward compatibility pseudo-tags from bug reports.
- Install doc/README.feature-removal-schedule only on affected packages
and debian/usertags everywhere.
* Documentation:
- Document arch-qualifiers for dependency fields in deb-control(5) and
deb-src-control(5). Reported by Johannes Schauer <email address hidden>.
Closes: #768842
- Document versioned Provides in deb-control(5).
- Document the version when dpkg-deb --raw-extract got introduced.
- Document dpkg --log format, add missing actions and describe the startup
messages. Closes: #773398
- Document when and how the dpkg-maintscript-helper package name argument
is or should be arch-qualified. Closes: #776072
- Fix and update Arch substvar description in deb-substvars(5).
- Document that current build flag feature areas only work on Debian and
derivatives in dpkg-buildflags(1).
- Use “wildcard characters” instead of “wildchars” in dpkg-query(1).
- Document dpkg-query --search behavior in man page. Closes: #775379
- Document postinst “triggered” argument in debian/dpkg.postinst comment
header.
- Document Dpkg::IPC function signatures.
- Document the obsolete --compare-versions '<' and '>' operators in the
dpkg(1) man page. Thanks to Tomas Pospisek <email address hidden>.
Closes: #776551
- Move dpkg-divert, dpkg-statoverride and update-alternatives man pages
from section 8 to 1, to match their installation path.
- Capitalize dpkg-parsechangelog(1) option descriptions.
- Mark dpkg-parsechangelog(1) --format values in bold.
- Place short options before long ones in dpkg-mergechangelogs(1) and
dselect(1) man pages.
- Properly terminate a bold marking in dpkg(1).
- Document in man pages the dpkg version when new features were introduced.
- Document that timestamps are reset for files patched with source format
“3.0 (quilt)” too.
- Document in dpkg-buildpackage(1) that using dpkg-source is sometimes
better than -S. Suggested by Johannes Schauer <email address hidden>.
- Document dselect -? option.
- Document in dpkg-buildflags(1) that DEB_VENDOR influences the execution.
- Document that dpkg performs sanity checks on PATH.
- Mark some words and commands as non-hyphenable in man pages.
- Separate multi-line hanging tag paragraphs with .TQ in man pages.
- Mark field names in bold in man pages.
- Use various groff escape sequences for quoting characters.
- Lowercase warning and note admonitions in start-stop-daemon(8).
- Mark dselect(1) color attributes in bold.
- Say output instead of display for dpkg-deb tar-file option in dpkg(1).
- Say archive instead of filename for dpkg-deb option in dpkg(1).
- Say control-field-name instead of control-file-field in dpkg-deb(1).
- Fix option values and pathname markup in dpkg-deb(1).
- Use .TQ to separate different but related options in dpkg(1).
- Clarify that dpkg-buildpackage -jN forces parallel builds, regardless of
the packaging or upstream build systems supporting them. Closes: #780866
- Remove unneeded update-alternatives references from options descriptions.
- Document that apt might expect Packages.xz too in dpkg-scanpackages(1).
- Say METHODS instead of FUNCTIONS or OBJECT FOO in POD section titles.
- Document dpkg version when perl module versions got bumped.
* Output message fixes and improvements:
- Remove trailing newline from string literal in warning calls.
- Say “execute” instead of “exec” in Dpkg::Changelog::Parse error message.
- Say “package” instead of “it” in dpkg-name warning message.
- Uppercase field names in error messages.
- Expand EOF and eof into “end of file” in error messages.
- Use “<enter>” instead of “return” or “enter” in input prompts.
- Say directory instead of dir in output messages.
- Merge the same dpkg-scanpackages warning messages into a single line.
- Clarify dpkg-genchanges changes description open error.
- Add missing preposition in Dpkg::Source::Patch error message.
- Improve available state sorting order strings in dselect panel.
- Say “changelog-file” instead of “changelogfile” in --help output.
- Say “command“ instead of “action“ for dselect.
- Improve commands listing in «dselect --help» output, by printing them
before options and listing them one on each line with a description.
- Improve dselect color-spec --help output.
- Move "(default)" annotations in scripts --help output after option
description.
- Consistently use proper quotation marks ("" or '', and not the
unbalanced `' pair) all over the place.
- Use syserr() instead of an ad-hoc error message in dpkg-scansources.
- Say substvars instead of varlist in dpkg-shlibdeps error messages.
- Fix error messages on invalid uid/git/mode command-line syntax errors
in dpkg-statoverride, to not say they are from the statoverride file.
- Fix error message on empty dsc file in dpkg-genchanges.
- Mention “(^Z)” instead of “char” for the MSDOS end of file character.
[ Raphaël Hertzog ]
* Drop myself from Uploaders.
[ Updated programs translations ]
* Simplified Chinese (Zhou Mo). Closes: #782326
* Turkish (Mert Dirik). Closes: #785096
* Vietnamese (Trần Ngọc Quân).
[ Updated scripts translations ]
* German (Helge Kreutzmann).
[ Updated manpages translations ]
* German (Helge Kreutzmann).
-- Guillem Jover <email address hidden> Mon, 18 May 2015 15:08:31 +0200