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.