Use description of installed package if it's not available anymore
* dselect/pkginfo.cc (packagelist::itd_description), dselect/pkgtop.cc
(packagelist::redraw1itemsel): Use description of installed
package as a fallback if the package is not more listed in the
available list.
libdpkg: Remove unneeded and wrong caching of namevalue length member
All current namevalue arrays have the length member precomputed. And
the code was sneakily casting from const to non-const through a memcpy
to be able to do the cache.
Raphael Hertzog [Mon, 23 Jun 2008 20:22:34 +0000 (22:22 +0200)]
dpkg-source: new option --require-valid-signature
* scripts/dpkg-source.pl: New option --require-valid-signature.
* scripts/Dpkg/Source/Package.pm (check_signature): Updated to use
Dpkg::IPC and to implement the checks related to
--require-valid-signature.
* man/dpkg-source.1: Document the new option.
Raphael Hertzog [Sun, 22 Jun 2008 19:59:33 +0000 (21:59 +0200)]
dpkg(1), dpkg-query(1): explain that the available file is for dselect
* dpkg.1, dpkg-query.1: Document the fact that the available file
is mostly useful for dselect users and that the related commands
are useless for APT users.
Raphael Hertzog [Sat, 21 Jun 2008 21:45:43 +0000 (23:45 +0200)]
dpkg-shlibdeps uses softer warnings for libraries that are likely plugins
* scripts/dpkg-shlibdeps.pl: If the binary analyzed is a library on a
non-public path, assume it's likely a plugin and reduce the number of
warnings displayed about symbols not found. Also use a different,
hopefully less confusing message.
* man/dpkg-shlibdeps.1: Document the above changes.
Raphael Hertzog [Sat, 21 Jun 2008 16:29:47 +0000 (18:29 +0200)]
Building blocks for vendor-specific build of Debian packages
* scripts/Dpkg/Vendor.pm: Provide simple parser for vendor-specific
information stored in /etc/dpkg/origins/. The current vendor can
be identified through get_current_vendor() and get_vendor_info()
retrieves the information stores within those files.
* scripts/dpkg-buildpackage.pl: Setup the DEB_VENDOR environment
variable if possible.
* man/dpkg-buildpackage.1: Document the above changes.
* scripts/Dpkg/Source/Package/V3/quilt.pm (get_series_file): Use
get_current_vendor() to decide the name of the vendor-specific
series file that should be used in priority.
Raphael Hertzog [Tue, 10 Jun 2008 15:32:29 +0000 (17:32 +0200)]
Adjust the test suite for the modified Dpkg::BuildOptions
* scripts/t/300_Dpkg_BuildOptions.t: Fix the test suite to work with
the modified Dpkg::BuildOptions.
* scripts/Dpkg/BuildOptions.pm: Add missing import.
Raphael Hertzog [Mon, 9 Jun 2008 19:47:48 +0000 (21:47 +0200)]
Set PERL_DL_NONLAZY to 1 in perl scripts called by configuration scripts
* scripts/dpkg-divert.pl, scripts/update-alternatives.pl,
scripts/install-info.pl, scripts/dpkg-statoverride.pl: Set
PERL_DL_NONLAZY to 1 so that the usage of Locale::Gettext doesn't
cause run-time failures when this perl binary module is not
compiled for the corresponding perl version (and this happens in
configuration scripts, in particular preinst, during upgrades).
See http://bugs.debian.org/479711 for details.
Raphael Hertzog [Mon, 9 Jun 2008 17:42:28 +0000 (19:42 +0200)]
dpkg-buildpackage: use space as separator in DEB_BUILD_OPTIONS
* scripts/Dpkg/BuildOptions.pm (parse, set): Use space as the
official separator in DEB_BUILD_OPTIONS. Check for validity of
flags and print a warning if a bad option is detected. Rewrote
the logic of set() to avoid adding options twice in non-overwrite
mode.
Raphael Hertzog [Sun, 8 Jun 2008 21:29:43 +0000 (23:29 +0200)]
dpkg-source: be less strict on filenames accepted in patches
* scripts/Dpkg/Source/Patch.pm (analyze): Be less strict in
filenames accepted on ---/+++ lines. Don't blow up on absolute
filenames if the other one is fine. Make sure to use the one that
is relative and that corresponds to a real file when possible.
Raphael Hertzog [Sun, 8 Jun 2008 19:03:24 +0000 (21:03 +0200)]
dpkg-source/3.0 (quilt): use absolute path names with quilt
* scripts/Dpkg/Source/Package/V3/quilt.pm: Use absolute path names
when giving directories and filenames to quilt to avoid any
problems due to quilt's feature of trying relative paths in parent
directories too.
Raphael Hertzog [Sat, 7 Jun 2008 20:08:05 +0000 (22:08 +0200)]
dpkg-source: accept patches with missing context at the end
* scripts/Dpkg/Source/Patch.pm (analyze): Accept unexpected
end-of-file in patches if we're missing no more than 2 lines
of context. Output a warning instead.
Raphael Hertzog [Sat, 7 Jun 2008 18:50:41 +0000 (20:50 +0200)]
dpkg-source/3.0 (quilt): better registration of the automatic patch
* scripts/Dpkg/Source/Package/V3/quilt.pm (register_autopatch):
Register the newly created patch with quilt only if quilt has
already been used to apply the existing patches (or if we don't
have any patch yet), otherwise register it manually at the end of
the series.
Raphael Hertzog [Thu, 5 Jun 2008 17:00:31 +0000 (19:00 +0200)]
dpkg-source/3.0 (quilt): allow /dev/null in automatic patch
* scripts/Dpkg/Source/Patch.pm (add_diff_directory): If option
use_dev_null is set, then the label of the "old" file will be
'/dev/null' if we're creating a new file (instead of using the
name of the created file, like it's currently done in .diff
of version "1.0" source packages).
* scripts/Dpkg/Source/Package/V2.pm (prepare_build): Use the new
option "use_dev_null" when creating the automatic patch.
Raphael Hertzog [Wed, 4 Jun 2008 19:26:47 +0000 (21:26 +0200)]
dpkg-source: improve the patch parser
* scripts/Dpkg/Source/Patch.pm (analyze): Enhance function to
parse correctly many more patches that are accepted by the patch
utility itself:
- ignore/strip carriage return of patches with Windows end of lines
- accept empty lines as contextual lines (instead of the expected " ")
- accept spaces as separator between filename and timestamp if
there's no tab
- accept a name that differs on the +++ line if the name in --- is
correct, and use the name in +++ if this one exists while the one
on --- doesn't.