Raphael Hertzog [Tue, 1 Jan 2008 17:13:07 +0000 (18:13 +0100)]
Update all scripts to use Dpkg::Changelog::parse_changelog
* scripts/dpkg-buildpackage.pl, scripts/dpkg-checkbuilddeps.pl,
scripts/dpkg-genchanges.pl, scripts/dpkg-gencontrol.pl,
scripts/dpkg-gensymbols.pl, scripts/dpkg-source.pl: Update scripts to use
Dpkg::Changelog::parse_changelog instead of the old controllib.pl's
parsechangelog. With this last change controllib.pl is no more used by
any script.
Raphael Hertzog [Tue, 1 Jan 2008 14:59:08 +0000 (15:59 +0100)]
Remove the last calls to chown(getfowner(), ...)
* scripts/dpkg-distaddfile.pl, scripts/dpkg-gencontrol.pl: Delete
the chown(getfowner(), ...) on new files. It doesn't seem to do anything
useful anymore as it got dropped from several other scripts over the years
without problems. This enables the removal of getfowner() from
controllib.pl.
Raphael Hertzog [Tue, 1 Jan 2008 14:50:01 +0000 (15:50 +0100)]
Dpkg::Vars: New module handling the global variable $sourcepackage
* scripts/Dpkg/Vars.pm: New module exporting $sourcepackage and
set_source_package to replace the $sourcepackage and setsourcepackage of
controllib.pl.
* scripts/dpkg-genchanges.pl: Updated to use Dpkg::Vars.
* scripts/dpkg-gencontrol.pl: Likewise.
* scripts/dpkg-source.pl: Likewise.
Raphael Hertzog [Tue, 1 Jan 2008 13:54:55 +0000 (14:54 +0100)]
Dpkg::Version: Add check_version to replace controllib's checkversion
* scripts/Dpkg/Version.pm (check_version): New function.
* scripts/dpkg-buildpackage.pl: Use the new check_version.
* scripts/dpkg-source.pl: Likewise.
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)".
Dpkg::Changelog->_abort_early() tests whether the parser
can abort.
Dpkg::Changelog::Debian->parse() checks this after each
finished entry.
parsechangelog/debian sets count explicetly to 1 if no
other range options are given so that the parser
aborts early in this case.
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).