Bug#1003107: "failed to find ref" when following gbp guide

2022-01-06 Thread Guido Günther
Hi,
On Tue, Jan 04, 2022 at 09:42:10AM +0100, Marc Haber wrote:
> Package: git-buildpackage
> Version: 0.9.25
> Severity: minor
> 
> Hi,
> 
> I am not sure whether this is a software bug or a bug in the
> documentation. I am therefore trying to file this against the guide
> "Building Debian Packages using git-buildpackage" 0.9.25 as published on
> honk.sigxcpu.org/projects/git-buildpackage/manual-html
> 
> Thanks for writing that guide, it is the most comprehensive information
> about gbp that I have ever seen, and it is easy to understand and gives
> a lot of information even to a DD who has been using gbp for many years.
> 
> I followed the chapter "When Upstream uses git / no upstream tarballs"
> with the extension that Upstream also does not do release tags. I
> therefore created my own "release tag", upstream/v0_20211218.
> 
> In this environment, gbp buildpackage --git-export=WC complain that the
> tarball could not be verified:
> 
> [97/7578]mh@drop:~/packages/oas/oas (debian/sid % u+1) $ gbp buildpackage 
> --git-export=WC --git-verbose
> gbp:debug: ['git', 'rev-parse', '--show-cdup']
> gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
> gbp:debug: ['git', 'rev-parse', '--git-dir']
> gbp:debug: /bin/true [] []
> gbp:debug: ['git', 'symbolic-ref', 'HEAD']
> gbp:debug: ['git', 'show-ref', 'refs/heads/debian/sid']
> gbp:debug: ['git', 'add', '-f', '/home/mh/packages/oas/oas']
> gbp:debug: ['git', 'write-tree']
> gbp:debug: ['git', 'ls-tree', '098f3cea3a2b52e88a49956dab2cac53ed0496bd']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/changelog']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show-ref', '--verify', 'refs/heads/pristine-tar']
> gbp:debug: ['git', 'show-ref', '--verify', 'refs/remotes/origin/pristine-tar']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: ['git', 'show', '--pretty=medium', 
> '098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
> gbp:debug: Looking for orig tarballs 'oas_0~20211218-1~1.orig.tar.gz' at 
> '../tarballs'
> gbp:info: All Orig tarballs 'oas_0~20211218-1~1.orig.tar.gz' found at 
> '../tarballs'
> gbp:debug: pristine-tar [] ['--help']
> gbp:debug: pristine-tar [] ['verify', 
> '/home/mh/packages/oas/build-area/oas_0~20211218-1~1.orig.tar.gz']
> gbp:error: Pristine-tar couldn't verify "oas_0~20211218-1~1.orig.tar.gz": 
> pristine-tar: no pristine-tar branch found, use "pristine-tar commit" first
> [98/7579]mh@drop:~/packages/oas/oas (debian/sid % u+1) $

You have pristine-tar enabledx. You can export a tarball without it
adding `--git-no-pristine-tar`. Pristine-tar is not enabled by default.

> and the recommended call to pristine-tar fails as well:
> 
> $ pristine-tar --verbose commit ../tarballs/oas_0~20211218-1~1.orig.tar.gz
> pristine-tar: failed to find ref using: git show-ref upstream

What did you call the branch with the usptream sources?

try:

   gbp pristine-tar commit ../tarballs/oas_0~20211218-1~1.orig.tar.gz

if your upstream tag format is set up correctly it should do the right
thing.

> And in fact, the documented way of cloning the upstream repo as upstream
> and then adding debian/sid does not create an upstream branch.
> 
> What is the intended way to proceed from here?
> 
> Is this:
> 
> (1) a bug in the Guide, omitting to create the upstream branch?

I'd assume the upstream branch is there but can't tell for sure without
seeing the repo layout.

> (2) a bug in the Guide, omitting the configuration so that gbp knows
> there is no upstream branch?

There's no indication above that gbp doesn't find the upstream branch or
did I miss that? It seems `pristine-tar` doesn't find it.

> (3) a bug in gbp, not properly handling the "upstream branch missing"
> situation?

It works as expected:

>From your log:

> gbp:info: All Orig tarballs 'oas_0~20211218-1~1.orig.tar.gz' found at 
> '../tarballs'

^^ so it finds the tarball there

> gbp:debug: pristine-tar [] ['verify', 
> 

Bug#1003107: "failed to find ref" when following gbp guide

2022-01-04 Thread Marc Haber
Package: git-buildpackage
Version: 0.9.25
Severity: minor

Hi,

I am not sure whether this is a software bug or a bug in the
documentation. I am therefore trying to file this against the guide
"Building Debian Packages using git-buildpackage" 0.9.25 as published on
honk.sigxcpu.org/projects/git-buildpackage/manual-html

Thanks for writing that guide, it is the most comprehensive information
about gbp that I have ever seen, and it is easy to understand and gives
a lot of information even to a DD who has been using gbp for many years.

I followed the chapter "When Upstream uses git / no upstream tarballs"
with the extension that Upstream also does not do release tags. I
therefore created my own "release tag", upstream/v0_20211218.

In this environment, gbp buildpackage --git-export=WC complain that the
tarball could not be verified:

[97/7578]mh@drop:~/packages/oas/oas (debian/sid % u+1) $ gbp buildpackage 
--git-export=WC --git-verbose
gbp:debug: ['git', 'rev-parse', '--show-cdup']
gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
gbp:debug: ['git', 'rev-parse', '--git-dir']
gbp:debug: /bin/true [] []
gbp:debug: ['git', 'symbolic-ref', 'HEAD']
gbp:debug: ['git', 'show-ref', 'refs/heads/debian/sid']
gbp:debug: ['git', 'add', '-f', '/home/mh/packages/oas/oas']
gbp:debug: ['git', 'write-tree']
gbp:debug: ['git', 'ls-tree', '098f3cea3a2b52e88a49956dab2cac53ed0496bd']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/changelog']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show-ref', '--verify', 'refs/heads/pristine-tar']
gbp:debug: ['git', 'show-ref', '--verify', 'refs/remotes/origin/pristine-tar']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 
'098f3cea3a2b52e88a49956dab2cac53ed0496bd:debian/source/format']
gbp:debug: Looking for orig tarballs 'oas_0~20211218-1~1.orig.tar.gz' at 
'../tarballs'
gbp:info: All Orig tarballs 'oas_0~20211218-1~1.orig.tar.gz' found at 
'../tarballs'
gbp:debug: pristine-tar [] ['--help']
gbp:debug: pristine-tar [] ['verify', 
'/home/mh/packages/oas/build-area/oas_0~20211218-1~1.orig.tar.gz']
gbp:error: Pristine-tar couldn't verify "oas_0~20211218-1~1.orig.tar.gz": 
pristine-tar: no pristine-tar branch found, use "pristine-tar commit" first
[98/7579]mh@drop:~/packages/oas/oas (debian/sid % u+1) $ 

and the recommended call to pristine-tar fails as well:

$ pristine-tar --verbose commit ../tarballs/oas_0~20211218-1~1.orig.tar.gz
pristine-tar: failed to find ref using: git show-ref upstream

And in fact, the documented way of cloning the upstream repo as upstream
and then adding debian/sid does not create an upstream branch.

What is the intended way to proceed from here?

Is this:

(1) a bug in the Guide, omitting to create the upstream branch?
(2) a bug in the Guide, omitting the configuration so that gbp knows
there is no upstream branch?
(3) a bug in gbp, not properly handling the "upstream branch missing"
situation?
(4) a user error?

I would appreciate directions how to proceed here and maybe added
explanation (in the guide?).

Greetings
Marc

-- System Information:
Debian Release: bookworm/sid
  APT prefers unstable-debug
  APT policy: (500, 'unstable-debug'), (500, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 5.15.12-zgws1 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_DIE, TAINT_OOT_MODULE
Locale: LANG=de_DE.utf8, LC_CTYPE=de_DE.utf8 (charmap=UTF-8), LANGUAGE=en
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages git-buildpackage depends on:
ii  devscripts 2.21.7
ii  git1:2.34.1-1
ii  man-db 2.9.4-4
ii  python33.9.8-1
ii  python3-dateutil   2.8.1-6
ii  python3-pkg-resources  59.6.0-1
ii  sensible-utils 0.0.17

Versions of packages git-buildpackage recommends:
ii  cowbuilder0.89
ii  pbuilder  0.231
ii  pristine-tar  1.49
ii  python3-requests  2.25.1+dfsg-2

Versions of packages