Debian Bug report logs - #16415
dpkg-dev: dpkg-source fooled by removal of a line beginning "--" in a patch

Package: dpkg; Maintainer for dpkg is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for dpkg is src:dpkg (PTS, buildd, popcon).

Reported by: James Troup <J.J.Troup@scm.brad.ac.uk>

Date: Wed, 31 Dec 1997 17:03:01 UTC

Severity: normal

Done: Anthony Towns <ajt@master.debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>:
Bug#16415; Package dpkg-dev. (full text, mbox, link).


Acknowledgement sent to James Troup <J.J.Troup@scm.brad.ac.uk>:
New bug report received and forwarded. Copy sent to Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>. (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: James Troup <J.J.Troup@scm.brad.ac.uk>
To: submit@bugs.debian.org
Subject: dpkg-dev: dpkg-source fooled by removal of a line beginning "--" in a patch
Date: 31 Dec 1997 16:59:37 +0000
Package: dpkg-dev
Version: 1.4.0.19

17:52:03@hades| ~/temp $dpkg-source -x postgresql_6.2.1-4.dsc
dpkg-source: error: diff patches file (get price for price_id == 5 as it was @ "date" 25) not in expected subdirectory
17:52:13@hades| ~/temp $

The relevant part of the file is:

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -176,8 +182,8 @@
 select * from tttest;
 -- isn't it what we need ?

--- get price for price_id == 5 as it was @ "date" 25
-select * from tttest where price_on <= 25 and price_off > 25 and price_id = 5;
+-- get price for price_id == 5 as it was @ "date" 35
+select * from tttest where price_on <= 35 and price_off > 35 and price_id = 5;

 drop table tttest;
 drop sequence ttdummy_seq;
--- postgresql-6.2.1.orig/src/test/regress/logfile
+++ postgresql-6.2.1/src/test/regress/logfile
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

AFAICS, dpkg-source incorrectly thinks the "--- get price for price_id
[ ... ]" is the beginning of a patch chunk.  Patch itself doesn't have
a problem with the diff...

-- 
James


Information forwarded to debian-bugs-dist@lists.debian.org, Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>:
Bug#16415; Package dpkg-dev. (full text, mbox, link).


Acknowledgement sent to "Oliver Elphick" <olly@lfix.co.uk>:
Extra info received and forwarded to list. Copy sent to Klee Dienes and Ian Jackson <dpkg-maint@chiark.greenend.org.uk>. (full text, mbox, link).


Message #10 received at 16415@bugs.debian.org (full text, mbox, reply):

From: "Oliver Elphick" <olly@lfix.co.uk>
To: 16415@bugs.debian.org
Subject: Patch to fix this bug
Date: Tue, 12 Jan 1999 06:36:29 +0000
This patch works with the smalleiffel package, which had been falling over
this bug.

------- Forwarded Message

Date:    Mon, 11 Jan 1999 20:07:46 -0500
From:    Ben Collins <bmc@visi.net>
To:      Oliver Elphick <olly@lfix.co.uk>
cc:      debian-devel@lists.debian.org
Subject: Re: Perl expert wanted to solve dpkg-source bug#16415, please


- --Y7xTucakfITjPcLV
Content-Type: multipart/mixed; boundary="ibTvN161/egqYuK8"


- --ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii

On Mon, Jan 11, 1999 at 10:57:40PM +0000, Oliver Elphick wrote:
> I need a solution to this dpkg-source bug, because it is preventing
> one of my packages from being extracted.

Damnit, scratch the last patch. It works but doesn't take errors into
account as well as it should. This is the "better" one. :)

sorry for not testing it as much as i should have.

- --
- -----    -- - -------- --------- ----  -------  -----  - - ---   --------
Ben Collins <b.m.collins@larc.nasa.gov>                  Debian GNU/Linux
UnixGroup Admin - Jordan Systems Inc.                 bcollins@debian.org
- ------ -- ----- - - -------   ------- -- The Choice of the GNU Generation

- --ibTvN161/egqYuK8
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="dpkg-source.diff"

- --- /usr/bin/dpkg-source	Sun Nov  1 12:50:44 1998
+++ dpkg-source	Mon Jan 11 20:03:25 1999
@@ -511,7 +511,31 @@
         $/="\n";
         while (<GZIP>) {
             s/\n$// || &error("diff is missing trailing newline");
- -            if (/^--- /) {
+	    if (/^\@\@ .* \@\@$/) {
+		@patch_args = split(' ', $_);
+		($dump, $after_lines) = split(',', $patch_args[2]);
+		if ($after_lines eq "") { $after_lines = $dump; }
+		($dump, $before_lines) = split(',', $patch_args[1]);
+		$count_before = 0;
+		$count_after = 0;
+		while ($after_lines > $count_after || $before_lines > $count_be
fore) {
+		    $_= <GZIP>; s/\n$// ||
+			&error("diff finishes in middle of file patch (line $.)
");
+		    if (/^\+/) {
+			$count_after++;
+		    } elsif (/^-/) {
+			$count_before++;
+		    } elsif (/^ /) {
+			$count_after++;
+			$count_before++;
+		    } elsif (/^@/) {
+			&error("premature finish to file patch (line $.)");
+		    } elsif (/^\\ No newline at end of file$/) {
+		    } else {
+			&error ("diff contains unknown line \`$_'");
+		    }
+		}
+	    } elsif (/^--- /) {
                 $fn= $';
                 substr($fn,0,length($expectprefix)+1) eq "$expectprefix/" ||
                     &error("diff patches file ($fn) not in expected subdirecto
ry");
@@ -529,9 +553,8 @@
                     &error("line after --- for file $fn isn't as expected");
                 $filepatched{$fn}++ && &error("diff patches file $fn twice");
             } elsif (/^\\ No newline at end of file$/) {
- -            } elsif (/^[-+ \@]/) {
 	    } else {
- -                &error ("diff contains unknown line \`$_'");
+                &error ("diff contains unknown line \`$_' (line $.)");
             }
         }
         close(GZIP);

- --ibTvN161/egqYuK8--

- --Y7xTucakfITjPcLV
Content-Type: application/pgp-signature

- -----BEGIN PGP SIGNATURE-----
Version: 2.6.3ia

iQCVAwUBNpqgYio9WkFm9rsJAQGhJQP/VYr4gTWMJvTfG7LXTN2vJcuCeYZVuDpe
XvpVJHU5uvzqmKbPA8N4Ov1DF9zWRpKfGgyVLfacYslkJgSGoNU5NLpw6n2ZmP5L
HsAnRwKMPchdfOeNbHMJKw4PiVUJtL/kA1PdYy6sDDFgWw+iGATtXsdgRDoB1GWl
L4MvnNYUmxI=
=1Ltw
- -----END PGP SIGNATURE-----

- --Y7xTucakfITjPcLV--


- -- 
To UNSUBSCRIBE, email to debian-devel-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org


------- End of Forwarded Message


-- 
Oliver Elphick                                Oliver.Elphick@lfix.co.uk
Isle of Wight                              http://www.lfix.co.uk/oliver
               PGP key from public servers; key ID 32B8FAA1
                 ========================================
     "For the LORD is good; his mercy is everlasting; and 
      his truth endureth to all generations."         
                                     Psalms 100:5 




Bug reassigned from package `dpkg-dev' to `dpkg-iwj'. Request was from Ben Collins <bcollins@debian.org> to control@bugs.debian.org. (full text, mbox, link).


Bug reassigned from package `dpkg-iwj' to `dpkg'. Request was from Anthony Towns <ajt@master.debian.org> to control@bugs.debian.org. (full text, mbox, link).


Bug closed, ack sent to submitter - they'd better know why ! Request was from Anthony Towns <ajt@master.debian.org> to control@bugs.debian.org. (full text, mbox, link).


Bug reassigned from package `dpkg' to `dpkg'. Request was from Anthony Towns <ajt@master.debian.org> to control@bugs.debian.org. (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Apr 25 19:52:58 2024; Machine Name: bembo

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.