Control: clone -1 -2
Control: severity -2 normal
Control: reassign -2 git-buildpackage
Control: found -2 0.9.14
Control: fixed -2 0.8.12.2

Hi.  Dear gbp maintainers:

gbp pq can fail to apply patches where the `Date:' in the patch is
mangled or broken.  My test case works in stretch, but not buster:

peter green writes ("Bug#950326: dgit: can't import binutils 
2.33.90.20200122-2"):
> Package: dgit
> Version: 9.9~bpo10+1
> 
> When trying to import binutils 2.33.90.20200122-2 I get the following.
> 
> ['dgit', 'import-dsc', 
> '/build/workingrepo/pool/main/b/binutils/binutils_2.33.90.20200122-2.dsc', 
> '..workingbranch']
> Dgit metadata in .dsc: NO git hash
> using existing binutils_2.33.90.20200122.orig.tar.xz
> using existing binutils_2.33.90.20200122-2.debian.tar.xz
> dpkg-source: info: extracting binutils in binutils-2.33.90.20200122
> dpkg-source: info: unpacking binutils_2.33.90.20200122.orig.tar.xz
> dpkg-source: info: unpacking binutils_2.33.90.20200122-2.debian.tar.xz
> warning: gbp pq import failed: subprocess failed with error exit status 1
> dgit: trying slow absurd-git-apply...
> gbp:error: Failed to apply 
> '/build/git/b/binutils/.git/dgit/unpack/binutils-2.33.90.20200122/debian/patches/001_ld_makefile_patch.patch':
>  Failed to commit tree: fatal: invalid date format: ??
> gbp:error: Couldn't apply patches
> gbp pq import failed: subprocess failed with error exit status 1

Steps to reproduce, without using dgit:

  DGET_UNPACK=no dget 
http://deb.debian.org/debian/pool/main/b/binutils/binutils_2.33.90.20200122-2.dsc
  dpkg-source --skip-patches -x binutils_2.33.90.20200122-2.dsc
  cd binutils-2.33.90.20200122/
  git add -Af .
  git commit -q -m import
  gbp pq import

Actual results:

  gbp:error: Failed to apply 
'/home/ian/things/Dgit/Bugs/950326/binutils-2.33.90.20200122/debian/patches/001_ld_makefile_patch.patch':
 Failed to commit tree: fatal: invalid date format: ??

Expected results: some kind of degraded operation, eg as with gbp pq
from stretch:

  gbp:info: Trying to apply patches at
  '8f09971b78f3a5deb13ee5b0afe7813855e2fc3a'
  gbp:warning: Patch '001_ld_makefile_patch.patch' has no authorship 
information, using 'Matthias Klose <d...@debian.org>'
  gbp:warning: Patch '002_gprof_profile_arcs.patch' has no authorship 
information, using 'Matthias Klose <d...@debian.org>'
  [...]
  gbp:info: 20 patches listed in 'debian/patches/series' imported on 
'patch-queue/master'

The patch files in the binutils are quite badly mangled:

  Author: 
  Description: Description: correct where ld scripts are installed
  Author: Chris Chimelis <ch...@debian.org>
  Upstream status: N/A
  Date: ??
  --- a/ld/Makefile.am
  +++ b/ld/Makefile.am

Note the two Author lines as well as the mangled Date.  stretch's gbp
seems to handle this by ignoring the metadata, or rather, treating it
as commit message.

I am hoping that gbp's design intent is for it to work on arbitrary
packages that dpkg-source accepts.  If this is not the case then
please feel free to downgrade or even close this report against gbp.

Thanks,
Ian.

-- 
Ian Jackson <ijack...@chiark.greenend.org.uk>   These opinions are my own.

If I emailed you from an address @fyvzl.net or @evade.org.uk, that is
a private address which bypasses my fierce spamfilter.

Reply via email to