I'm using dput version `1.0.3ubuntu1` on Ubuntu 20.04. Setuptools version 66 introduced a breaking change to end support of version strings which don't conform to PEP 440. If the installed setuptools version is 66 or higher, the dput launcher script fails with this error:
```
adrianna@sergyar:~/packaging/beta$ dput
Traceback (most recent call last):
File "/usr/bin/dput", line 6, in <module>
from pkg_resources import load_entry_point
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3327, in <module>
def _initialize_master_working_set():
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3301, in _call_aside
f(*args, **kwargs)
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3339, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 629, in _build_master
ws.require(__requires__)
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 966, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 827, in resolve
dist = self._resolve_dist(
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 852, in _resolve_dist
if dist is None or (dist not in req and replace_conflicting):
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/__init__.py", line 3204, in __contains__
return self.specifier.contains(item, prereleases=True)
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/specifiers.py", line 902, in contains
item = Version(item)
File "/home/adrianna/.local/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py", line 197, in __init__
raise InvalidVersion(f"Invalid version: '{version}'")
pkg_resources.extern.packaging.version.InvalidVersion: Invalid version: '1.0.3ubuntu1'
```
The only workaround is to downgrade setuptools to an older version.
If this was fixed in a more recent version of dput, can the fix be backported to Focal?
I'm using dput version `1.0.3ubuntu1` on Ubuntu 20.04. Setuptools version 66 introduced a breaking change to end support of version strings which don't conform to PEP 440. If the installed setuptools version is 66 or higher, the dput launcher script fails with this error:
``` sergyar: ~/packaging/ beta$ dput adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 3327, in <module> master_ working_ set(): adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 3301, in _call_aside adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 3339, in _initialize_ master_ working_ set _build_ master( ) adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 629, in _build_master require( __requires_ _) adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 966, in require parse_requireme nts(requirement s)) adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 827, in resolve adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 852, in _resolve_dist conflicting) : adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ __init_ _.py", line 3204, in __contains__ contains( item, prereleases=True) adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ _vendor/ packaging/ specifiers. py", line 902, in contains adrianna/ .local/ lib/python3. 8/site- packages/ pkg_resources/ _vendor/ packaging/ version. py", line 197, in __init__ f"Invalid version: '{version}'") extern. packaging. version. InvalidVersion: Invalid version: '1.0.3ubuntu1'
adrianna@
Traceback (most recent call last):
File "/usr/bin/dput", line 6, in <module>
from pkg_resources import load_entry_point
File "/home/
def _initialize_
File "/home/
f(*args, **kwargs)
File "/home/
working_set = WorkingSet.
File "/home/
ws.
File "/home/
needed = self.resolve(
File "/home/
dist = self._resolve_dist(
File "/home/
if dist is None or (dist not in req and replace_
File "/home/
return self.specifier.
File "/home/
item = Version(item)
File "/home/
raise InvalidVersion(
pkg_resources.
```
The only workaround is to downgrade setuptools to an older version.
If this was fixed in a more recent version of dput, can the fix be backported to Focal?