Raphael Hertzog [Wed, 28 Nov 2007 13:58:55 +0000 (14:58 +0100)]
dpkg-shlibdeps(1): expand manual page with explanations concerning failures
* scripts/dpkg-shlibdeps.pl: Harmonize a failure message.
* man/dpkg-shlibdeps.1: Provide explanations concerning the two
failures that dpkg-shlibdeps might generate. This is needed so
that maintainers have an idea of what to do to fix the problems.
Raphael Hertzog [Sun, 25 Nov 2007 15:54:20 +0000 (15:54 +0000)]
dpkg-shlibdeps: do not fail if it can't find unversioned libraries
Skip the check on symbols when some libs were not found because one
can not be sure that the symbols was not provided by the missing
library. Also improve the corresponding error message which is
downgraded to a warning for unversioned libraries.
Raphael Hertzog [Wed, 28 Nov 2007 09:33:53 +0000 (10:33 +0100)]
dpkg-shlibdeps: Always try the realpath of the lib as fallback to identify the associated package
* scripts/dpkg-shlibdeps.pl (find_packages): Make sure to always
return [''] for a miss in the 'dpkg -S' query.
* scripts/dpkg-shlibdeps.pl: Always try the realpath($lib) as
fallback to identify the package (even if it's not a symlink)
because due to broken RPATH we might get library filenames such as
"/usr/lib/gcc/i486-linux-gnu/4.2.3/../../../../lib/libssl.so.9.8"
which is not a symlink and which can still be simplified to
"/usr/lib/libssl.so.9.8" with realpath().
Raphael Hertzog [Fri, 23 Nov 2007 09:46:37 +0000 (10:46 +0100)]
dpkg-shlibdeps: add some cases where the lack of dependency information is ignored
Look for libs in the package's build tree even if that package doesn't
contain an shlibs file. Then don't complain about missing dependency
information if the lib is in the same package than the binary. Also ignore
it if the library is not versionned and can't have an shlibs file.
Guillem Jover [Fri, 23 Nov 2007 02:42:25 +0000 (04:42 +0200)]
Dpkg::Arch: Make get_host_arch and get_build_arch read from the environment
All scripts calling get_host_arch are expected to support getting the
value overriden by the environment when cross building. Except for
dpkg-architecture, which needs more fine grained control, and calls
directly the get_raw_ functions.
Raphael Hertzog [Thu, 22 Nov 2007 17:35:34 +0000 (18:35 +0100)]
dpkg-source: fix regex used to identify extension of .orig tarball
Regex special meta-characters (mainly like "+" in versions) embedded in $basename
made the regex fail which resulted in unwanted upgrade of source packages to
Format: 2.0.
Raphael Hertzog [Thu, 22 Nov 2007 11:22:14 +0000 (12:22 +0100)]
Dpkg::Shlibs: Always consider all paths from LD_LIBRARY_PATH
Paths listed in LD_LIBRARY_PATH were not added at the beginning of the search
path if they were part of the default search paths. Remove this restriction
so that it's possible to change the search order in default paths by using
this variable.
Raphael Hertzog [Wed, 21 Nov 2007 16:00:41 +0000 (17:00 +0100)]
Add new module Dpkg::Fields replacing parts of controllib.pl
New module containing 3 functions moved out of controllib.pl (capit(),
set_field_importance(), sort_by_field_importance()). Adapt all the scripts
accordingly.
Raphael Hertzog [Wed, 21 Nov 2007 10:53:19 +0000 (11:53 +0100)]
Add non-regression tests for the identification of public libraries and executables
Make sure that Dpkg::Shlibs::Objdump::Object::is_public_library() and is_executable()
work as expected for a private library (Pg.so of the libdb-pg-perl package), a public
library (libc6) and an executable (ls). Also fix some typo in those functions (urgh).
Raphael Hertzog [Mon, 19 Nov 2007 21:10:55 +0000 (22:10 +0100)]
Bug fix in Dpkg::Path::get_pkg_root_dir() and related changes in dpkg-shlibdeps
* scripts/Dpkg/Path.pm: Fix behaviour of get_pkg_root_dir() when there's
no DEBIAN subdirectory in none of the parent directories.
* scripts/dpkg-shlibdeps.pl: Handle undef values returned by
get_pkg_root_dir() and complain when it's likely to create a problem (when
a RPATH contains $ORIGIN and when the value of this variable can't be
determined because we don't know what is the root directory of the
temporary tree).
Peter Karlsson [Fri, 26 Oct 2007 09:31:18 +0000 (10:31 +0100)]
Swedish translation update.
Regenerated script translations for all languages and updated Swedish
translation. Also updated the Swedish manual page translation now that
I have the translation for the strings that were added to the scripts
but not in the previous version of the scripts POT file. I did not
translate that last round to avoid having inconsistencies in the
translated strings.
Raphael Hertzog [Mon, 15 Oct 2007 10:19:59 +0000 (12:19 +0200)]
dpkg-gencontrol: use the new Dpkg::Deps module to rewrite the dependencies
Normal dependency fields are rewritten by order of importance and simplified
by taking into account the dependencies already parsed. The dependencies are
also sorted to have a more predictable output (which is easier to compare in
a debdiff output).
The other relation (non-dependency) fields are simplified as unions
instead of intersections.
Raphael Hertzog [Sun, 14 Oct 2007 21:27:13 +0000 (23:27 +0200)]
Add new module Dpkg::Deps to handle dependencies and some corresponding tests
The Dpkg::Deps::* modules allows various operations on dependencies such
as testing for implication, evaluating them given some packages known to be
installed, etc. They also allow the simplification of the dependencies.