Changelog
dpkg (1.15.6) experimental; urgency=low
[ Raphaël Hertzog ]
* debian/control: Add the accent on my first name.
* Perl API cleanup:
- rename Dpkg::Deps dump() methods into output([$fh]), overload string
representation ("$dep") to provide the result of $dep->output()
- prefix public functions in Dpkg::Deps with deps_ and export them
by default
- rename Dpkg::Source::Compressor in Dpkg::Compression::Process
- rename Dpkg::Source::CompressedFile in Dpkg::Compression::FileHandle
and completely redesign its API
- update Dpkg::Compression's API to use compression_* functions
instead of granting direct access to variables, integrate
there management of default compression
- introduce Dpkg::Interface::Storable and update many modules
to make use of it
- update Dpkg::BuildOptions to provide an object-oriented interface
- update Dpkg::Checksums to provide an object-oriented interface
* Drop debian-maintainers from Suggests since it's obsolete, the
corresponding keyring is in debian-keyring.
* Merge support of symbol patterns in dpkg-gensymbols. Thanks to
Modestas Vainius for his work (see further for more details).
* Accept filename with spaces and colon in the output of objdump.
Required so that dpkg-shlibdeps support such files properly.
Thanks to Raphaël Geissert for the patch. Closes: #565712
* When unpacking a "3.0 (quilt)" source package, tell quilt where
patches are (to be) stored. Requires quilt >= 0.48-5 to work.
Closes: #557619
* Fix update-alternatives to not try to reinstall an unknown alternative
when the link group is broken, instead switch to the best choice in
automatic mode. Closes: #566406
* Don't return duplicate bug numbers in Launchpad-Bugs-Fixed:.
Thanks to Brian Murray <email address hidden> for the report
and the patch. Closes: #569618
* Add $VERSION numbers to all perl modules. Closes: #465256
1.00 and higher means that the API should be stable
* While parsing diff's output, accept any sentence that contains the word
differ (as specified by POSIX) to identify that binary files could not be
compared. Closes: #570008
* dpkg-gencontrol does no longer accept arch-specific dependencies in
arch: all packages. Closes: #560071
* dpkg-gencontrol no longer warns if a substitution variable provided by -V
is not used (the warning is meant to catch unused substitutions coming
from the file, those are package specific with debhelper). Closes: #557133
* dpkg-gencontrol now indicates which package is concerned by the substvars
warning that it displays. Closes: #566837
* dpkg-buildpackage now supports options --source-option=<opt> and
--changes-option=<opt> to forward arbitrary options to dpkg-source and
dpkg-genchanges respectively. Closes: #566230
* The -T option of dpkg-{source,gencontrol,genchanges} can now be used
multiple times to read substitution variables from multiple files.
Closes: #363323
* dpkg-source now supports an option --create-empty-orig in formats
"2.0" and "3.0 (quilt)" to auto-create the main original tarball when
there are supplementary tarballs. This makes it easier to bundle
multiple software together. Closes: #554488
* dpkg-source supports long option names --diff-ignore and --tar-ignore for
-i and -I. A new option --extend-diff-ignore is introduced. Those options
can thus now be used in debian/source/options.
* Generate manual pages for perl modules.
* Introduce the libdpkg-perl package and clarify its status in README.api.
* Update Standards-Version to 3.8.4 (no changes needed).
* Drop unused lintian override for arch-dep-package-has-big-usr-share on
dselect.
* The rewritten Dpkg::Checksums deals properly with filenames with
spaces. Closes: #572030
* dpkg-source does no longer fallback to other source formats if the
requested one is not usable. Closes: #557459
* Modify dpkg-source to error out when it would apply patches containing
insecure paths (with "/../") and also error out when it would apply a
patch through a symlink. Those checks are required as patch will happily
modify files outside of the target directory and unpacking a source package
should not be able to have any side-effect outside of the target
directory. Fixes CVE-2010-0396.
* Also error out when the quilt series contains a path with "/../" as this
can cause patch to create files outside of the source package due
to the -B .pc/$path option that it gets.
[ Guillem Jover ]
* Handle argument parsing in dpkg-checkbuilddeps and dpkg-scanpackages
in a way consistent with the rest of the tools.
* Recognize --help in addition to -h in dpkg-checkbuilddeps.
* Add a --version option to dpkg-checkbuilddeps.
* Improve and mark more messages in writedb() to make translators lifes
easier. Closes: #408525
* Improve update-alternatives --display output to use two leading spaces
for current link and slave information. Use single quotes for both “best”
and the alternative it's pointing to. Closes: #549167
* Refer to “half configured” instead of “failed config” in «dpkg-query -l»
header and dselect package status printing for consistency.
* Make “dpkg-statoverride --quiet” actually do something, and quiesce
most of the inoquous warning messages. Closes: #403211
* Make “dpkg-statoverride --update --add” fail if it cannot update the
mode and owner of the file. This would fail later on when dpkg itself
applies the overrides, so better to signal this earlier.
* Add sparc64 to cputable. Thanks to Aurelien Jarno <email address hidden>.
Closes: #560010
* Do not allow diverting a file to itself, which makes the file to get
removed. Closes: #312206
* Make the check for duplicate fields in a stanza in libdpkg actually work,
which now makes it fatal, as was intended originally. This should not
cause problems for anything using dpkg-dev to build packages as those
are already fatal on that case.
* Add new deb-split(5) man page.
* Fix misspellings of “explicitly” all over the place.
* Normalize ar member names when reading (removing trailing spaces and
slash), this allows deb-split packages be created with GNU ar.
* Validate compression level on dpkg-deb argument parsing.
* Fix error handling, clean up and refactor compression code.
Thanks to Jonathan Nieder for several of the patches.
* Do not print unambiguous epoch on dpkg file overwrite error.
* Rename Dpkg::IPC::fork_and_exec() to Dpkg::IPC::spawn().
* Change dpkg-dev to Depend on perl instead of perl5 and perl-modules.
* Fix small memory leaks related to scandir() in dpkg-deb and libdpkg.
* Fix dpkg-query and dpkg-trigger to actually print a version on --version.
* Always spawn a new shell on conffile prompt, instead of supporting
self backgrounding, remove DPKG_NO_TSTP environment variable support.
Closes: #38334
* Set DPKG_SHELL_REASON, DPKG_CONFFILE_OLD and DPKG_CONFFILE_NEW environment
variables when spawning a shell for conffile examination. Closes: #60329
Thanks to Daniel Martin <email address hidden> for the idea.
* Add support for disabling update-alternatives at configure time using
--withouth-update-alternatives.
* Add support for disabling install-info at configure time using
--withouth-install-info.
* Update debian/copyright.
* Use Debian instead of ‘Debian GNU/Linux’ when referring to the
distribution.
* On dpkg --no-act with --install, --unpack or --record-avail, and
dpkg-deb --info or --field use mkdtemp() to create a temporary directory
instead of insecure tempnam() or tmpnam() functions.
* Remove --license and --licence options from tools.
* Securely remove newly installed files when rolling-back a failed unpack.
* Change default lzma compression level from 9 to 6.
Thanks to Jonathan Nieder for the initial patch.
* Add support for xz compressed data.tar member of binary packages. Add
xz-utils to dpkg's Pre-Depends. Closes: #542160
Thanks to Jonathan Nieder for the initial patch.
* Use xz command to handle lzma compressed files in dpkg and dpkg-dev.
This removes the lzma package from both dpkg and dpkg-dev dependencies.
* Do not set PKG_CONFIG_LIBDIR in dpkg-buildpackage when cross-building.
The proper solution to this is to let the build system choose the
appropriate pkg-config binary for the build or host system in the same
way pkg.m4 is handling it now. Closes: #551118
* Dynamically link against all external libraries. This includes libbz2
and zlib for dpkg-deb and and libselinux for dpkg on GNU/Linux.
* Mark the libdpkg.a API as volatile and require any possible users to set
LIBDPKG_VOLATILE_API to acknowledge that fact.
* Add a new libdpkg-dev package with the headers and the static library,
although its API should be considered volatile.
* Reorganize the doc contents that goes into each package:
- README.multicd only in dselect.
- README.api only in development packages, dpkg-dev and libdpkg-dev.
- triggers.txt only in dpkg-dev.
* Move source.lintian-overrides to debian/source/lintian-overrides.
* Switch SE Linux support to explicitly set path context. This fixes the
mislabeling of files under <admindir> on conffile extraction or on unpack
errors, due to improper default context restoration. Closes: #498438
* Use FIEMAP when available (on Linux based systems) to sort the .list
files loading order. With a cold cache it improves up to a 70%.
Thanks to Morten Hustveit <email address hidden>.
* When FIEMAP is not available use posix_fadvise() to start preloading the
.list files before loading them. With a cold cache it improves up to 40%.
Thanks to Stefan Fritsch <email address hidden>. Closes: #557560
* Call fsync(2) after writting files on disk, to get the atomicity
guarantees when doing rename(2). Based on a patch by
Jean-Baptiste Lallement <email address hidden>.
Closes: #430958
* Call fsync(2) on database directories after creating, renaming or
unlinking files, to guarantee the new file entry is correctly listed
in the directory. Base on a patch by
Jean-Baptiste Lallement <email address hidden>.
* Document in the man page the effects of setting TMPDIR for dpkg and
dpkg-deb, HOME for dselect and dpkg and PAGER for dpkg. Closes: #572836
* Document the exit codes for dpkg-query. Closes: #571798
* Document “dpkg-query -l” abbreviated state information in the man page.
Based on a patch by Marc-Jano Knopp <email address hidden>.
Closes: #383869
* Honour LINGUAS environment variable when installing translated man pages.
* Allow disabling at configure time Unicode ncurses support for dselect.
Based on a patch by Yuri Vasilevski <email address hidden>.
[ Modestas Vainius ]
* Implement symbol patterns (Closes: #563752). From now on, it is possible to
match multiple symbols with a single entry in the symbol file template.
While the concept is not new (wildcards also match multiple symbols),
patterns cover much more ground and are a lot more flexible. Together with
the framework, 3 basic pattern types are supported:
- c++ - matching C++ symbols by their demangled name (as emitted by
c++filt);
- symver - matching by symbol version. It replaces the wildcards feature
which is still supported for backwards compatibility but is reimplemented
on top of the new framework;
- regex - matching symbol names with perl regular expression.
Basic patterns may be combined where it makes sense.
* As a positive side effect of the new symbol patterns implementation,
patterns are now treated like normal symbols whenever possible, e.g. a
pattern is MISSING if it does not match anything. As a result,
dpkg-gensymbols is now able to detect NEW/MISSING symbols when patterns are
present in the symbol file (Closes: #541464). Please note, however, that
there is no way to detect symbol changes in the pattern match sets.
* Add source version to the dpkg-gensymbols diff label, reformat it according
to the rules of dpkg-name.
* Add -a<arch> option to dpkg-gensymbols.
* Add -q option to dpkg-gensymbols. -c0 will never fail but still generate a
diff. Use -c0 -q to keep dpkg-gensymbols completely quiet as before
(Closes: #568228).
[ Jonathan Nieder ]
* Fix a file handle leak in “dpkg-deb --info”. Thanks to Raphael Geissert
for the report and patch.
[ Helge Kreutzmann ]
* Add dpkg-gensymbols.1 to the translatable man page set.
[ Updated dpkg translations ]
* Catalan (Guillem Jover).
* French (Christian PERRIER).
* German (Sven Joachim).
* Italian 'Milo Casagrande). Closes: #567531
* Simplified Chinese (Aron Xua). Closes: #558794
* Slovak (Ivan Masár). Closes: #559269
* Swedish (Peter Krefting).
[ Updated dselect translations ]
* Catalan (Guillem Jover).
* German (Sven Joachim).
* Spanish (Javier Fernández-Sanguino). Closes: #572861
* Swedish (Peter Krefting).
[ Updated man page translations ]
* French (Christian Perrier): correcting inconsistencies for the translation
of "original" here and there. Thanks to Julien Valroff for pointing this.
* German (Helge Kreutzmann).
* Swedish (Peter Krefting).
[ Updated scripts translations ]
* Catalan (Guillem Jover).
* French (Christian PERRIER).
* German (Helge Kreutzmann).
* Swedish (Peter Krefting).
-- Guillem Jover <email address hidden> Fri, 12 Mar 2010 00:15:31 +0100