Raphael Hertzog [Sun, 2 Mar 2008 15:37:27 +0000 (16:37 +0100)]
Preserve the order of dependencies and build-dependencies
* scripts/dpkg-gencontrol.pl, scripts/dpkg-source.pl:
Do not sort the dependency fields as order matters given
the greedy algorithm that APT uses when trying to resolve
dependencies. See discussion on debian-devel:
http://lists.debian.org/debian-devel/2008/02/msg00893.html
* man/dpkg-gencontrol.1: Document the above changes.
* scripts/Dpkg/Deps.pm (simplify_deps): Tries to respect order put
by the maintainer when simplifying dependencies.
* scripts/t/400_Dpkg_Deps.t: Add a test-case to ensure that
further changes respect this constraint.
* scripts/dpkg-shlibdeps.pl: Sort generated dependencies to
have a deterministic output.
Dpkg::Changelog::Debian: Fix regression in header parsing
* scripts/Dpkg/Changelog/Debian.pm (parse):
One patch against the old parser that allowed
chars '+' and '.' in distribution names was
not forward ported into the new parser. Do
this now.
* scripts/t/600_Dpkg_Changelog/regression:
Add testcase for this regression.
Raphael Hertzog [Fri, 22 Feb 2008 10:17:44 +0000 (11:17 +0100)]
Fix usage of hyphens in some manual pages
* man/deb-symbols.5: Escape some hyphens so that they
are not used as minus sign.
* man/dpkg-architecture.1: Same.
* man/dpkg-shlibdeps.1: Same.
* man/start-stop-daemon.8: Same.
Raphael Hertzog [Fri, 22 Feb 2008 07:42:04 +0000 (08:42 +0100)]
Fix make check to work on systems without dpkg in the standard PATH
* scripts/Makefile.am: Modify PATH to include build directories
containing the dpkg binary and the related scripts. That way
the tests work even if dpkg is not yet available. Thanks to
Mike Frysinger <vapier@gentoo.org> who noticed that.
Raphael Hertzog [Wed, 20 Feb 2008 23:28:10 +0000 (00:28 +0100)]
Adjust Dpkg::Changelog::parse_changelog() search list of parser
* scripts/Dpkg/Changelog.pm (parse_changelog): Fallback
into /usr/lib/dpkg/parsechangelog to find a changelog parser
in case $dpkglibdir points to another directory (for example
when DPKG_DATADIR is manually set).
* scripts/Dpkg.pm: Allow overriding $pkgdatadir
with $ENV{DPKG_DATADIR}.
* scripts/Makefile.am (check): Use DPKG_DATADIR.
* debian/rules: Remove hack to copy data files
to build directory.
dpkg-buildpackage: Set a set of compiler flags for a build
* scripts/dpkg-buildpackage.pl: Set a set of environment variables
for setting compiler and linker options, unless already set in the
environment. See https://wiki.ubuntu.com/DistCompilerFlags for
background information.
* man/dpkg-buildpackage.pl: Document the new behaviour.
Based on a patch by Matthias Klose <doko@cs.tu-berlin.de>
Guillem Jover [Sun, 17 Feb 2008 04:34:41 +0000 (06:34 +0200)]
dpkg.cfg: Reintroduce 'no-debsig' option
This avoids failing to install any package when debsig-verify is installed,
as distributions do not use embedded signatures in packages. Closes: #311843
* scripts/dpkg-genchanges.pl, scripts/dpkg-source.pl: Use new
Dpkg::Checksums module. Adds new 'Checksums-{Sha1,Sha256}' field
to .changes and .dsc files. Increase changes format to 1.8.
Raphael Hertzog [Sun, 3 Feb 2008 17:54:00 +0000 (18:54 +0100)]
dpkg-shlibdeps: some accuracy improvements for warnings about unused libraries
* scripts/dpkg-shlibdeps.pl: Handle better the case when the
library found has a different soname than the one used to look up
the library file. Properly affect symbols coming from it to the
soname wanted by the binary, thus avoiding invalid warnings about
unused library.
Justin Pryzby [Wed, 30 Jan 2008 04:35:30 +0000 (06:35 +0200)]
s-s-d: Documentation improvements
Cosmetic fixes to start-stop-daemon output and man page. Document
that --chuid will change the group even if it has not been specified.
Add EXIT STATUS and EXAMPLE sections to man page.
Raphael Hertzog [Sat, 19 Jan 2008 20:53:18 +0000 (21:53 +0100)]
dpkg-buildpackage: add a new -R option and allow parameters in -r
* scripts/dpkg-buildpackage.pl: Add a new -R option to be able to replace
"debian/rules" by something else. The replacement command can contain
parameters (and thus spaces). Fix -r option to also accept parameters.
* man/dpkg-buildpackage.1: Document the new option and the changed
behaviour of -r.
Raphael Hertzog [Sun, 27 Jan 2008 16:53:05 +0000 (17:53 +0100)]
dpkg-gensymbols: be more explicit in warning about new/lost libraries
* scripts/Dpkg/Shlibs/SymbolFile.pm: Replace has_new_libs(),
has_lost_libs(), has_new_symbols() and has_lost_symbols() by
corresponding get_* functions.
* scripts/dpkg-gensymbsols.pl: Display list of new/lost libs. Also
display list of lost symbols when wildcards symbols have been
used.
* scripts/t/200_Dpkg_Shlibs.t: Adjust test suite to API change.
Raphael Hertzog [Sat, 26 Jan 2008 18:25:31 +0000 (19:25 +0100)]
dpkg-gensymbols: skip directories during scan of package build dir
* scripts/dpkg-gensymbols: Don't scan directories which are
symlinks. They might point outside of the package build dir which
results in addition of libraries which are not in the package.
The libc6 package on amd64 is affected with a symlink "lib64" ->
"/lib".
Raphael Hertzog [Sat, 19 Jan 2008 21:55:01 +0000 (22:55 +0100)]
dpkg-checkbuilddeps: add -d and -c options to override build-depends/conflicts
* scripts/dpkg-checkbuilddeps.pl: Add support of options -d and -c to use
build dependencies/conflicts given on the command line instead of those
retrieved from debian/control.
* man/dpkg-checkbuilddeps.1: Document the new options.
Raphael Hertzog [Thu, 24 Jan 2008 10:32:54 +0000 (11:32 +0100)]
Dpkg::Shlibs::SymbolFile: handles multiple #include of the same file
* scripts/Dpkg/Shlibs/SymbolFile.pm (load): Remove the loaded file
from the %$seen hash at the end so that it's possible to include
multiple times the same file (at the same level and not from any
nested file obviously).
Raphael Hertzog [Tue, 22 Jan 2008 17:19:18 +0000 (18:19 +0100)]
Remove the IO layer ":utf8" that re-encodes in utf8
* scripts/dpkg-genchanges.pl, scripts/dpkg-gencontrol.pl,
scripts/dpkg-source.pl: Remove the IO-layer that converts to
UTF-8. It's not as smart as I expected.
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.