Add libtimedate-perl to dpkg-dev's Depends and to Build-Depends
* debian/control: Add libtimedate-perl to
dpkg-dev's Depends and to Build-Depends (for
build-time tests). This introduces our first
run-time dependency on a perl module not shipped
with Perl itself. But to me it seems not worth
trying to replace that code.
Guillem Jover [Mon, 21 Jan 2008 03:34:29 +0000 (05:34 +0200)]
Use external gettext intl library
When porting to other systems without gettext functionality, other
applications might need it as well, so either use --with-libintl-prefix
for a global library, or disable NLS support.
dpkg-buildpackage: Move most functions to end of file
* scripts/dpkg-buildpackage.pl: Move most functions to
end of file to allow better reading of the program flow.
This is a remnant of the shell script past.
Raphael Hertzog [Fri, 18 Jan 2008 18:04:25 +0000 (19:04 +0100)]
Add support of wildcard entries in symbols files
* scripts/Dpkg/Shlibs/SymbolFile.pm (load): Parse *@<version> symbols names as
wildcards and not as regular symbols.
* scripts/Dpkg/Shlibs/SymbolFile.pm (merge_symbols): Use information
provided by wildcards entries when new symbols are added.
* scripts/dpkg-gensymbols.pl: Disable some checks which can't be done when
symbols files have been generated with the help of wildcard entries.
* man/dpkg-gensymbols.1: Update the manual page to explain how to use
wildcard entries.
Raphael Hertzog [Wed, 16 Jan 2008 09:08:14 +0000 (10:08 +0100)]
dpkg-genchanges: some code refactoring to simplify the code
* scripts/dpkg-genchanges.pl: Some code refactoring. Also fix the
generation of the Description field to not have duplicate description
in case of udeb (a single description per binary package is enough).
Raphael Hertzog [Mon, 14 Jan 2008 22:16:32 +0000 (23:16 +0100)]
dpkg-genchanges: Enhance logic to decide if we include the original tarball
* scripts/dpkg-genchanges.pl: Change logic of -si option to
include the original tarball only if the current upstream version differs
from the upstream version of the previous changelog entry. Lack of previous
entry also results in the inclusion of the original tarball.
Raphael Hertzog [Mon, 14 Jan 2008 21:39:48 +0000 (22:39 +0100)]
Integrated dpkg-parsechangelog processing into Dpkg::Changelog::parse_changelog()
* scripts/Dpkg/Changelog.pm (parse_changelog): Rewrite it completely
to not call dpkg-parsechangelog but do the work of this program by itself.
* scripts/dpkg-parsechangelog.pl: Rewrote it to use the enhanced
parse_changelog() function.
* scripts/dpkg-genchanges.pl, script/dpkg-gencontrol.pl: Adapted to use
the modified parse_changelog().
* scripts/dpkg-gensymbols.pl, scripts/dpkg-source.pl: Likewise.
* scripts/changelog/debian.pl: Restore the old
default behaviour to parse STDIN. Also fix the -l
option to specify a label for the parsed input, but
the actual file. Still allow --file to be used for
that. Use the new inhandle option of parse() to pass
STDIN directly. This should be faster and removes
the implicit dependency on IO::String.
Dpkg::Changelog: Allow input to come directly from a filehandle
* scripts/Dpkg/Changelog/Debian.pm (parse): Accept input in
configuration item 'inhandle'. Allow to override the name of
the file (used for reporting) with configuration item
'reportfile'.
* scripts/Dpkg/Changelog.pm (init): Call parse if
'inhandle' is given.
Raphael Hertzog [Tue, 15 Jan 2008 09:43:28 +0000 (10:43 +0100)]
dpkg-shlibdeps: handle the case where the same binary is listed multiple times
* scripts/dpkg-shlibdeps.pl: When the same binary is passed
several times as parameters (associated to different fields),
associate it to the most important field.
Raphael Hertzog [Tue, 15 Jan 2008 08:02:56 +0000 (09:02 +0100)]
dpkg-shlibdeps: Fix filtering of duplicated deps in fields of lesser priority
* scripts/dpkg-shlibdeps.pl (filter_deps): Fix filtering of
duplicated dependencies in fields of lesser priority. Dependencies
coming from shlibs files have no associated version and this case
wasn't handled properly.
Raphael Hertzog [Fri, 11 Jan 2008 18:14:15 +0000 (19:14 +0100)]
Give some hints to Perl on the use of UTF-8 for output
* scripts/dpkg-genchanges.pl, scripts/dpkg-gencontrol.pl,
scripts/dpkg-source.pl: Hint Perl into using UTF-8 for output
on *.dsc, *.changes and DEBIAN/control files. Updated some open() calls
for more consistency and added binmode() calls for filehandles that
handle only binary data.
Raphael Hertzog [Sun, 13 Jan 2008 21:03:28 +0000 (22:03 +0100)]
Dpkg::Fields: Change set_field_importance() into a method of Dpkg::Fields::Object
* scripts/Dpkg/Fields.pm: Drop public function
set_fields_importance() in favor of a method on
Dpkg::Fields::Object. Integrate public function
sort_field_by_importance() in the output() method where it was
used.
* scripts/Dpkg/Changelog.pm, scripts/dpkg-genchanges.pl,
scripts/dpkg-gencontrol.pl, scripts/dpkg-source.pl: Updated to use
the set_field_importance() method instead of the removed function.
* scripts/Dpkg/Control.pm: Update pod documentation to refer to
Dpkg::Fields::Object instead of the invalid Dpkg::Cdata::Object.
Dpkg::Fields::Object: Support filehandles and strings for output and dump
* scripts/Dpkg/Fields.pm (dump): Allow to omit the
filehandle argument. If the function is called in
non-void context, also remove the printed string
to the caller. Together this avoids having to fiddle
with filehandles if the caller doesn't want to.
(output): Likewise.
* scripts/Dpkg/Changelog.pm (data2rfc822): Simplify
using this new behaviour.
Dpkg::Changelog: Use Dpkg::Fields for field handling
* scripts/Dpkg/Changelog.pm: Replace all field hashes
with Dpkg::Changelog::Entry objects.
(Dpkg::Changelog::Entry): Base on Dpkg::Fields::Object.
(data2rfc822): Use Dpkg::Fields::Object->output and fix
handling of user-defined fields.
(data2rfc822_mult): Merge into data2rfc822 (autodetect
whether the argument is an object or an array of object).
* scripts/Dpkg/Changelog/Debian.pm: Adapt for
Dpkg::Changelog::Entry changes.
* scripts/t/600_Dpkg_Changelog.t: Likewise.
Raphael Hertzog [Fri, 11 Jan 2008 23:13:15 +0000 (00:13 +0100)]
Define list of valid debian/control fields in Dpkg::Fields
* scripts/Dpkg/Fields.pm: Define variables containing
authoritative list of fields for debian/control (one for source
stanza, one for package stanza).
* scripts/dpkg-genchanges.pl, scripts/dpkg-gencontrol.pl,
scripts/dpkg-source.pl: Use the new variables to properly ignore
valid fields. Some related cleanup.
Raphael Hertzog [Thu, 10 Jan 2008 22:15:25 +0000 (23:15 +0100)]
Make sure dpkg-dev 1.14.13 and 1.14.14 are upgraded together with dpkg
* debian/control: Add a "Breaks: dpkg-dev (= 1.14.13),
dpkg-dev (= 1.14.14)" on dpkg to force upgrade of those dpkg-dev
versions that would break with the move of the compression related
variables from Dpkg.pm into Dpkg/Compression.pm.
Raphael Hertzog [Sun, 6 Jan 2008 20:21:04 +0000 (21:21 +0100)]
Fix dpkg-buildpackage to not double options when called with -j option
* scripts/Dpkg/BuildOptions.pm (set): Change the default value of
the overwrite parameter to 1. The only use of this function in
dpkg-buildpackage is missing the parameter and actually wants to
overwrite the whole variable.
* scripts/t/300_Dpkg_BuildOptions.t: Adjust the test suite for this
change.
Raphael Hertzog [Sun, 6 Jan 2008 17:07:07 +0000 (18:07 +0100)]
Dpkg::Shlibs::Objdump: Takes into account R_*_COPY relocations
* scripts/Dpkg/Shlibs/Objdump.pm: Also retrieve dynamic relocation
records from objdump by adding the -R option. Use this information
to mark symbols affected by R_*_COPY relocations as undefined.
They are initialized by the loader with values searched in the
needed libraries.
Raphael Hertzog [Fri, 4 Jan 2008 13:16:06 +0000 (14:16 +0100)]
Dpkg/Shlibs/SymbolFile.pm: Replace DEPRECATED by MISSING
People understand better that symbols disappeared with the marker MISSING
than with the marker DEPRECATED (which look like it was done on purpose).
Continue to accept DEPRECATED in the input however.