Debian Bug report logs - #652970
dpkg-source should clean up after failing to apply a patch

version graph

Package: dpkg-dev; Maintainer for dpkg-dev is Dpkg Developers <debian-dpkg@lists.debian.org>; Source for dpkg-dev is src:dpkg.

Reported by: Michal Suchanek <michal.suchanek@ruk.cuni.cz>

Date: Thu, 22 Dec 2011 11:21:01 UTC

Severity: normal

Found in version dpkg/1.16.1.2

Fixed in version dpkg/1.16.5

Done: Guillem Jover <guillem@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, hramrach@centrum.cz, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#652970; Package dpkg-dev. (Thu, 22 Dec 2011 11:21:04 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michal Suchanek <michal.suchanek@ruk.cuni.cz>:
New Bug report received and forwarded. Copy sent to hramrach@centrum.cz, Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 22 Dec 2011 11:21:44 GMT) Full text and rfc822 format available.

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

From: Michal Suchanek <michal.suchanek@ruk.cuni.cz>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: /usr/bin/dpkg-buildpackage: breaks quilt (3.0) packages with fuzzy patches
Date: Thu, 22 Dec 2011 12:10:51 +0100
Package: dpkg-dev
Version: 1.16.1.2
Severity: normal
File: /usr/bin/dpkg-buildpackage


Building a quilt (3.0) package with fuzzy patch fails although quilt
aplies and unapplies the patch just fine. Worse, the package source may
be broken by dpk-buildpackage. It looks like the patch is applied but not
recorded as applied by quilt in the end.

$ quilt import ../qemu-kvm-0.14.1+dfsg/debian/patches/nops2.patch
Importing patch ../qemu-kvm-0.14.1+dfsg/debian/patches/nops2.patch (stored as debian/patches/nops2.patch)
$ quilt push -a
Applying patch debian/patches/nops2.patch
patching file hw/isa.h
Hunk #1 succeeded at 36 (offset 1 line).
patching file hw/pckbd.c
patching file vl.c
Hunk #1 succeeded at 2327 with fuzz 2 (offset 148 lines).
patching file qemu-options.hx
Hunk #1 succeeded at 2451 (offset 85 lines).

Now at patch debian/patches/nops2.patch
$ quilt pop -a
Removing patch debian/patches/nops2.patch
Restoring hw/isa.h
Restoring hw/pckbd.c
Restoring qemu-options.hx
Restoring vl.c

Removing patch debian/patches/scsi-disk-lazily-allocate-bounce-buffer-7285477ab1-CVE-2011-3346.diff
Restoring hw/scsi-disk.c

Removing patch debian/patches/scsi-disk-commonize-iovec-creation-between-reads-and-writes-103b40f51e-CVE-2011-3346.diff
Restoring hw/scsi-disk.c

Removing patch debian/patches/build-move-QEMU_INCLUDES-before-QEMU_CFLAGS-76dc3cf82c.diff
Restoring rules.mak

Removing patch debian/patches/05_report_debian_package_version.patch
Restoring configure

Removing patch debian/patches/04_use_etc_kvm_kvm-ifup.patch
Restoring net.h
Restoring net/tap.h

Removing patch debian/patches/03_use_etc_kvm_not_etc_qemu.patch
Restoring configure

Removing patch debian/patches/02_use_usr_share_kvm_fixed.patch
Restoring os-posix.c

No patches applied
$ quilt push -a
Applying patch debian/patches/02_use_usr_share_kvm_fixed.patch
patching file os-posix.c

Applying patch debian/patches/03_use_etc_kvm_not_etc_qemu.patch
patching file configure

Applying patch debian/patches/04_use_etc_kvm_kvm-ifup.patch
patching file net.h
patching file net/tap.h

Applying patch debian/patches/05_report_debian_package_version.patch
patching file configure

Applying patch debian/patches/build-move-QEMU_INCLUDES-before-QEMU_CFLAGS-76dc3cf82c.diff
patching file rules.mak

Applying patch debian/patches/scsi-disk-commonize-iovec-creation-between-reads-and-writes-103b40f51e-CVE-2011-3346.diff
patching file hw/scsi-disk.c

Applying patch debian/patches/scsi-disk-lazily-allocate-bounce-buffer-7285477ab1-CVE-2011-3346.diff
patching file hw/scsi-disk.c

Applying patch debian/patches/nops2.patch
patching file hw/isa.h
Hunk #1 succeeded at 36 (offset 1 line).
patching file hw/pckbd.c
patching file vl.c
Hunk #1 succeeded at 2327 with fuzz 2 (offset 148 lines).
patching file qemu-options.hx
Hunk #1 succeeded at 2451 (offset 85 lines).

Now at patch debian/patches/nops2.patch
$ dpkg-buildpackage -j6
dpkg-buildpackage: source package qemu-kvm
dpkg-buildpackage: source version 0.15.1+dfsg-1nopsaux1
dpkg-buildpackage: source changed by Michal Suchanek <hramrach@centrum.cz>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build qemu-kvm-0.15.1+dfsg
 fakeroot debian/rules clean
dh_testdir
rm -rf build/
# clean up upstream leftovers
rm -f scripts/*.pyc
dh_clean
 dpkg-source -b qemu-kvm-0.15.1+dfsg
dpkg-source: info: using source format `3.0 (quilt)'
dpkg-source: info: building qemu-kvm using existing ./qemu-kvm_0.15.1+dfsg.orig.tar.gz
patching file hw/isa.h
Hunk #1 succeeded at 36 (offset 1 line).
patching file hw/pckbd.c
patching file vl.c
Hunk #1 FAILED at 2179.
1 out of 1 hunk FAILED -- saving rejects to file vl.c.rej
patching file qemu-options.hx
Hunk #1 succeeded at 2451 (offset 85 lines).
dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -g0 -E -b -B .pc/nops2.patch/ < qemu-kvm-0.15.1+dfsg.orig.2OmAtg/debian/patches/nops2.patch gav
e error exit status 1
dpkg-buildpackage: error: dpkg-source -b qemu-kvm-0.15.1+dfsg gave error exit status 2
$ quilt pop -a
Removing patch debian/patches/nops2.patch
Restoring hw/isa.h
Restoring hw/pckbd.c
Restoring qemu-options.hx
Restoring vl.c

Removing patch debian/patches/scsi-disk-lazily-allocate-bounce-buffer-7285477ab1-CVE-2011-3346.diff
Restoring hw/scsi-disk.c

Removing patch debian/patches/scsi-disk-commonize-iovec-creation-between-reads-and-writes-103b40f51e-CVE-2011-3346.diff
Restoring hw/scsi-disk.c

Removing patch debian/patches/build-move-QEMU_INCLUDES-before-QEMU_CFLAGS-76dc3cf82c.diff
Restoring rules.mak

Removing patch debian/patches/05_report_debian_package_version.patch
Restoring configure

Removing patch debian/patches/04_use_etc_kvm_kvm-ifup.patch
Restoring net.h
Restoring net/tap.h

Removing patch debian/patches/03_use_etc_kvm_not_etc_qemu.patch
Restoring configure

Removing patch debian/patches/02_use_usr_share_kvm_fixed.patch
Restoring os-posix.c

No patches applied
$ dpkg-buildpackage -j6
dpkg-buildpackage: source package qemu-kvm
dpkg-buildpackage: source version 0.15.1+dfsg-1nopsaux1
dpkg-buildpackage: source changed by Michal Suchanek <hramrach@centrum.cz>
dpkg-buildpackage: host architecture amd64
 dpkg-source --before-build qemu-kvm-0.15.1+dfsg
dpkg-source: info: patches are not applied, applying them now
dpkg-source: info: applying 02_use_usr_share_kvm_fixed.patch
dpkg-source: info: applying 03_use_etc_kvm_not_etc_qemu.patch
dpkg-source: info: applying 04_use_etc_kvm_kvm-ifup.patch
dpkg-source: info: applying 05_report_debian_package_version.patch
dpkg-source: info: applying build-move-QEMU_INCLUDES-before-QEMU_CFLAGS-76dc3cf82c.diff
dpkg-source: info: applying scsi-disk-commonize-iovec-creation-between-reads-and-writes-103b40f51e-CVE-2011-3346.diff
dpkg-source: info: applying scsi-disk-lazily-allocate-bounce-buffer-7285477ab1-CVE-2011-3346.diff
dpkg-source: info: applying nops2.patch
patching file hw/isa.h
Hunk #1 succeeded at 36 (offset 1 line).
patching file hw/pckbd.c
patching file vl.c
Hunk #1 FAILED at 2179.
1 out of 1 hunk FAILED -- saving rejects to file vl.c.rej
patching file qemu-options.hx
Hunk #1 succeeded at 2451 (offset 85 lines).
dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -g0 -E -b -B .pc/nops2.patch/ < qemu-kvm-0.15.1+dfsg/debian/patches/nops2.patch gave error exit
 status 1
dpkg-buildpackage: error: dpkg-source --before-build qemu-kvm-0.15.1+dfsg gave error exit status 1
$ quilt push -a
Applying patch debian/patches/nops2.patch
patching file hw/isa.h
Hunk #1 FAILED at 35.
1 out of 1 hunk FAILED -- rejects in file hw/isa.h
patching file hw/pckbd.c
Hunk #1 succeeded at 128 with fuzz 2 (offset 2 lines).
Hunk #2 FAILED at 171.
Hunk #3 FAILED at 207.
Hunk #4 FAILED at 313.
Hunk #5 FAILED at 344.
Hunk #6 FAILED at 422.
Hunk #7 FAILED at 431.
Hunk #8 FAILED at 471.
Hunk #9 FAILED at 481.
8 out of 9 hunks FAILED -- rejects in file hw/pckbd.c
patching file vl.c
Hunk #1 succeeded at 2327 with fuzz 2 (offset 148 lines).
patching file qemu-options.hx
Hunk #1 succeeded at 2462 with fuzz 2 (offset 96 lines).
Patch debian/patches/nops2.patch does not apply (enforce with -f)
$ quilt pop -a
Removing patch debian/patches/scsi-disk-lazily-allocate-bounce-buffer-7285477ab1-CVE-2011-3346.diff
Restoring hw/scsi-disk.c

Removing patch debian/patches/scsi-disk-commonize-iovec-creation-between-reads-and-writes-103b40f51e-CVE-2011-3346.diff
Restoring hw/scsi-disk.c

Removing patch debian/patches/build-move-QEMU_INCLUDES-before-QEMU_CFLAGS-76dc3cf82c.diff
Restoring rules.mak

Removing patch debian/patches/05_report_debian_package_version.patch
Restoring configure

Removing patch debian/patches/04_use_etc_kvm_kvm-ifup.patch
Restoring net.h
Restoring net/tap.h

Removing patch debian/patches/03_use_etc_kvm_not_etc_qemu.patch
Restoring configure

Removing patch debian/patches/02_use_usr_share_kvm_fixed.patch
Restoring os-posix.c

No patches applied
 $ quilt push -a
Applying patch debian/patches/02_use_usr_share_kvm_fixed.patch
patching file os-posix.c

Applying patch debian/patches/03_use_etc_kvm_not_etc_qemu.patch
patching file configure

Applying patch debian/patches/04_use_etc_kvm_kvm-ifup.patch
patching file net.h
patching file net/tap.h

Applying patch debian/patches/05_report_debian_package_version.patch
patching file configure

Applying patch debian/patches/build-move-QEMU_INCLUDES-before-QEMU_CFLAGS-76dc3cf82c.diff
patching file rules.mak

Applying patch debian/patches/scsi-disk-commonize-iovec-creation-between-reads-and-writes-103b40f51e-CVE-2011-3346.diff
patching file hw/scsi-disk.c

Applying patch debian/patches/scsi-disk-lazily-allocate-bounce-buffer-7285477ab1-CVE-2011-3346.diff
patching file hw/scsi-disk.c

Applying patch debian/patches/nops2.patch
patching file hw/isa.h
Hunk #1 FAILED at 35.
1 out of 1 hunk FAILED -- rejects in file hw/isa.h
patching file hw/pckbd.c
Hunk #1 succeeded at 128 with fuzz 2 (offset 2 lines).
Hunk #2 FAILED at 171.
Hunk #3 FAILED at 207.
Hunk #4 FAILED at 313.
Hunk #5 FAILED at 344.
Hunk #6 FAILED at 422.
Hunk #7 FAILED at 431.
Hunk #8 FAILED at 471.
Hunk #9 FAILED at 481.
8 out of 9 hunks FAILED -- rejects in file hw/pckbd.c
patching file vl.c
Hunk #1 succeeded at 2327 with fuzz 2 (offset 148 lines).
patching file qemu-options.hx
Hunk #1 succeeded at 2462 with fuzz 2 (offset 96 lines).
Patch debian/patches/nops2.patch does not apply (enforce with -f)



-- System Information:
Debian Release: wheezy/sid
  APT prefers stable
  APT policy: (900, 'stable'), (500, 'testing'), (410, 'unstable'), (200, 'experimental'), (111, 'oldstable'), (107, 'natty-updates'), (107, 'natty')
Architecture: amd64 (x86_64)

Kernel: Linux 3.2.0-rc3 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/bash

Versions of packages dpkg-dev depends on:
ii  base-files                    6.5        Debian base system miscellaneous f
ii  binutils                      2.22-2     GNU assembler, linker and binary u
ii  bzip2                         1.0.5-6    high-quality block-sorting file co
ii  libdpkg-perl                  1.16.1.2   Dpkg perl modules
ii  make                          3.81-8.1   An utility for Directing compilati
ii  patch                         2.6-2      Apply a diff file to an original
ii  xz-utils                      5.0.0-2    XZ-format compression utilities

Versions of packages dpkg-dev recommends:
ii  bcc [c-compiler]             0.16.17-3.1 16-bit x86 C compiler
ii  build-essential              11.5        Informational list of build-essent
ii  fakeroot                     1.14.4-1    Gives a fake root environment
ii  gcc [c-compiler]             4:4.6.1-3   GNU C compiler
ii  gcc-4.4 [c-compiler]         4.4.6-14    GNU C compiler
ii  gcc-4.5 [c-compiler]         4.5.3-9     The GNU C compiler
ii  gcc-4.6 [c-compiler]         4.6.2-7     GNU C compiler
ii  gnupg                        1.4.10-4    GNU privacy guard - a free PGP rep
ii  gpgv                         1.4.10-4    GNU privacy guard - signature veri
ii  libalgorithm-merge-perl      0.08-2      Perl module for three-way merge of

Versions of packages dpkg-dev suggests:
ii  debian-keyring                2010.12.29 GnuPG keys of Debian Developers

-- no debconf information




Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#652970; Package dpkg-dev. (Thu, 22 Dec 2011 15:18:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Raphael Hertzog <hertzog@debian.org>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 22 Dec 2011 15:18:03 GMT) Full text and rfc822 format available.

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

From: Raphael Hertzog <hertzog@debian.org>
To: Michal Suchanek <michal.suchanek@ruk.cuni.cz>, 652970@bugs.debian.org
Subject: Re: Bug#652970: /usr/bin/dpkg-buildpackage: breaks quilt (3.0) packages with fuzzy patches
Date: Thu, 22 Dec 2011 16:16:30 +0100
On Thu, 22 Dec 2011, Michal Suchanek wrote:
> Building a quilt (3.0) package with fuzzy patch fails although quilt
> aplies and unapplies the patch just fine.

This is normal and not really a bug. We really want patches that apply
without fuzz. Otherwise there are too many risks of misapplied patches.

> Worse, the package source may be broken by dpkg-buildpackage. It looks
> like the patch is applied but not recorded as applied by quilt in the
> end.

This is worthy of investigation. But I don't really

[ All patches applied ]
> $ dpkg-buildpackage -j6
[...]
>  dpkg-source -b qemu-kvm-0.15.1+dfsg
> dpkg-source: info: using source format `3.0 (quilt)'
> dpkg-source: info: building qemu-kvm using existing ./qemu-kvm_0.15.1+dfsg.orig.tar.gz
> patching file hw/isa.h
> Hunk #1 succeeded at 36 (offset 1 line).
> patching file hw/pckbd.c
> patching file vl.c
> Hunk #1 FAILED at 2179.
> 1 out of 1 hunk FAILED -- saving rejects to file vl.c.rej
> patching file qemu-options.hx
> Hunk #1 succeeded at 2451 (offset 85 lines).
> dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -g0 -E -b -B .pc/nops2.patch/ < qemu-kvm-0.15.1+dfsg.orig.2OmAtg/debian/patches/nops2.patch gav
> e error exit status 1
> dpkg-buildpackage: error: dpkg-source -b qemu-kvm-0.15.1+dfsg gave error exit status 2

Since all patches were already applied, the failure happens when
dpkg-source tries to apply patches to the pristine copy unpacked in a
temporary directory. So it can't really mess up with your source package.

So it's to be expected that "quilt pop -a" works as usual:
> $ quilt pop -a
> Removing patch debian/patches/nops2.patch
[...]
> No patches applied

But now if you run it with patches unapplied, dpkg-source --before-build
will try to apply them:
> $ dpkg-buildpackage -j6
[...]
>  dpkg-source --before-build qemu-kvm-0.15.1+dfsg
> dpkg-source: info: patches are not applied, applying them now
> dpkg-source: info: applying 02_use_usr_share_kvm_fixed.patch
> dpkg-source: info: applying 03_use_etc_kvm_not_etc_qemu.patch
> dpkg-source: info: applying 04_use_etc_kvm_kvm-ifup.patch
> dpkg-source: info: applying 05_report_debian_package_version.patch
> dpkg-source: info: applying build-move-QEMU_INCLUDES-before-QEMU_CFLAGS-76dc3cf82c.diff
> dpkg-source: info: applying scsi-disk-commonize-iovec-creation-between-reads-and-writes-103b40f51e-CVE-2011-3346.diff
> dpkg-source: info: applying scsi-disk-lazily-allocate-bounce-buffer-7285477ab1-CVE-2011-3346.diff
> dpkg-source: info: applying nops2.patch
> patching file hw/isa.h
> Hunk #1 succeeded at 36 (offset 1 line).
> patching file hw/pckbd.c
> patching file vl.c
> Hunk #1 FAILED at 2179.
> 1 out of 1 hunk FAILED -- saving rejects to file vl.c.rej
> patching file qemu-options.hx
> Hunk #1 succeeded at 2451 (offset 85 lines).
> dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -g0 -E -b -B .pc/nops2.patch/ < qemu-kvm-0.15.1+dfsg/debian/patches/nops2.patch gave error exit
>  status 1
> dpkg-buildpackage: error: dpkg-source --before-build qemu-kvm-0.15.1+dfsg gave error exit status 1

So apparently at this point, despite the failure, patch modified several
files and will not undo those changes. The correct thing to do would then
be to restore the files from .pc/nops2.patch/ so that we're back to the
initial state before we tried to apply this patch (and then clean up that
directory too).

FWIW that's what quilt is doing (with the help of its backup-files
script).

Another approach could be to --dry-run the patch first but that would be
too expensive and would impact everybody.

Yet another idea would be to re-apply the patch with the -R option. It
would drop the changes already applied (and fail again due to the changes
that failed to apply). This is probably easier to implement than the
restore from .pc/nops2.patch/ but not very clean.

Cheers,
-- 
Raphaël Hertzog ◈ Debian Developer

Pre-order a copy of the Debian Administrator's Handbook and help
liberate it: http://debian-handbook.info/liberation/




Changed Bug title to 'dpkg-source should clean up after failing to apply a patch' from '/usr/bin/dpkg-buildpackage: breaks quilt (3.0) packages with fuzzy patches' Request was from Raphaël Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Thu, 22 Dec 2011 15:27:03 GMT) Full text and rfc822 format available.

Information forwarded to debian-bugs-dist@lists.debian.org, Dpkg Developers <debian-dpkg@lists.debian.org>:
Bug#652970; Package dpkg-dev. (Thu, 22 Dec 2011 16:03:03 GMT) Full text and rfc822 format available.

Acknowledgement sent to Michal Suchanek <michal.suchanek@ruk.cuni.cz>:
Extra info received and forwarded to list. Copy sent to Dpkg Developers <debian-dpkg@lists.debian.org>. (Thu, 22 Dec 2011 16:03:06 GMT) Full text and rfc822 format available.

Message #17 received at 652970@bugs.debian.org (full text, mbox):

From: Michal Suchanek <michal.suchanek@ruk.cuni.cz>
To: Raphael Hertzog <hertzog@debian.org>
Cc: "652970@bugs.debian.org" <652970@bugs.debian.org>
Subject: Re: Bug#652970: /usr/bin/dpkg-buildpackage: breaks quilt (3.0) packages with fuzzy patches
Date: Thu, 22 Dec 2011 16:59:02 +0100
Excerpts from Raphael Hertzog's message of Thu Dec 22 16:16:30 +0100 2011:
> On Thu, 22 Dec 2011, Michal Suchanek wrote:
> > patching file qemu-options.hx
> > Hunk #1 succeeded at 2451 (offset 85 lines).
> > dpkg-source: error: LC_ALL=C patch -t -F 0 -N -p1 -u -V never -g0 -E -b -B .pc/nops2.patch/ < qemu-kvm-0.15.1+dfsg/debian/patches/nops2.patch gave error exit
> >  status 1
> > dpkg-buildpackage: error: dpkg-source --before-build qemu-kvm-0.15.1+dfsg gave error exit status 1
> 
> So apparently at this point, despite the failure, patch modified several
> files and will not undo those changes. The correct thing to do would then
> be to restore the files from .pc/nops2.patch/ so that we're back to the
> initial state before we tried to apply this patch (and then clean up that
> directory too).
> 
> FWIW that's what quilt is doing (with the help of its backup-files
> script).

And that's the right thing to do. Since I have the unmodified source
package at hand I can easily reapply and refresh the patch but generally
corrupting the sources is the job of the user, not debhelper.

> 
> Another approach could be to --dry-run the patch first but that would be
> too expensive and would impact everybody.
> 
> Yet another idea would be to re-apply the patch with the -R option. It
> would drop the changes already applied (and fail again due to the changes
> that failed to apply). This is probably easier to implement than the
> restore from .pc/nops2.patch/ but not very clean.

Since some patches like to apply in one way and not the other this might
lead to some even more obscure bugs so I don't think this is a good
idea.

Thanks

Michal




Added tag(s) pending. Request was from Raphaël Hertzog <hertzog@debian.org> to control@bugs.debian.org. (Tue, 12 Jun 2012 10:48:47 GMT) Full text and rfc822 format available.

Message sent on to Michal Suchanek <michal.suchanek@ruk.cuni.cz>:
Bug#652970. (Tue, 12 Jun 2012 10:48:57 GMT) Full text and rfc822 format available.

Message #22 received at 652970-submitter@bugs.debian.org (full text, mbox):

From: Raphaël Hertzog <hertzog@debian.org>
To: 652970-submitter@bugs.debian.org
Subject: Bug#652970 marked as pending
Date: Tue, 12 Jun 2012 10:46:58 +0000
tag 652970 pending
thanks

Hello,

Bug #652970 reported by you has been fixed in the Git repository. You can
see the changelog below, and you can check the diff of the fix at:

    http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=5b9489d

---
commit 5b9489da0e59312173209f1433a63845d26af5b7
Author: Raphaël Hertzog <hertzog@debian.org>
Date:   Tue Jun 12 12:28:46 2012 +0200

    dpkg-source: 3.0 (quilt): restore quilt backup files after a failed patch
    
    dpkg-source will now clean up after a failed application of a quilt patch.
    
    This required passing “--reject-file=-” to patch to avoid the creation
    of *.rej files that would clutter the source package and intercepting
    the failure to restore the files from .pc/$patch/.
    
    dpkg-source will also display a message explaining the most likely cause
    of failure (patch applying with fuzz).
    
    Closes: #652970

diff --git a/debian/changelog b/debian/changelog
index 9cb9211..f137f30 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,6 +1,10 @@
 dpkg (1.16.5) UNRELEASED; urgency=low
 
-  * 
+  [ Raphaël Hertzog ]
+  * dpkg-source will now clean up after a failed application of a quilt
+    patch. Closes: #652970
+    And it will display a message explaining the most likely cause of
+    failure (patch applying with fuzz).
 
   [ Updated dpkg translations ]
   * Swedish (Peter Krefting).




Reply sent to Guillem Jover <guillem@debian.org>:
You have taken responsibility. (Sat, 30 Jun 2012 05:21:23 GMT) Full text and rfc822 format available.

Notification sent to Michal Suchanek <michal.suchanek@ruk.cuni.cz>:
Bug acknowledged by developer. (Sat, 30 Jun 2012 05:21:23 GMT) Full text and rfc822 format available.

Message #27 received at 652970-close@bugs.debian.org (full text, mbox):

From: Guillem Jover <guillem@debian.org>
To: 652970-close@bugs.debian.org
Subject: Bug#652970: fixed in dpkg 1.16.5
Date: Sat, 30 Jun 2012 05:17:51 +0000
Source: dpkg
Source-Version: 1.16.5

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.16.5_all.deb
  to main/d/dpkg/dpkg-dev_1.16.5_all.deb
dpkg_1.16.5.dsc
  to main/d/dpkg/dpkg_1.16.5.dsc
dpkg_1.16.5.tar.xz
  to main/d/dpkg/dpkg_1.16.5.tar.xz
dpkg_1.16.5_amd64.deb
  to main/d/dpkg/dpkg_1.16.5_amd64.deb
dselect_1.16.5_amd64.deb
  to main/d/dpkg/dselect_1.16.5_amd64.deb
libdpkg-dev_1.16.5_amd64.deb
  to main/d/dpkg/libdpkg-dev_1.16.5_amd64.deb
libdpkg-perl_1.16.5_all.deb
  to main/d/dpkg/libdpkg-perl_1.16.5_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 652970@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Guillem Jover <guillem@debian.org> (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 ftpmaster@debian.org)


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

Format: 1.8
Date: Sat, 30 Jun 2012 04:28:51 +0200
Source: dpkg
Binary: libdpkg-dev dpkg dpkg-dev libdpkg-perl dselect
Architecture: source amd64 all
Version: 1.16.5
Distribution: unstable
Urgency: low
Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org>
Changed-By: Guillem Jover <guillem@debian.org>
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: 64642 440094 558095 621763 624000 627333 640676 643043 652970 664058 672723 673190 675333 676232 677631 678933 679010
Changes: 
 dpkg (1.16.5) unstable; urgency=low
 .
   [ Raphaël Hertzog ]
   * dpkg-source will now clean up after a failed application of a quilt
     patch. Closes: #652970
     And it will display a message explaining the most likely cause of
     failure (patch applying with fuzz).
   * When dpkg-source regenerates the automatic patch (with formats "2.0"
     or "3.0 (quilt)") it will keep the current patch header to avoid
     losing changes made by the maintainer.
   * Modify dpkg-source --commit to auto-whitelist modified binary files.
     That way the same command can be used whatever kind of upstream files
     has been modified.
   * dpkg-source now supports a new option --no-unapply-patches to force
     patches to be kept applied after build (used by formats "2.0" and "3.0
     (quilt)"). Closes: #643043
 .
   [ Guillem Jover ]
   * Add a dpkg-buildflags --status action to describe the flag settings.
     Thanks to Bernhard R. Link <brlink@debian.org>. Closes: #664058
   * Add support for “binary-only” key-value option in changelogs, to allow
     marking changelog entries as part of a binary only upload, having a
     different version from the source package. Closes: #440094, #672723
   * Minimize source architecture list on «dpkg-source -b» by removing
     architectures already covered by architecture wildcards. Closes: #675333
   * Do not assume $ENV{'HOME'} is defined in Dpkg::Source::Package.
     Thanks to Niels Thykier <niels@thykier.net>. Closes: #677631
   * Document in more detail in deb(5) the supported ar archive format.
   * Document in deb-src-control(5) the “Private-” field prefix.
   * Add new start-stop-daemon --no-close option to disable closing file
     descriptors on --background. Closes: #627333, #64642
   * Switch source compression to xz.
   * Detect ar header fields truncation due to too long member names or too
     large member sizes. Closes: #678933
   * Add new dpkg-query --control-list and --control-show commands, which
     replace the now deprecated --control-path.
   * Print master and slave alternarive link names in update-alternatives
     --query and always print alternative link in --config. Closes: #679010
   * Cleanup and clarify buffer I/O error reporting. Closes: #621763
   * Avoid full stop and double newline at the end of errors and warnings.
     Thanks to Jonathan Nieder <jnieder@gmail.com>. Closes: #624000
   * Change all programs to accept -? instead of -h for help output.
   * Add support for specific arch-qualified dependencies. Closes: #676232
     Thanks to Thibaut Girka <thib@sitedethib.com>.
   * Accept “:native” arch-qualified Build-Dependencies. Closes: #558095
     Thanks to Thibaut Girka <thib@sitedethib.com>.
   * Do not use undefined values returned form deps_parse() in dpkg-shlibdeps.
     Closes: #640676
   * Add an Architecture column to «dpkg-query -l» before the Description
     column. Suggested by Jonathan Nieder <jnieder@gmail.com>. Closes: #673190
 .
   [ Updated dpkg translations ]
   * Swedish (Peter Krefting).
 .
   [ Updated dselect translations ]
   * Swedish (Peter Krefting).
 .
   [ Updated scripts translations ]
   * German (Helge Kreutzmann).
 .
   [ Updated man page translations ]
   * German (Helge Kreutzmann).
   * Swedish (Peter Krefting).
Checksums-Sha1: 
 5e256018148d50da61a19da0cbce49f65cd03169 1372 dpkg_1.16.5.dsc
 e3aaf08015bab5c40980f36514152102556b76b2 3546160 dpkg_1.16.5.tar.xz
 d826663e329d140f38ddfc4353b937cb270c6688 666932 libdpkg-dev_1.16.5_amd64.deb
 c078e1861151da90049e7ce788cb513b769e2e0f 2266848 dpkg_1.16.5_amd64.deb
 ea065b58a7aa49771a275e4e26a7603b65becadf 1100228 dselect_1.16.5_amd64.deb
 c1e214b79282fb56eaa54ad8f2a1dc2daad64eef 1142828 dpkg-dev_1.16.5_all.deb
 085f8ee024365882d641e60e209cc3bfca43bd36 852954 libdpkg-perl_1.16.5_all.deb
Checksums-Sha256: 
 3a4eec53e585abcb15c71f08331da63610150f4858793bc68ee2df006d1da8a6 1372 dpkg_1.16.5.dsc
 fcd8d846479f3f955e1f1facc4422aed6c3173b6c5acd904d9db60f24bc18e7b 3546160 dpkg_1.16.5.tar.xz
 aba88af2256caef0fdd345ba9eeacff8d2013a07b045d5b7c93162bd0893c10b 666932 libdpkg-dev_1.16.5_amd64.deb
 1a56e13f5fc11eabb5ea7d17852cb1b3b09a117b16803e5b9a64ec14b3f37a62 2266848 dpkg_1.16.5_amd64.deb
 50ac49b8115e6d19148031ecec7f976c69a084504c42b860abd1470e63b1f5d0 1100228 dselect_1.16.5_amd64.deb
 7a23dd256195eec9f1ce2297737747a27a8c6d3beba5c9e8e9ac8d8734f07f54 1142828 dpkg-dev_1.16.5_all.deb
 d77dc62deb89a923952c533b2320130d9573e8c3ebfa09fbdf80c835ca30ef65 852954 libdpkg-perl_1.16.5_all.deb
Files: 
 571bd79d38407d605f7559cf65347c01 1372 admin required dpkg_1.16.5.dsc
 c70412c8b0f3609680104585ddb4ba5c 3546160 admin required dpkg_1.16.5.tar.xz
 49221981d6f3490ddc87c8a03bbe332d 666932 libdevel optional libdpkg-dev_1.16.5_amd64.deb
 d9128c702529b095fda97b205bf03398 2266848 admin required dpkg_1.16.5_amd64.deb
 3eed99660309c9fba61b490c057deb78 1100228 admin optional dselect_1.16.5_amd64.deb
 3c7266174c297984846a6eb88ae3730f 1142828 utils optional dpkg-dev_1.16.5_all.deb
 848633279951281c6213f877251081e3 852954 perl optional libdpkg-perl_1.16.5_all.deb

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

iEYEARECAAYFAk/uhA4ACgkQuW9ciZ2SjJvLqACgvBBdkE81qC2iEsdk4lhVoilv
hd8AoI/JlSVaR2i+DU9dLBBvCWo9RvWC
=xtFu
-----END PGP SIGNATURE-----





Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 20 Aug 2012 07:28:09 GMT) Full text and rfc822 format available.

Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Apr 17 07:52:21 2014; Machine Name: buxtehude.debian.org

Debian Bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.