When I attempted to build python39-setuptools to test what would be needed in order to have multiple Python 3 stacks in future RHEL, I have noticed the following problem: python39-setuptools provides: python-setuptools = 45.2.0-1.fc33 The build was done by setting the following in spec: %global python3_pkgversion 39 %global __python3 %{_bindir}/python3.9 And indeed the %python_provide macro respects %python3_pkgversion on Fedora in this way: $ rpm --define 'python3_pkgversion 39' --eval '%python_provide python%{python3_pkgversion}-setuptools' Provides: python-setuptools = %{version}-%{release} Obsoletes: python-setuptools < %{version}-%{release} I think we should not use %{python3_pkgversion} in the %python_provide macro to allow resetting %{python3_pkgversion} to a custom value without changing how %python_provide behaves.
https://src.fedoraproject.org/rpms/python-rpm-macros/pull-request/48