Your message dated Thu, 25 Mar 2010 01:33:20 +0000
with message-id <[email protected]>
and subject line Bug#574097: fixed in dpkg 1.15.6.1
has caused the Debian Bug report #574097,
regarding dpkg-dev: can't unpack old packages without Format field
to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what this
message is talking about, this may indicate a serious mail system
misconfiguration somewhere. Please contact [email protected]
immediately.)


-- 
574097: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=574097
Debian Bug Tracking System
Contact [email protected] with problems
--- Begin Message ---
Package: dpkg-dev
Version: 1.15.6
Severity: normal
Tags: patch

.dsc files haven't always had a Format field.  It was introduced in dpkg
1.6.13, in May 2000.  This means that it's still not entirely
implausible to run across source packages without Format, for example
when importing the history of a source package into revision control.  I
found one here:

  http://snapshot-dev.debian.org/package/nethack-spoilers/3.2.2-1/

dpkg-source fails to unpack this with:

  dpkg-source.pl: error: missing critical source control field Format

When the Format field was introduced, it was just in preparation for
future changes, not accompanying a format change itself.  Thus,
dpkg-source should treat a missing Format field as 1.0, for
compatibility with these old packages.

diff --git a/scripts/Dpkg/Source/Package.pm b/scripts/Dpkg/Source/Package.pm
index 3ebfc56..fb57359 100644
--- a/scripts/Dpkg/Source/Package.pm
+++ b/scripts/Dpkg/Source/Package.pm
@@ -144,7 +144,7 @@ sub initialize {
     $fields->load($filename);
     $self->{'fields'} = $fields;
 
-    foreach my $f (qw(Source Format Version Files)) {
+    foreach my $f (qw(Source Version Files)) {
         unless (defined($fields->{$f})) {
             error(_g("missing critical source control field %s"), $f);
         }
@@ -158,6 +158,8 @@ sub initialize {
 sub upgrade_object_type {
     my ($self, $update_format) = @_;
     $update_format = 1 unless defined $update_format;
+    $self->{'fields'}{'Format'} = '1.0'
+        unless exists $self->{'fields'}{'Format'};
     my $format = $self->{'fields'}{'Format'};
 
     if ($format =~ /^([\d\.]+)(?:\s+\((.*)\))?$/) {

Thanks,

-- 
Colin Watson                                       [[email protected]]



--- End Message ---
--- Begin Message ---
Source: dpkg
Source-Version: 1.15.6.1

We believe that the bug you reported is fixed in the latest version of
dpkg, which is due to be installed in the Debian FTP archive:

dpkg-dev_1.15.6.1_all.deb
  to main/d/dpkg/dpkg-dev_1.15.6.1_all.deb
dpkg_1.15.6.1.dsc
  to main/d/dpkg/dpkg_1.15.6.1.dsc
dpkg_1.15.6.1.tar.bz2
  to main/d/dpkg/dpkg_1.15.6.1.tar.bz2
dpkg_1.15.6.1_amd64.deb
  to main/d/dpkg/dpkg_1.15.6.1_amd64.deb
dselect_1.15.6.1_amd64.deb
  to main/d/dpkg/dselect_1.15.6.1_amd64.deb
libdpkg-dev_1.15.6.1_amd64.deb
  to main/d/dpkg/libdpkg-dev_1.15.6.1_amd64.deb
libdpkg-perl_1.15.6.1_all.deb
  to main/d/dpkg/libdpkg-perl_1.15.6.1_all.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [email protected],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <[email protected]> (supplier of updated dpkg package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [email protected])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 24 Mar 2010 13:56:28 +0100
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.15.6.1
Distribution: experimental
Urgency: low
Maintainer: Dpkg Developers <[email protected]>
Changed-By: Guillem Jover <[email protected]>
Description: 
 dpkg       - Debian package management system
 dpkg-dev   - Debian package development tools
 dselect    - Debian package management front-end
 libdpkg-dev - Debian package management static library
 libdpkg-perl - Dpkg perl modules
Closes: 570938 574097 574816
Changes: 
 dpkg (1.15.6.1) experimental; urgency=low
 .
   [ Guillem Jover ]
   * Fix two memory leaks introduced in 1.15.6.
   * Always use C99 variadic macros, as the build requires them anyway, we
     avoid exposing the configure variable HAVE_C99 on installed headers.
   * Use __attribute__ keyword depending on compiler support, we avoid
     exposing the configure variable HAVE_C_ATTRIBUTE on installed headers.
   * Do not allow a --retry schedule in start-stop-daemon where forever is
     the last item, as it needs something to repeat over. Closes: #570938
   * Show dselect dependency/conflicts resolution screen again, by switching
     the code to use STL's min() and max() instead of preprocessor macros, to
     avoid multiple evaluation of arguments. Regression introduced in 1.15.6.
     Based on a patch by Robert Luberda <[email protected]>. Closes: #574816
   * Defer the fsync and rename for normal files in tar extraction so that
     it's done in one pass afterwards, to avoid massive I/O degradation due to
     the serialization from each write + fsync. This restores extraction times
     to numbers closer to the ones before the fsync patch introduced in 1.15.6.
 .
   [ Raphaƫl Hertzog ]
   * Accept source packages without "Format" field for compatibility with very
     old source packages. Thanks to Colin Watson for the report and the patch.
     Closes: #574097
 .
   [ Updated dpkg translations ]
   * Swedish (Peter Krefting).
 .
   [ Updated scripts translations ]
   * Swedish (Peter Krefting).
Checksums-Sha1: 
 bc1a6e223b434eeab6dd481fd1be90772ccff56b 1221 dpkg_1.15.6.1.dsc
 098fe2e4b1f2898529519bf0876c849811ca17d9 4841958 dpkg_1.15.6.1.tar.bz2
 3958a298a14b87b5a9f8b5bf8a303473e8c1224b 362184 libdpkg-dev_1.15.6.1_amd64.deb
 fdd9210840d414b70e698a932013497130460a64 2042182 dpkg_1.15.6.1_amd64.deb
 5ba417c17fd708d52b039736c33d1225c58be201 819122 dselect_1.15.6.1_amd64.deb
 e48b898446e7a509b223acc9337a2423f6cf7079 639658 dpkg-dev_1.15.6.1_all.deb
 932bd5a4c83c18c8f2dc07cceff4ea0724394ed7 563782 libdpkg-perl_1.15.6.1_all.deb
Checksums-Sha256: 
 ecaa67f69fe9d092689b0f3b80dc33f6207b22cacacffcd2c84dbb90820640fe 1221 
dpkg_1.15.6.1.dsc
 83194eecaba9cc2e609c3f0bc204f5e13b37b6c5c6ffc11a5f7382e542091213 4841958 
dpkg_1.15.6.1.tar.bz2
 980913ba1fd9aa3ba2955f080b479cdb21bd951f80709ccd229155d124a418ae 362184 
libdpkg-dev_1.15.6.1_amd64.deb
 142fa963c49a61a4a9154f9452d4abab69c19d27b55ab47ab0fe4ffd1b080717 2042182 
dpkg_1.15.6.1_amd64.deb
 8ee80ca9127bddf463fb6a6b4712f3959f6c4132bca473e5a9d41c59250624d4 819122 
dselect_1.15.6.1_amd64.deb
 0bdec6b71f12f713fceb74e0f9d3d5d3d748517e23cf6ecdd062b071d6f6c2fb 639658 
dpkg-dev_1.15.6.1_all.deb
 2030e4b9ced95adafd4a576fe678ec4b7152ae32d3c21313184e24b99e5d167f 563782 
libdpkg-perl_1.15.6.1_all.deb
Files: 
 d425698ff0270386f0255ab4db827879 1221 admin required dpkg_1.15.6.1.dsc
 d5d5587827557c46573e5994bf2c625f 4841958 admin required dpkg_1.15.6.1.tar.bz2
 68ea1e859f8b371b90687a7d1add2c1c 362184 libdevel optional 
libdpkg-dev_1.15.6.1_amd64.deb
 a0764998a05d1bf92b2cc19be62d02d1 2042182 admin required dpkg_1.15.6.1_amd64.deb
 cec2c31cf66e5bed5877207db418bddf 819122 admin optional 
dselect_1.15.6.1_amd64.deb
 dafd50cb8f44b35c5e01d6426997b255 639658 utils optional 
dpkg-dev_1.15.6.1_all.deb
 c87b16121b16dd07487bb4fcf82f0aa1 563782 perl optional 
libdpkg-perl_1.15.6.1_all.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)

iEYEARECAAYFAkuqtIcACgkQuW9ciZ2SjJu3/gCfZGbn0XQgQ2tx4sX5hZ06l17n
CBsAoPQtHwdzq6mVx1PvPz9iRwL0g1BJ
=0lps
-----END PGP SIGNATURE-----



--- End Message ---

Reply via email to