dpkg-source: Fix diff generation for filenames containing spaces
Include a trailing HT character in the diff labels if
the filename contains spaces. Apparantly this is
standard but undocumented diff behaviour. Based on
a patch by Marcel Toele.
(signfile): Call gpg with --utf8-strings since otherwise the key
lookup fails with non-ASCII UTF8-encoded names. Since Debian
changelogs should be UTF8 encoded, this is probably the more sane
default.
dpkg-buildpackage: Handle an empty rootcommand correctly
(withecho): Remove empty strings at the begin of the command array.
These can be caused by e.g. an emtpy $rootcommando. It is easiest to
filter them out here.
scripts/t: Integrate more tightly into build system
rename 'test' target to 'check' so that it gets called
automatically on 'make check' and 'make distcheck'.
Also make it actually working in 'distcheck'. That part
is still a bit hacky.
dpkg-shlibdeps: don't try to add dependency information for private libraries
Private libraries are defined as libraries without SONAME. They are not listed
in shlibs files and thus there's no point in trying to add a dependency
for them. It also reduce the number of false-positive failures/warnings
generated by dpkg-shlibdeps.
Create Dpkg::Path with some functions needed for dpkg-shlibdeps
The two first function in this module are used to:
- find out the package's root directory (or build tree) using any of its
file as input
- find out the relative filename of a file inside a package's build tree
dpkg-shlibdeps: look into package directories before the root filesytem
When dpkg-shlibdeps tries to find a library, it will scan
the same directories as ld.so but at various "virtual root" (the real root
and also the root of the build trees). The root of the built
packages should have precedence otherwise we might analyze outdated
files which are installed in the root filesystem and which would
be replaced by the package being built.
Let dpkg-shlibdeps be smarter about missing symbols
dpkg-shlibdeps complains about missing symbols only for executables
(as defined by the ELF type) and public libraries (as defined by the
ELF type and the existence of a SONAME). This avoids many warnings
for perl modules and python modules.
Make dpkg-shlibdeps fail if it doesn't find dependency information
If dpkg-shlibdeps doesn't find any dependency information for a shared library
that is actively used, then it will fail. This can be disabled with the option
--ignore-missing-info. Closes: #10807
Add "-x<package>" option to dpkg-shlibdeps to exlude packages
dpkg-shlibdeps now supports "-x<package>" options that can be used to exclude
packages from generated dependencies. This is particalularly useful to
avoid self-dependencies when a package contains a binary and a library (without
requiring an shlibs.local file to override the usual shlibs file). It might
also be used to avoid other unwanted dependencies (use with care though). Closes: #41907, #109954
Fix parsing of shlibs files with respect to packagetype
An shlibs line without packagetype should be used as fallback in case we
don't find any dependency for that packagetype (udeb). So end the parsing
in extract_shlibs only if the packagetype is given and if it matches with
the current one. If the packagetype is not given, remember the dependency
but continue parsing the file to check if we don't have a more specific
dependency.
Works like the make options of the same name. It will be passed
to debian/rules in the MAKEFLAGS environment variable. Also the
parallel=<n> DEB_BUILD_OPTIONS option will be honored and set
correctly. The finally used value is determined by the
following order: -j > DEB_BUILD_OPTIONS > MAKEFLAGS.
Based on an idea by Robert Millan <rmh@aybabtu.com>.
This will make it easier to add more features in the
future and easier to give a consistent user experience
(e.g. regarding l10n and output formatting).
Currently this should just be a 1:1 conversion without
any huge changes.
Emulates the dpkg --compare-versions behaviour (Doesn't support
the -nl operators yet, though). This is often easier to write and
read instead of using vercmp directly.
Brian M. Carlson [Fri, 14 Sep 2007 05:24:56 +0000 (08:24 +0300)]
Fix failed install followed by failed remove resulting in installed state
After '<prerm> remove' fails and while doing the error unwinding, if
the '<postinst> abort-remove' call succeeds, preserve the old status
instead of unconditionally setting it to 'Installed'.