Package: git-buildpackage
Version: 0.8.8
Severity: important
Hi,
It seems like `gbp buildpackage` doesn't run a `dpkg-source
--before-build` before doing things (like `dpkg-buildpackage`
does). This results in weird behavior, and possibly harmful behavior.
Here is an example:
micah@muck:diceware-debian3$ gbp buildpackage --git-pristine-tar
--git-upstream-tag='v%(version)s' --git-debian-branch=debian
dh clean --with python2 --buildsystem=python_distutils
dh_testdir -O--buildsystem=python_distutils
dh_auto_clean -O--buildsystem=python_distutils
python setup.py clean -a
running clean
'build/lib.linux-x86_64-2.7' does not exist -- can't clean it
'build/bdist.linux-x86_64' does not exist -- can't clean it
'build/scripts-2.7' does not exist -- can't clean it
find . -name \*.pyc -exec rm {} \+
dh_clean -O--buildsystem=python_distutils
gbp:error: You have uncommitted changes in your source tree:
gbp:error: On branch debian
Your branch is up-to-date with 'origin/debian'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
.eggs/
nothing added to commit but untracked files present (use "git add" to track)
gbp:error: Use --git-ignore-new to ignore.
micah@muck:diceware-debian3$
As you can see, I tried to build and the build failed because of that
odd .eggs/ directory appearing. I chased this around for some time,
and eventually I tried to build with dpkg-buildpackage:
micah@muck:diceware-debian141$ dpkg-buildpackage -us -uc
dpkg-buildpackage: info: source package diceware
dpkg-buildpackage: info: source version 0.9.1-1
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Andre Bianchi <[email protected]>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build diceware-debian
dpkg-checkbuilddeps: error: Unmet build dependencies: python-pytest-runner
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)
Hello! I'm missing a build-dependency! Why didn't `gbp buildpackage`
tell me that in the first place?
If `gbp buildpackage` is willing to go ahead with running a build
before checking build-dependencies, then it is possible to silently
produce bad packages if they behave differently if some dependency is
missing!
thanks,
micah
-- System Information:
Debian Release: stretch/sid
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.8.0-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Versions of packages git-buildpackage depends on:
ii devscripts 2.16.13
ii git 1:2.11.0-2
ii man-db 2.7.6.1-2
ii python-dateutil 2.5.3-2
ii python-pkg-resources 32.0.0-1
ii python-six 1.10.0-3
pn python:any <none>
Versions of packages git-buildpackage recommends:
ii cowbuilder 0.82
ii pbuilder 0.227
ii pristine-tar 1.37
ii python-requests 2.12.4-1
ii sbuild 0.73.0-1
Versions of packages git-buildpackage suggests:
ii python-notify 0.1.1-4
ii sudo 1.8.19-1
ii unzip 6.0-21
-- no debconf information