Re: Bug#1005043: lintian: check that Python version numbers are not 0.0.0
On Sat, Feb 05, 2022 at 04:42:57PM -0500, Sandro Tosi wrote: > > The test for this bug (and it should probably be recorded as an error, > > not just a warning, as no Python package should have a version number > > of 0.0.0) > > what exactly is the problem that would make it an 'error'? When a package uses pkg_resources to determine the version number of some package, it is returned the wrong information. This is certainly a packaging error: the upstream package, as installed by pip, announces "this is version 1.2.3" but the Debian package announces "this is version 0.0.0". In the couple of cases I've looked at so far, it is due to the upstream version using use_scm_version in setup.py. This works fine for a version that is in a Git repository, but it doesn't work for Debian packages, as the Git version lookup fails. So this needs to be patched. Perhaps a better way would be for dh_python3 to handle this by "teaching" use_scm_version to look at debian/changelog, as this would save 30+ packages having to continually update a setup.py patch. What do you think? Best wishes, Julian
Re: Bug#1005043: lintian: check that Python version numbers are not 0.0.0
Hi Julian (2022.02.06_12:19:54_+) > In the couple of cases I've looked at so far, it is due to the > upstream version using use_scm_version in setup.py. This works fine > for a version that is in a Git repository, but it doesn't work for > Debian packages, as the Git version lookup fails. So this needs to be > patched. Or export SETUPTOOLS_SCM_PRETEND_VERSION. https://github.com/pypa/setuptools_scm#environment-variables pybuild does this for you. SR -- Stefano Rivera http://tumbleweed.org.za/ +1 415 683 3272
Re: Bug#1005043: lintian: check that Python version numbers are not 0.0.0
> Or export SETUPTOOLS_SCM_PRETEND_VERSION. > https://github.com/pypa/setuptools_scm#environment-variables > > pybuild does this for you. i dont remember the exact details, but sometimes that doesnt work: even just building the source package (which runs dh clean, which invokes setup.py clean) the build fails because "something something SCM something". It could be the specific package is doing things in a funky way but that's my experience at least -- Sandro "morph" Tosi My website: http://sandrotosi.me/ Me at Debian: http://wiki.debian.org/SandroTosi Twitter: https://twitter.com/sandrotosi
Re: Bug#1005043: lintian: check that Python version numbers are not 0.0.0
On Sun, Feb 06, 2022 at 04:46:53PM +, Stefano Rivera wrote: > Hi Julian (2022.02.06_12:19:54_+) > > In the couple of cases I've looked at so far, it is due to the > > upstream version using use_scm_version in setup.py. This works fine > > for a version that is in a Git repository, but it doesn't work for > > Debian packages, as the Git version lookup fails. So this needs to be > > patched. > > Or export SETUPTOOLS_SCM_PRETEND_VERSION. > https://github.com/pypa/setuptools_scm#environment-variables > > pybuild does this for you. Hi Stefano, I'm a little confused by this. Have a look at https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1005039 against python3-iniconfig. It has a very straightforward debian/rules, using pybuild, and its setup.py script has "use_scm_version=True", but it still produces a python package with version number 0.0.0. I have tried this in an environment where I have python3-setuptools-scm installed, by the way (even though the package does not Build-Depends on it). I'm using dh-python version 5.20220119 Best wishes, Julian