Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.bugs.dist > #1102893 > unrolled thread
| Started by | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> |
|---|---|
| First post | 2022-05-12 14:50 +0200 |
| Last post | 2022-05-13 13:10 +0200 |
| Articles | 5 — 2 participants |
Back to article view | Back to linux.debian.bugs.dist
Bug#1010894: python-cheroot version number does not conform to PEP440 Heinrich Schuchardt <heinrich.schuchardt@canonical.com> - 2022-05-12 14:50 +0200
Bug#1010894: python-cheroot version number does not conform to PEP440 Heinrich Schuchardt <heinrich.schuchardt@canonical.com> - 2022-05-12 15:30 +0200
Bug#1010894: python-cheroot version number does not conform to PEP440 julien.puydt@gmail.com - 2022-05-12 15:40 +0200
Bug#1010894: python-cheroot version number does not conform to PEP440 julien.puydt@gmail.com - 2022-05-12 17:30 +0200
Bug#1010894: python-cheroot version number does not conform to PEP440 julien.puydt@gmail.com - 2022-05-13 13:10 +0200
| From | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> |
|---|---|
| Date | 2022-05-12 14:50 +0200 |
| Subject | Bug#1010894: python-cheroot version number does not conform to PEP440 |
| Message-ID | <Emgqt-eYBx-1@gated-at.bofh.it> |
Package: python-cheroot
Version: 8.6.0+ds1-2
Severity: normal
Hello Julien,
Python package versions like 8.6.0+ds1 do not conform to PEP440. This
leads to errors in Ceph as reported in
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1967139
Allowable package versions are defined in PEP440
(https://peps.python.org/pep-0440/) as
[N!]N(.N)*[{a|b|rc}N][.postN][.devN]
So 8.6.0a1 would be legal. 8.6.0+ds1 is illegal.
Is this something to be corrected in this package?
Or is this a general problem with how we do Python packaging?
Best regards
Heinrich
[toc] | [next] | [standalone]
| From | Heinrich Schuchardt <heinrich.schuchardt@canonical.com> |
|---|---|
| Date | 2022-05-12 15:30 +0200 |
| Message-ID | <Emh3b-eZ4l-11@gated-at.bofh.it> |
| In reply to | #1102893 |
On 5/12/22 14:55, julien.puydt@gmail.com wrote:
> Hi,
>
> Le jeudi 12 mai 2022 à 14:45 +0200, Heinrich Schuchardt a écrit :
>> Package: python-cheroot
>> Version: 8.6.0+ds1-2
>> Severity: normal
>>
>> Python package versions like 8.6.0+ds1 do not conform to PEP440. This
>> leads to errors in Ceph as reported in
>> https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/1967139
>>
>
> It's not a Python package version ; it's a Debian package version, so
> PEP440 doesn't apply.
Unfortunately this number is propagated into cheroot.__version__.
>
>> Is this something to be corrected in this package?
>> Or is this a general problem with how we do Python packaging?
>
> 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
Best regards
Heinrich
>
> Cheers,
>
> J.Puydt
[toc] | [prev] | [next] | [standalone]
| From | julien.puydt@gmail.com |
|---|---|
| Date | 2022-05-12 15:40 +0200 |
| Message-ID | <EmhcR-eZ7z-7@gated-at.bofh.it> |
| In reply to | #1102898 |
Le jeudi 12 mai 2022 à 15:20 +0200, Heinrich Schuchardt a écrit :
> On 5/12/22 14:55, julien.puydt@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.
I don't want to diverge from upstream -- however trivial the patch,
unless there's some actual problem to fix.
Cheers,
J.Puydt
[toc] | [prev] | [next] | [standalone]
| From | julien.puydt@gmail.com |
|---|---|
| Date | 2022-05-12 17:30 +0200 |
| Message-ID | <EmiVk-f0cj-3@gated-at.bofh.it> |
| In reply to | #1102893 |
Le jeudi 12 mai 2022 à 17:04 +0200, Heinrich Schuchardt a écrit :
> On 5/12/22 15:36, julien.puydt@gmail.com wrote:
> > Le jeudi 12 mai 2022 à 15:20 +0200, Heinrich Schuchardt a écrit :
> > > On 5/12/22 14:55, julien.puydt@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')]
except Exception:
__version__ = 'unknown'
Would that solve your issue?
Cheers,
J.Puydt
[toc] | [prev] | [next] | [standalone]
| From | julien.puydt@gmail.com |
|---|---|
| Date | 2022-05-13 13:10 +0200 |
| Message-ID | <EmBlf-fcdn-15@gated-at.bofh.it> |
| In reply to | #1102893 |
Le vendredi 13 mai 2022 à 11:18 +0200, Heinrich Schuchardt a écrit :
> On 5/12/22 17:17, julien.puydt@gmail.com wrote:
> >
> > 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.
Does it solve your issue with the Debian package now?
Indeed if upstream had a more generic fix, that is the best solution,
but in the mean time, I can live with a Debian-specific patch.
Cheers,
J.Puydt
[toc] | [prev] | [standalone]
Back to top | Article view | linux.debian.bugs.dist
csiph-web