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.
Pierre Habouzit [Sun, 11 May 2008 16:31:51 +0000 (18:31 +0200)]
Add a --query option to update-alternatives. Closes: #336091, #441904
* scripts/update-alternatives.pl: add a --query option that works like
--display but outputs a machine parseable rfc822-like output.
* man/update-alternatives.8: document that new option, and the
associated format.
Raphael Hertzog [Sun, 11 May 2008 14:41:23 +0000 (16:41 +0200)]
Activate triggers when a file is removed in a shared directory
* src/processarc.c (process_archive): While removing files that
disappeared, move the call to namenodetouse before the test
that skips directory shared with other packages. This is required
because namenodetouse() handles trigger activation and we really
want directories containing (only) removed files to activate the
corresponding triggers.
Raphael Hertzog [Thu, 8 May 2008 18:17:31 +0000 (20:17 +0200)]
dpkg-source (2.0/3.0 (quilt)): create stamp file with automatic patch
* scripts/Dpkg/Source/Package/V2.pm,
scripts/Dpkg/Source/Package/V3/quilt.pm: Ensure the
.dpkg-source-applied stamp file is created when an automatic patch
is created so that a second build doesn't try to mistakenly
reapply it.
Raphael Hertzog [Thu, 8 May 2008 17:12:23 +0000 (19:12 +0200)]
dpkg-source (2.0/3.0 (quilt)): refuse binary files in debian subdir
* scripts/Dpkg/Source/Functions.pm (is_binary): New function
to check if a file is binary by using diff against it.
* scripts/Dpkg/Source/Package/V2.pm (do_build): Check that all files from
the debian sub-directory are non-binary and only allow whitelisted binary
files.
* man/dpkg-source.1: Document this behaviour.
Raphael Hertzog [Mon, 5 May 2008 12:14:17 +0000 (14:14 +0200)]
dpkg-gensymbols: fail when empty values are given to -v, -P or -e.
* scripts/dpkg-gensymbols.pl: Do not accept empty parameters for
-v, -P and -e. "-v" led to empty versions in symbols files and people used
that option by mistake believing it would enable a verbose mode.
dpkg-source: change the logic to find the object used to unpack/build
* scripts/Dpkg/Source/Package.pm (upgrade_object_type): Instead
of using the full Format: version to deduce the perl object name
use only the major part of the version. The minor part is under
control of the corresponding object, that way they can evolve
and indicate that the source package has changed in a backwards
compatible way. See
http://lists.debian.org/debian-dpkg/2008/04/msg00045.html
Also add a new parameter to disable update of the minor version in
the Format field.
(initialize): Don't let the Format field be updated by
upgrade_object_type() as this function only loads information from
the .dsc into the object.
* scripts/Dpkg/Source/Package/**: Rename V1_0.pm into V1.pm,
V2_0.pm into V2.pm and V3_0/ into V3/. Fix perl package names
accordingly. Integrated a $CURRENT_MINOR_VERSION set to "0"
in all packages.
* scripts/Makefile.am, scripts/po/POTFILES.in: Update the lists
according to above file renames.
dpkg-source: parse correctly series files with patch options
* scripts/Dpkg/Source/Package/V3_0/quilt.pm: Parse correctly
series files with patch options and warn if something else than
-p1 is used.
* man/dpkg-source.1: Document how dpkg-source handles those patch
options in series files.
dpkg-genchanges: use Package-Type control field to detect udebs
* scripts/Dpkg/Fields.pm (find_custom_field, get_custom_field):
New function to handle custom fields (X[SBC]*-*).
* scripts/dpkg-genchanges.pl: Use Package-Type control field to
decide if a package is an udeb instead of relying on the file
extension of a generated package since that doesn't work when
generating source-only uploads for example.
dpkg-source: handle better symlinks to orig tarball
* scripts/Dpkg/Path.pm (check_files_are_the_same): Add a new
parameter so that we can use stat() instead of lstat() and
compare if pointed files are the same.
* scripts/Dpkg/Source/Package.pm: Resolve symlinks before deciding
if both original tarballs are the same or not. Use the new
parameter of check_files_are_the_same() for this.
* scripts/Dpkg/Source/Package/V1_0.pm: Remove useless import of
check_files_are_the_same.