On 5/12/22 17:17, julien.pu...@gmail.com wrote:
Le jeudi 12 mai 2022 à 17:04 +0200, Heinrich Schuchardt a écrit :
On 5/12/22 15:36, julien.pu...@gmail.com wrote:
Le jeudi 12 mai 2022 à 15:20 +0200, Heinrich Schuchardt a écrit :
On 5/12/22 14:55, julien.pu...@gmail.com wrote:

Let me ask bluntly: how is it a problem?

$ python3
   >>> import cheroot
   >>> print cheroot.__version__
8.6.0+ds1
   >>> from distutils.version import StrictVersion
   >>> StrictVersion(cheroot.__version__)
Traceback (most recent call last):
     File "<stdin>", line 1, in <module>
     File "/usr/lib/python3.10/distutils/version.py", line 40, in
__init__
       self.parse(vstring)
     File "/usr/lib/python3.10/distutils/version.py", line 137, in
parse
       raise ValueError("invalid version number '%s'" % vstring)
ValueError: invalid version number '8.6.0+ds1'
   >>>


If there were any issue with general Python packages versioning
in
Debian, perhaps you should contact the Debian Python
Maintainers
team?

You could patch this line to solve the problem:

cheroot/__init__.py:13:
__version__ = pkg_resources.get_distribution('cheroot').version

Ok, distutils is unhappy, but:

1. distutils is obsolete: https://peps.python.org/pep-0632/

2. your example doesn't look like a real-world situation.

You err. See the linked issue on launchpad.net. Ceph does not work
due
to your deviation from upstream version numbers.


You're right, I had forgotten about this!

I propose to add the following patch to my package:

Description: make the package return a PEP440-compatible version number
Author: Julien Puydt
Forwarded: Debian-specific

--- python-cheroot.orig/cheroot/__init__.py
+++ python-cheroot/cheroot/__init__.py
@@ -11,5 +11,7 @@
try:
      __version__ = pkg_resources.get_distribution('cheroot').version
+    if __version__.find('+ds') != -1:
+        __version__ = __version__[:__version__.find('+ds')]

This will not work for anything but +ds.

I have created a more generic patch in
https://github.com/cherrypy/cheroot/pull/507
using a regular expression to extract the valid part of the version number.

Best regards

Heinrich

  except Exception:
      __version__ = 'unknown'



Would that solve your issue?

Cheers,

J.Puydt

Reply via email to