[Python-modules-team] Bug#839687: how to manage setuptools-scm packages in debian?
Antoine Beaupré
anarcat at debian.org
Mon Oct 3 21:24:54 UTC 2016
Source: setuptools-scm
Severity: wishlist
It is unclear to me how this package is supposed to be used to build
native packages in Debian.
Most packages I see in Debian seem to break the "rule" of "don't
commit the version file into version control":
https://codesearch.debian.net/search?q=don%27t+track+in+version+control
I am trying to use this for the Monkeysign package, and I don't have a
"master" branch that is separate from upstream: this is a native
package. If I skip including the generated file in version control, I
get this:
LookupError: setuptools-scm was unable to detect version for '/home/anarcat/src/build-area/monkeysign-2.1.4'.
What's the prefered way to manage this?
I have this in my setup.py:
use_scm_version={
'write_to': 'monkeysign/_version.py',
},
But even without that, the thing fails on build:
[831]anarcat at angela:monkeysign(2.x $>)$ DIST=sid ARCH=amd64 git-buildpackage --git-debian-branch=2.x
dh clean --with=python2,sphinxdoc
dh_testdir
dh_auto_clean
your setuptools is too old (<12)
setuptools_scm functionality is degraded
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
dh_clean
gbp:info: Exporting 'HEAD' to '/home/anarcat/src/build-area/monkeysign-tmp'
gbp:info: Moving '/home/anarcat/src/build-area/monkeysign-tmp' to '/home/anarcat/src/build-area/monkeysign-2.1.4'
Building with cowbuilder for distribution sid, architecture amd64
I: using cowbuilder as pbuilder
dpkg-buildpackage: source package monkeysign
dpkg-buildpackage: source version 2.1.4
dpkg-buildpackage: source distribution unstable
dpkg-buildpackage: source changed by Antoine Beaupré <anarcat at debian.org>
dpkg-source --before-build monkeysign-2.1.4
fakeroot debian/rules clean
dh clean --with=python2,sphinxdoc
dh_testdir
dh_auto_clean
your setuptools is too old (<12)
setuptools_scm functionality is degraded
Traceback (most recent call last):
File "setup.py", line 81, in <module>
test_suite='tests',
File "/usr/lib/python2.7/distutils/core.py", line 111, in setup
_setup_distribution = dist = klass(attrs)
File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 266, in __init__
_Distribution.__init__(self,attrs)
File "/usr/lib/python2.7/distutils/dist.py", line 287, in __init__
self.finalize_options()
File "/usr/lib/python2.7/dist-packages/setuptools/dist.py", line 301, in finalize_options
ep.load()(self, ep.name, value)
File "/usr/lib/python2.7/dist-packages/setuptools_scm/integration.py", line 19, in version_keyword
dist.metadata.version = get_version(**value)
File "/usr/lib/python2.7/dist-packages/setuptools_scm/__init__.py", line 102, in get_version
version = _do_parse(root, parse)
File "/usr/lib/python2.7/dist-packages/setuptools_scm/__init__.py", line 80, in _do_parse
"use git+https://github.com/user/proj.git#egg=proj" % root)
LookupError: setuptools-scm was unable to detect version for '/home/anarcat/src/build-area/monkeysign-2.1.4'.
Make sure you're not using GitHub's tarballs (or similar ones), as those don't contain the necessary metadata. Use PyPI's tarballs instead.
For example, if you're using pip, instead of https://github.com/user/proj/archive/master.zip use git+https://github.com/user/proj.git#egg=proj
dh_auto_clean: python setup.py clean -a returned exit code 1
debian/rules:11: recipe for target 'clean' failed
make: *** [clean] Error 1
dpkg-buildpackage: error: fakeroot debian/rules clean gave error exit status 2
gbp:error: '/usr/bin/git-pbuilder' failed: it exited with 2
-- System Information:
Debian Release: 8.6
APT prefers stable-updates
APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'stable'), (1, 'testing')
Architecture: amd64 (x86_64)
Kernel: Linux 4.6.0-0.bpo.1-amd64 (SMP w/2 CPU cores)
Locale: LANG=fr_CA.UTF-8, LC_CTYPE=fr_CA.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
More information about the Python-modules-team
mailing list