Bug#841094: dgit: shouldn't fail when gbp is about to generate an orig.tar

2016-10-22 Thread Ian Jackson
Sean Whitton writes ("Bug#841094: dgit: shouldn't fail when gbp is about to 
generate an orig.tar"):
> On Mon, Oct 17, 2016 at 05:38:51PM +0100, Ian Jackson wrote:
> > Is there a way to invoke gbp to have it just generate the .orig ?
> 
> I don't think so, but I haven't checked carefully enough to feel
> justified in filing a wishlist bug against gbp just yet.

Having RTFM gbp-buildpackage(1) again I think this could be achieved
by running gbp with a --git-prebuild hook.

Ian.

-- 
Ian Jackson    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.



Bug#841094: dgit: shouldn't fail when gbp is about to generate an orig.tar

2016-10-17 Thread Sean Whitton
Hello,

On Mon, Oct 17, 2016 at 05:38:51PM +0100, Ian Jackson wrote:
> Is there a way to invoke gbp to have it just generate the .orig ?

I don't think so, but I haven't checked carefully enough to feel
justified in filing a wishlist bug against gbp just yet.

If gbp exposed this functionality, dgit could be configured to use it
automatically in any quilt mode (relevant to #817951).

-- 
Sean Whitton


signature.asc
Description: PGP signature


Bug#841094: dgit: shouldn't fail when gbp is about to generate an orig.tar

2016-10-17 Thread Ian Jackson
Sean Whitton writes ("Bug#841094: dgit: shouldn't fail when gbp is about to 
generate an orig.tar"):
> It's common for maintainers using a patches-unapplied gbp repo to let
> gbp handle orig.tar generation.  It actually does a better job than
> git-archive(1) because the latter can perform substitutions into
> .git_archival.txt such that the orig.tar is not suitable to represent
> HEAD.

How exciting.  Right.

> However, dgit makes this difficult:
> 
> hephaestus ~/src/helm % dgit 
> -cdgit-distro.debian.dgit-tag-format=old,new,maint gbp-build
> Format `3.0 (quilt)', need to check/update patch stack
> examining quilt state (multiple patches, gbp mode)
> dgit: split brain (separate dgit view) may be needed (--quilt=gbp).
> dpkg-source: error: missing orig.tar or debian.tar file in v2.0 source 
> package
> dgit: failed command: sh -ec 'exec dpkg-source --no-check --skip-patches 
> -x fake.dsc >/dev/null'
> dgit: subprocess failed with error exit status 255
> 
> (I believe that the -c, included to workaround #841085, is irrelevant here)

Indeed.

> This forces the user to run a plain `gbp buildpackage`, which generates
> the tarball, before they're able to run `dgit gbp-build`.  It would be
> nice if that wasn't needed.

Is there a way to invoke gbp to have it just generate the .orig ?

Having `dgit gbp-build' invoke `gbp buildpackage' _before_ it does its
patch stack manipulation would considerably complicate matters.  It
might end up having to invoke gbp buildpackage twice (which would be
quite undesirable), or invoke things in a different order depending on
the quilt mode.

Ian.



Bug#841094: dgit: shouldn't fail when gbp is about to generate an orig.tar

2016-10-17 Thread Sean Whitton
Package: dgit
Version: 2.1
Severity: wishlist

It's common for maintainers using a patches-unapplied gbp repo to let
gbp handle orig.tar generation.  It actually does a better job than
git-archive(1) because the latter can perform substitutions into
.git_archival.txt such that the orig.tar is not suitable to represent
HEAD.

However, dgit makes this difficult:

hephaestus ~/src/helm % dgit 
-cdgit-distro.debian.dgit-tag-format=old,new,maint gbp-build
Format `3.0 (quilt)', need to check/update patch stack
examining quilt state (multiple patches, gbp mode)
dgit: split brain (separate dgit view) may be needed (--quilt=gbp).
dpkg-source: error: missing orig.tar or debian.tar file in v2.0 source 
package
dgit: failed command: sh -ec 'exec dpkg-source --no-check --skip-patches -x 
fake.dsc >/dev/null'
dgit: subprocess failed with error exit status 255

(I believe that the -c, included to workaround #841085, is irrelevant here)

This forces the user to run a plain `gbp buildpackage`, which generates
the tarball, before they're able to run `dgit gbp-build`.  It would be
nice if that wasn't needed.

-- System Information:
Debian Release: stretch/sid
  APT prefers testing
  APT policy: (900, 'testing')
Architecture: i386 (i686)

Kernel: Linux 4.5.0-2-686-pae (SMP w/2 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages dgit depends on:
ii  ca-certificates   20160104
ii  coreutils 8.25-2
ii  curl  7.50.1-1
ii  devscripts2.16.8
ii  dpkg-dev  1.18.10
ii  dput  0.10.3
ii  git [git-core]1:2.9.3-1
ii  git-buildpackage  0.8.4
ii  libdpkg-perl  1.18.10
ii  libjson-perl  2.90-1
ii  liblist-moreutils-perl0.416-1+b1
ii  libperl5.24 [libdigest-sha-perl]  5.24.1~rc3-3
ii  libtext-iconv-perl1.7-5+b4
ii  libwww-perl   6.15-1
ii  perl  5.24.1~rc3-3

Versions of packages dgit recommends:
ii  openssh-client [ssh-client]  1:7.3p1-1

Versions of packages dgit suggests:
ii  sbuild  0.71.0-2

-- no debconf information

-- 
Sean Whitton


signature.asc
Description: PGP signature