Ignore environment markers in pythonbundles.py
Use packaging.requirements instead of a naïve split on ==.
This commit is contained in:
parent
279638a969
commit
079b71a567
@ -49,6 +49,7 @@ install -Dpm0755 -t %{buildroot}%{_rpmconfigdir} *.py
|
||||
%changelog
|
||||
* Tue Mar 07 2023 Miro Hrončok <mhroncok@redhat.com> - 14-3
|
||||
- Avoid needless pkg_resources import in pythonbundles.py
|
||||
- Ignore environment markers in pythonbundles.py
|
||||
|
||||
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 14-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
@ -15,6 +15,8 @@
|
||||
import pathlib
|
||||
import sys
|
||||
|
||||
from packaging import requirements
|
||||
|
||||
import pythondistdeps
|
||||
|
||||
def generate_bundled_provides(paths, namespace):
|
||||
@ -33,8 +35,14 @@ def generate_bundled_provides(paths, namespace):
|
||||
continue
|
||||
line = line.strip()
|
||||
if line:
|
||||
name, _, version = line.partition('==')
|
||||
name = pythondistdeps.normalize_name(name)
|
||||
requirement = requirements.Requirement(line)
|
||||
for spec in requirement.specifier:
|
||||
if spec.operator == '==':
|
||||
version = spec.version
|
||||
break
|
||||
else:
|
||||
raise ValueError('pythonbundles.py only handles exactly one == requirement')
|
||||
name = pythondistdeps.normalize_name(requirement.name)
|
||||
bundled_name = f"bundled({namespace}({name}))"
|
||||
python_provide = pythondistdeps.convert(bundled_name, '==', version)
|
||||
provides.add(f'Provides: {python_provide}')
|
||||
|
@ -3,3 +3,4 @@ Provides: bundled(python3dist(ordered-set)) = 3.1.1
|
||||
Provides: bundled(python3dist(packaging)) = 16.8
|
||||
Provides: bundled(python3dist(pyparsing)) = 2.2.1
|
||||
Provides: bundled(python3dist(six)) = 1.10
|
||||
Provides: bundled(python3dist(tomli)) = 1.2.3
|
||||
|
@ -1,3 +1,4 @@
|
||||
packaging==16.8
|
||||
pyparsing==2.2.1
|
||||
ordered-set==3.1.1
|
||||
tomli==1.2.3;python_version<"3.11"
|
||||
|
@ -1,3 +1,4 @@
|
||||
Provides: bundled(python3dist(ordered-set)) = 3.1.1
|
||||
Provides: bundled(python3dist(packaging)) = 16.8
|
||||
Provides: bundled(python3dist(pyparsing)) = 2.2.1
|
||||
Provides: bundled(python3dist(tomli)) = 1.2.3
|
||||
|
Loading…
Reference in New Issue
Block a user