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.
Raphael Hertzog [Sun, 1 Jun 2008 19:05:07 +0000 (21:05 +0200)]
dpkg(1): further improve explanation about conffiles
* man/dpkg.1: Refer to configuration files in the explanation about
package's states because all configuration files (conffiles and
non-conffiles) should be properly handled by the packages. conffiles are
handled by dpkg itself, and non-conffile configuration files by the
configuration scripts. Explain this in the paragraph about removal
of packages.
Raphael Hertzog [Sun, 1 Jun 2008 10:07:17 +0000 (12:07 +0200)]
dpkg-gencontrol: accept "-c-" to read the control file from stdin
* scripts/Dpkg/Control.pm (parse, parse_fh, new): Add a new function
parse_fh() to be able to parse the control file from an arbitrary
file handle. Change parse() to use it and modify new() to parse
STDIN instead of a real file if the parameter is "-".
Daniel Hahler [Sun, 1 Jun 2008 08:30:04 +0000 (10:30 +0200)]
dpkg-deb: improve error message "unable to extract"
* src/archives.c (tarobject): Improve error message stating that
dpkg is unable to create a file so that it also refers to the real
filename instead of the non-diverted name only.
Raphael Hertzog [Sat, 31 May 2008 19:27:49 +0000 (21:27 +0200)]
dpkg(1): Use conffile for config files handled by dpkg
* man/dpkg.1: Use the term conffile for a configuration file handled
by dpkg. Drop reference to hamm. Updated description of values
supported by -D to include those which are trigger related.
Raphael Hertzog [Wed, 28 May 2008 19:06:40 +0000 (21:06 +0200)]
dpkg-source: make sure the source package format is respected
* scripts/Dpkg/Source/Package.pm (extract): If we extract a
source package that uses a non-standard source package format (!= 1.0)
then we create debian/source/format to remember it.
* scripts/dpkg-source.pl: Use debian/source/format as a new source
of format to try when building the package. Prioritize it lower than
command line and debian/control but higher than the default build
formats.
* man/dpkg-source.1: Document the above changes.
Raphael Hertzog [Wed, 28 May 2008 17:28:50 +0000 (19:28 +0200)]
dpkg-source/3.0 (quilt): better integration with quilt
* scripts/Dpkg/Source/Package/V3/quilt.pm: Factorize calls to
quilt in a new run_quilt() function. And check only once
if quilt is available while setting the default value of
without_quilt option. Last but not least, register properly the
automatically generated patch with quilt import.
Raphael Hertzog [Wed, 28 May 2008 16:05:50 +0000 (18:05 +0200)]
dpkg-source/3.0 (quilt): improve reliability of check_patches_applied
* scripts/Dpkg/Source/Patch.pm (check_apply): New function to
verify if a patch will successfully apply on top of a given
directory.
* scripts/Dpkg/Source/Package/V3/quilt.pm (check_patches_applied):
Don't trust debian/patches/.dpkg-source-applied blindly. Get a
list of (supposedly unapplied) patches and verify if the first
patch applies or not. If yes, then apply the patch series,
otherwise do not (and assume that the patch series is already
applied).
* scripts/Dpkg/Source/Package/V2.pm (do_build): Display a
message when local modifications are stored in a new
automatic patch. This messages includes a list of
modified files.
Raphael Hertzog [Fri, 23 May 2008 08:11:17 +0000 (10:11 +0200)]
dpkg-source: improve compatibility of 3.0 (quilt) with existing patch systems
* scripts/Dpkg/Source/Package/V3/quilt.pm: Remove the .diff
from the name of the automatically generated patch. It will
facilitate the switch to this format: packages using
patch system that apply debian/patches/*.{patch,diff}
will not be bothered by the presence of the quilt series
created by dpkg-source itself.
* man/dpkg-source.1: Update the documentation accordingly.
* man/po/*.po: Fix all the filenames to avoid fuzzying
translations.