Raphael Hertzog [Sat, 29 Dec 2007 18:04:07 +0000 (19:04 +0100)]
Dpkg::Cdata, Dpkg::Control, Dpkg::Fields::Object: Add new modules
* scripts/Dpkg/Cdata.pm: This module provides a function to parse a block of
fields/values like those in debian/control, in changes files or in dsc files.
* scripts/Dpkg/Fields.pm: Dpkg::Fields::Object implements a tied hash
which handles proper capitalization of fields and which can be dumped
back.
* scripts/Dpkg/Control.pm: This module parses debian/control and provide
access to the tied hash for each block (source one and binary ones).
Raphael Hertzog [Thu, 27 Dec 2007 14:22:38 +0000 (15:22 +0100)]
Makefile.am: Add missing files to EXTRA_DIST
Also add a new dist-hook rule with a check of the distdir to make sure
that all files contained in the git repository also end up in the
distribution tarball (except .gitignore files).
Raphael Hertzog [Wed, 26 Dec 2007 13:47:50 +0000 (14:47 +0100)]
dpkg-source: fix regression in the behaviour of options -sk -sK -sp -sP
Those options need the name of a tarball in $origtargz but this variable
was only set if -sa or -sA was used (or if a tarball was explicitely
listed on the command line). $origtargz is now again set at declaration
time if we can find a corresponding tarball. Also add some comments to
make this part of the code somewhat more understandable.
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().