Skip to content

Commit

Permalink
scripts/generate-git-snapshot: explicitly set git-export-dir option w…
Browse files Browse the repository at this point in the history
…hen building with enabled overlay option

If debian/gbp.conf contains something like:

| [buildpackage]
| overlay = True
| export-dir = ../build-area

then invoking gbp with our default $GBP_OPTS then it will fail with:

| gbp:error: Overlay must be used with --git-export-dir.

To avoid running into this, let's check for the overlay option,
and if it's enabled then explicitly set --git-export-dir= to '--git-export-dir=../'
to generate the orig.tar.* files at the expected place.

JFTR, we are *not* setting --git-export-dir=../ by default, as this
involves some further operations going on, which might be unexpected
in existing installations where the overlay feature isn't present/enabled.
See e.g.:

| % gbp buildpackage -nc --git-force-create --git-ignore-new --git-ignore-branch -S -us -uc --git-verbose --git-builder=/bin/true --git-cleaner=/bin/true --git-export-dir=
| gbp:debug: ['git', 'rev-parse', '--show-cdup']
| gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
| gbp:debug: /bin/true [] []
| gbp:debug: ['git', 'symbolic-ref', 'HEAD']
| gbp:debug: ['git', 'show-ref', 'refs/heads/debian']
| gbp:debug: ['git', 'show-ref', 'refs/heads/pristine-tar']
| gbp:debug: ['git', 'ls-tree', 'upstream/5.8']
| gbp:info: zsh_5.8.orig.tar.gz does not exist, creating from 'upstream/5.8'
| gbp:debug: Building upstream tarball with compression 'gzip -9'
| gbp:debug: /bin/true ['-nc', '-S', '-us', '-uc'] []

vs:

| % gbp buildpackage -nc --git-force-create --git-ignore-new --git-ignore-branch -S -us -uc --git-verbose --git-builder=/bin/true --git-cleaner=/bin/true --git-export-dir=../
| gbp:debug: ['git', 'rev-parse', '--show-cdup']
| gbp:debug: ['git', 'rev-parse', '--is-bare-repository']
| gbp:debug: /bin/true [] []
| gbp:debug: ['git', 'symbolic-ref', 'HEAD']
| gbp:debug: ['git', 'show-ref', 'refs/heads/debian']
| 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-ref', 'refs/heads/pristine-tar']
| gbp:debug: ['git', 'ls-tree', 'upstream/5.8']
| gbp:info: zsh_5.8.orig.tar.gz does not exist, creating from 'upstream/5.8'
| gbp:debug: Building upstream tarball with compression 'gzip -9'
| gbp:info: Exporting 'HEAD' to '/home/buildd/zsh-tmp'
| gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
| gbp:info: Moving '/home/buildd/zsh-tmp' to '/home/buildd/zsh-5.8'
| gbp:debug: ['git', 'show', '--pretty=medium', 'HEAD:debian/source/format']
| gbp:debug: /bin/true ['-nc', '-S', '-us', '-uc'] []
| gbp:debug: rm ['-rf', '/home/buildd/zsh-5.8'] []

Thanks: Guido Günther for feedback
Closes: #230
  • Loading branch information
Michael Prokop committed Apr 14, 2020
1 parent 787018b commit 345f782
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion scripts/generate-git-snapshot
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,14 @@ gbp_opts() {
if [ -n "${GBP_OPTS:-}" ] ; then
echo "Found environment variable GBP_OPTS, set to ${GBP_OPTS}"
else
GBP_OPTS=" -nc --git-force-create --git-ignore-new --git-ignore-branch -S -us -uc --git-verbose --git-builder=/bin/true --git-cleaner=/bin/true --git-export-dir= "
echo "Using git-buildpackage default options provided by jenkins-debian-glue"

if gbp config buildpackage.overlay | grep -q 'buildpackage.overlay=True' ; then
echo "Identified Debian package with overlay enabled, explicitly setting '--git-export-dir=../'"
GBP_OPTS=" -nc --git-force-create --git-ignore-new --git-ignore-branch -S -us -uc --git-verbose --git-builder=/bin/true --git-cleaner=/bin/true --git-export-dir=../ "
else
GBP_OPTS=" -nc --git-force-create --git-ignore-new --git-ignore-branch -S -us -uc --git-verbose --git-builder=/bin/true --git-cleaner=/bin/true --git-export-dir= "
fi
fi
}

Expand Down

0 comments on commit 345f782

Please sign in to comment.