Package: git-buildpackage
Version: 0.9.13
Severity: important

Hi,

I found a little oddity with --overlay.
If ../buildarea/<packagename>-tmp exists (because I interrupted a build
early with Ctrl-C), the next build will fail because <packagename>-tmp
is missing (after gbp-buildpackage successfully renamed the old bits to
<packagename>-tmp.obsolete.*.*). Rerunning the command again will
succeed.

This seems to be reproducible with a regular (non-native) package that
does not use overlay mode by just using --git-overlay, --git-export-dir,
--git-tarball-dir. (The build will fail in this case, but it seems to be
sufficient to reproduce.)

Here is the transcript from doing this with (a properly overlayed)
package nvidia-cuda-toolkit (but debian/gbp.conf removed).

I also noticed that it queries the source format quite often - why isn't
that cached?

$ mkdir -p ../build-area/nvidia-cuda-toolkit-tmp

$ gbp buildpackage --git-verbose --git-overlay --git-export-dir=../build-area 
--git-tarball-dir=../tarballs --git-no-pristine-tar
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', 'status', '--porcelain']
gbp:debug: ['git', 'symbolic-ref', 'HEAD']
gbp:debug: ['git', 'show-ref', 'refs/heads/master']
gbp:debug: ['git', 'ls-tree', 'HEAD']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/changelog']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show-ref', '--verify', 'refs/heads/pristine-tar']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: Looking for orig tarballs 'nvidia-cuda-toolkit_9.2.148.orig.tar.gz' 
at '../tarballs'
gbp:info: All Orig tarballs 'nvidia-cuda-toolkit_9.2.148.orig.tar.gz' found at 
'../tarballs'
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:info: Extracting 'nvidia-cuda-toolkit_9.2.148.orig.tar.gz' to 
'/tmp/gbp-test/build-area/nvidia-cuda-toolkit-tmp'
gbp:debug: tar ['-C', '/tmp/gbp-test/build-area/nvidia-cuda-toolkit-tmp', '-a', 
'-xf', '../tarballs/nvidia-cuda-toolkit_9.2.148.orig.tar.gz'] []
tar: /tmp/gbp-test/build-area/nvidia-cuda-toolkit-tmp: Cannot open: No such 
file or directory
tar: Error is not recoverable: exiting now
gbp:error: Couldn't unpack 
'../tarballs/nvidia-cuda-toolkit_9.2.148.orig.tar.gz': it exited with 2

$ ls -l ../build-area/
total 0
drwxr-xr-x 2 beckmann beckmann 40 Mar 19 18:57 
nvidia-cuda-toolkit-tmp.obsolete.1553018428.34257
lrwxrwxrwx 1 beckmann beckmann 62 Mar 19 19:00 
nvidia-cuda-toolkit_9.2.148.orig.tar.gz -> 
/tmp/gbp-test/tarballs/nvidia-cuda-toolkit_9.2.148.orig.tar.gz

$ gbp buildpackage --git-verbose --git-overlay --git-export-dir=../build-area 
--git-tarball-dir=../tarballs --git-no-pristine-tar
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', 'status', '--porcelain']
gbp:debug: ['git', 'symbolic-ref', 'HEAD']
gbp:debug: ['git', 'show-ref', 'refs/heads/master']
gbp:debug: ['git', 'ls-tree', 'HEAD']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/changelog']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show-ref', '--verify', 'refs/heads/pristine-tar']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: Looking for orig tarballs 'nvidia-cuda-toolkit_9.2.148.orig.tar.gz' 
at '../tarballs'
gbp:info: All Orig tarballs 'nvidia-cuda-toolkit_9.2.148.orig.tar.gz' found at 
'../tarballs'
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
gbp:info: Extracting 'nvidia-cuda-toolkit_9.2.148.orig.tar.gz' to 
'/tmp/gbp-test/build-area/nvidia-cuda-toolkit-tmp'
gbp:debug: tar ['-C', '/tmp/gbp-test/build-area/nvidia-cuda-toolkit-tmp', '-a', 
'-xf', '../tarballs/nvidia-cuda-toolkit_9.2.148.orig.tar.gz'] []
[this time it works as expected]

Andreas

Reply via email to