even though the deb does not ship
/usr/share/doc/pkg-config/NoSuchFileOrDirectory. I believe this is
not easily fixable without at least a performance hit.
Raphael Hertzog [Thu, 20 Dec 2007 08:09:57 +0000 (09:09 +0100)]
dpkg-shlibdeps: analyze in priority the shlibs of the current package
When looking for a dependency, consider the shlibs of the current package
before the shlibs of other binary packages of the same source. This is
important when a library is built in multiple flavors and each version comes
with a different dependency for the same library.
Peter Karlsson [Wed, 19 Dec 2007 10:56:40 +0000 (11:56 +0100)]
Updated Swedish translation.
Updated templates and merged for main dpkg and scripts translations.
Updated Swedish main translation to 930t.
Updated Swedish manual page translation to 1383t.
Updated Swedish scripts translation to 482t.
Updated change log files where appropriate.
Raphael Hertzog [Sun, 9 Dec 2007 14:42:40 +0000 (15:42 +0100)]
dpkg-shlibdeps: use the Build-Depends-Package information from symbols files
Use this new field to identify the version requirement possibly encoded in
the Build-Depends field and make sure that the generated dependency is at
least as strict as this one. Updated dpkg-shlibdeps's manual page.
Meta-information fields are stored in symbols files on lines
starting with an asterisk. Added a corresponding non-regression
test. Updated deb-symbols(5) accordingly.
Raphael Hertzog [Tue, 11 Dec 2007 09:46:08 +0000 (10:46 +0100)]
Dpkg::Deps: tweak the comparison algorithm to sort > lower than <
* scripts/Dpkg/Deps.pm: Add a compare function that compares
dependencies more intelligently than a comparison on their
string representation. In particular we want >= and >> to sort
lower than << and <= so that intervals are nicely displayed
as "a (>= 1), a (<< 2)" instead of the ugly "a (<< 2), a (>= 1)".
Raphael Hertzog [Sun, 9 Dec 2007 16:21:10 +0000 (17:21 +0100)]
Dpkg::Shlibs::SymbolFile: included files don't need to repeat the header line
Adjust the parser to remember the current soname when processing an
included file so that it doesn't need to repeat (and duplicate!) a header
line. Update dpkg-gensymbols's manual page accordingly. And add a
non-regression test for this feature.
Raphael Hertzog [Sat, 8 Dec 2007 20:33:09 +0000 (21:33 +0100)]
Dpkg::Shlibs::find_library() tries harder to return the canonical name
When it finds a library in a directory which is just a symlink to another
directory that is also considered, remember the other directory name as
the canonical one. And uses the new canonpath() to also simplify path
names containing "/../".
dpkg-genchanges/dpkg-buildpackages: Add new -A option
Logical opposite of -B, will only build arch-indep
packages (dpkg-buildpackage), only include arch-indep
packages in the .changes file (dpkg-genchanges).
Copy the usr/share/doc directory to dpkg-dev and dselect (Instead
of using symlinks). The space requirements are minimal and adding
the needed dependencies to comply with policy would be way more
inconvenient.
Raphael Hertzog [Wed, 28 Nov 2007 14:44:32 +0000 (15:44 +0100)]
dpkg-gensymbols: override the check level with an environment variable
* scripts/dpkg-gensymbols.pl: The environment variable
DPKG_GENSYMBOLS_CHECK_LEVEL can override the level of checks made by
dpkg-gensymbols. This offers the possibility to unofficial ports to ignore
errors due to symbols files that do not correspond.
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.