Change %__default_python3_pkgversion from 38 to 3.8
See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/message/VIUS7WMQMDX6H2WEIH7TVTMBB6SUHY7E/
This commit is contained in:
parent
76aecd9ad7
commit
5f3e4d6300
|
@ -77,7 +77,7 @@
|
|||
--Obsoleting the previous default python package (if it doesn't have isa)
|
||||
if (string.sub(package, "-1") ~= ")") then
|
||||
print("\\nObsoletes: python-")
|
||||
print(string.sub(package,10,string.len(package)))
|
||||
print(string.sub(package,11,string.len(package)))
|
||||
print(" < " .. vr)
|
||||
end
|
||||
elseif (string.starts(package, "python")) then
|
||||
|
|
|
@ -25,10 +25,31 @@
|
|||
end\
|
||||
}
|
||||
|
||||
# This specifies what packages are equal to the python3-... packages, in python_provide macro
|
||||
# E.g. in Fedora 32, python38-foo will provide python3-foo and vice versa
|
||||
# There are multiple Python 3 versions packaged, but only one can be the "main" version
|
||||
# That means that it owns the "python3" namespace:
|
||||
# - python3 package name
|
||||
# - /usr/bin/python3 command
|
||||
# - python3-foo packages are meant for this version
|
||||
# Other versions of Python 3 always contain the version in the namespace:
|
||||
# - python3.XX package name
|
||||
# - /usr/bin/python3.XX command
|
||||
# - python3.XX-foo packages (if allowed)
|
||||
#
|
||||
# Python spec files use the version defined here to determine defaults for the
|
||||
# %%py_provides and %%python_provide macros, as well as for the "pythonname" generator that
|
||||
# provides python3-foo for python3.XX-foo and vice versa for the default "main" version.
|
||||
# E.g. in Fedora 32, python3.8-foo will provide python3-foo,
|
||||
# python3-foo will provide python3.8-foo.
|
||||
#
|
||||
# There are two macros:
|
||||
#
|
||||
# This always contains the major.minor version (with dots), default for %%python3_version.
|
||||
%__default_python3_version 3.8
|
||||
%__default_python3_pkgversion %(echo %__default_python3_version | sed 's/\\.//')
|
||||
#
|
||||
# The pkgname version that determines the alternative provide name (e.g. python3.8-foo),
|
||||
# set to the same as above, but historically hasn't included the dot.
|
||||
# This is left intentionally a separate macro, in case the naming convention ever changes.
|
||||
%__default_python3_pkgversion %__default_python3_version
|
||||
|
||||
# python3_pkgversion specifies the version of Python 3 in the distro. It can be
|
||||
# a specific version (e.g. 34 in Fedora EPEL7)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
Name: python-rpm-macros
|
||||
Version: 3.8
|
||||
Release: 6%{?dist}
|
||||
Release: 7%{?dist}
|
||||
Summary: The common Python RPM macros
|
||||
|
||||
# macros and lua: MIT, compileall2.py: PSFv2
|
||||
|
@ -107,6 +107,9 @@ install -m 644 compileall2.py %{buildroot}%{_rpmconfigdir}/redhat/
|
|||
|
||||
|
||||
%changelog
|
||||
* Thu May 07 2020 Miro Hrončok <mhroncok@redhat.com> - 3.8-7
|
||||
- Change %%__default_python3_pkgversion from 38 to 3.8
|
||||
|
||||
* Tue May 05 2020 Miro Hrončok <mhroncok@redhat.com> - 3.8-6
|
||||
- Require recent enough SRPM macros from RPM macros, to prevent missing Lua files
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
import subprocess
|
||||
import sys
|
||||
|
||||
XY = f'{sys.version_info[0]}{sys.version_info[1]}'
|
||||
X_Y = f'{sys.version_info[0]}.{sys.version_info[1]}'
|
||||
|
||||
|
||||
def rpm_eval(expression, **kwargs):
|
||||
|
@ -23,7 +23,7 @@ def test_python_provide_python3():
|
|||
lines = rpm_eval('%python_provide python3-foo', version='6', release='1.fc66')
|
||||
assert 'Obsoletes: python-foo < 6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{XY}-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{X_Y}-foo = 6-1.fc66' in lines
|
||||
assert len(lines) == 3
|
||||
|
||||
|
||||
|
@ -31,12 +31,12 @@ def test_python_provide_python3_epoched():
|
|||
lines = rpm_eval('%python_provide python3-foo', epoch='1', version='6', release='1.fc66')
|
||||
assert 'Obsoletes: python-foo < 1:6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 1:6-1.fc66' in lines
|
||||
assert f'Provides: python{XY}-foo = 1:6-1.fc66' in lines
|
||||
assert f'Provides: python{X_Y}-foo = 1:6-1.fc66' in lines
|
||||
assert len(lines) == 3
|
||||
|
||||
|
||||
def test_python_provide_python3X():
|
||||
lines = rpm_eval(f'%python_provide python{XY}-foo', version='6', release='1.fc66')
|
||||
lines = rpm_eval(f'%python_provide python{X_Y}-foo', version='6', release='1.fc66')
|
||||
assert 'Obsoletes: python-foo < 6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 6-1.fc66' in lines
|
||||
assert 'Provides: python3-foo = 6-1.fc66' in lines
|
||||
|
@ -44,7 +44,7 @@ def test_python_provide_python3X():
|
|||
|
||||
|
||||
def test_python_provide_python3X_epoched():
|
||||
lines = rpm_eval(f'%python_provide python{XY}-foo', epoch='1', version='6', release='1.fc66')
|
||||
lines = rpm_eval(f'%python_provide python{X_Y}-foo', epoch='1', version='6', release='1.fc66')
|
||||
assert 'Obsoletes: python-foo < 1:6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 1:6-1.fc66' in lines
|
||||
assert 'Provides: python3-foo = 1:6-1.fc66' in lines
|
||||
|
@ -56,7 +56,7 @@ def test_python_provide_doubleuse():
|
|||
version='6', release='1.fc66')
|
||||
assert 'Obsoletes: python-foo < 6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{XY}-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{X_Y}-foo = 6-1.fc66' in lines
|
||||
assert len(lines) == 6
|
||||
assert len(set(lines)) == 3
|
||||
|
||||
|
@ -77,7 +77,7 @@ def test_py_provides_python3():
|
|||
lines = rpm_eval('%py_provides python3-foo', version='6', release='1.fc66')
|
||||
assert 'Provides: python3-foo = 6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{XY}-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{X_Y}-foo = 6-1.fc66' in lines
|
||||
assert len(lines) == 3
|
||||
|
||||
|
||||
|
@ -85,21 +85,21 @@ def test_py_provides_python3_epoched():
|
|||
lines = rpm_eval('%py_provides python3-foo', epoch='1', version='6', release='1.fc66')
|
||||
assert 'Provides: python3-foo = 1:6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 1:6-1.fc66' in lines
|
||||
assert f'Provides: python{XY}-foo = 1:6-1.fc66' in lines
|
||||
assert f'Provides: python{X_Y}-foo = 1:6-1.fc66' in lines
|
||||
assert len(lines) == 3
|
||||
|
||||
|
||||
def test_py_provides_python3X():
|
||||
lines = rpm_eval(f'%py_provides python{XY}-foo', version='6', release='1.fc66')
|
||||
assert f'Provides: python{XY}-foo = 6-1.fc66' in lines
|
||||
lines = rpm_eval(f'%py_provides python{X_Y}-foo', version='6', release='1.fc66')
|
||||
assert f'Provides: python{X_Y}-foo = 6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 6-1.fc66' in lines
|
||||
assert 'Provides: python3-foo = 6-1.fc66' in lines
|
||||
assert len(lines) == 3
|
||||
|
||||
|
||||
def test_py_provides_python3X_epoched():
|
||||
lines = rpm_eval(f'%py_provides python{XY}-foo', epoch='1', version='6', release='1.fc66')
|
||||
assert f'Provides: python{XY}-foo = 1:6-1.fc66' in lines
|
||||
lines = rpm_eval(f'%py_provides python{X_Y}-foo', epoch='1', version='6', release='1.fc66')
|
||||
assert f'Provides: python{X_Y}-foo = 1:6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 1:6-1.fc66' in lines
|
||||
assert 'Provides: python3-foo = 1:6-1.fc66' in lines
|
||||
assert len(lines) == 3
|
||||
|
@ -110,7 +110,7 @@ def test_py_provides_doubleuse():
|
|||
version='6', release='1.fc66')
|
||||
assert 'Provides: python3-foo = 6-1.fc66' in lines
|
||||
assert 'Provides: python-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{XY}-foo = 6-1.fc66' in lines
|
||||
assert f'Provides: python{X_Y}-foo = 6-1.fc66' in lines
|
||||
assert len(lines) == 6
|
||||
assert len(set(lines)) == 3
|
||||
|
||||
|
@ -120,5 +120,5 @@ def test_py_provides_with_evr():
|
|||
version='6', release='1.fc66')
|
||||
assert 'Provides: python3-foo = 123' in lines
|
||||
assert 'Provides: python-foo = 123' in lines
|
||||
assert f'Provides: python{XY}-foo = 123' in lines
|
||||
assert f'Provides: python{X_Y}-foo = 123' in lines
|
||||
assert len(lines) == 3
|
||||
|
|
Loading…
Reference in New Issue