Le jeudi 12 mai 2022 à 17:04 +0200, Heinrich Schuchardt a écrit :
> On 5/12/22 15:36, [email protected] wrote:
> > Le jeudi 12 mai 2022 à 15:20 +0200, Heinrich Schuchardt a écrit :
> > > On 5/12/22 14:55, [email protected] 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')]
 except Exception:
     __version__ = 'unknown'



Would that solve your issue?

Cheers,

J.Puydt

Reply via email to