Files
_ObsPrj/_config
2026-02-02 13:31:08 +01:00

151 lines
5.2 KiB
Plaintext

# This is in future replaced by cryptodomex
Prefer: -python3-pycrypto -python2-pycrypto -python-pycrypto
Prefer: -python311-urllib3_1
# There are unsinglespec-ed packages that we want to shadow out
Prefer: -python-appdirs
Prefer: -python-dateutil
Prefer: -python-configparser
Prefer: -python-pathlib2
Prefer: -python-subprocess32
Prefer: -python-contextlib2
Prefer: -python-backports.functools_lru_cache
Prefer: -python-python-subunit
Prefer: -python-cmd2
Prefer: -python2-Sphinx1
Prefer: -python3-tornado4 -python2-tornado4
Prefer: -python3-Cython3
Prefer: python2-tornado python3-tornado
Prefer: nodejs12 nodejs10
# renamed from PrettyTable to prettytable
Substitute: python3-PrettyTable python3-prettytable
Prefer: -python3-PrettyTable
# there is python-pytest4, python-pytest5 and python-pytest
%if 0%{?suse_version} < 1550
Prefer: python2-pytest4 python3-pytest4
%else
Prefer: python3-pytest
%endif
# there is python-sip and python-sip4
Prefer: python3-sip4
Substitute: python2-PyYAML python-PyYAML
Substitute: python2-lxml python-lxml
Prefer: python2-importlib-metadata python3-importlib-metadata
Prefer: python2-importlib-resources python3-importlib-resources
# the whole point of devel:languages:python:backports is to provide
# newer packages than what is in SLE hence
Support: !rpmlint-backports
Prefer: python3-ConfigArgParse
Macros:
# Macro to build Python Stack Proposal packages
%sle15_python_module_pythons() %global pythons python311
## PYTHON MACROS BEGIN
# adapted form of https://github.com/openSUSE/python-rpm-macros/blob/master/default-prjconf for SLE/Leap
# requires python-rpm-macros >= 20210204
# order of %pythons is important: The last flavor overrides any operation on conflicting files and definitions during expansions,
# making it the "default" in many cases --> keep the primary python3 provider at the end.
%pythons %{?!skip_python2:python2} %{?!skip_python3:python3}
%add_python() %{expand:%%define pythons %1 %pythons}
# This method for generating python_modules gets too deep to expand for rpm at about 5 python flavors.
# Hence, python_module_iter is replaced by python_module_lua in macros.lua.
# However, OBS cannot expand lua, but has a much higher expansion depth, so this works fine for the server side resolver.
%python_module_iter(a:) %{expand:%%define python %{-a*}} ( %python-%args ) %{expand:%%{?!python_module_iter_%1:%%{python_module_iter -a%*}}%%{?python_module_iter_%1}}
# pseudo-undefine for obs: reset for the next expansion within the next call of python_module
%python_module_iter_STOP %global python %%%%python
%python_module() %{?!python_module_lua:%{expand:%%define args %{**}} %{expand:%%{python_module_iter -a %{pythons} STOP}}}%{?python_module_lua:%python_module_lua %{**}}
## PYTHON MACROS END
:Macros
%if "%_repository" == "15.3"
%define skip_python2 1
%define _without_python2 1
Macros:
## PYTHON MACROS BEGIN
# order of %pythons is important: The last flavor overrides any operation on conflicting files and definitions during expansions,
# making it the "default" in many cases --> keep the primary python3 provider at the end.
%pythons %{?!skip_python3:python3}
%add_python() %{expand:%%define pythons %1 %pythons}
%_without_python2 1
:Macros
%endif
%if "%_repository" == "15.4_py39"
%define skip_python2 1
%define _without_python2 1
Macros:
## PYTHON MACROS BEGIN
# order of %pythons is important: The last flavor overrides any operation on conflicting files and definitions during expansions,
# making it the "default" in many cases --> keep the primary python3 provider at the end.
%pythons %{?!skip_python3:python39}
%add_python() %{expand:%%define pythons %1 %pythons}
%_without_python2 1
:Macros
%endif
# remove when Python Stack Proposal landed
%if "%_repository" == "15.4"
Macros:
# Macro to build Python Stack Proposal packages
%sle15_python_module_pythons() %global pythons python311
:Macros
%endif
%if "%_repository" == "15.5"
%define skip_python2 1
%define _without_python2 1
Macros:
# Macro to build Python Stack Proposal packages
%sle15_python_module_pythons() %global pythons python311
# Macro to build Python Stack Proposal packages
%sle15allpythons() %global pythons python311 python3
# prjconf definitions for python-rpm-macros
# This method for generating python_modules gets too deep to expand for rpm at about 5 python flavors.
# Hence, python_module_iter is replaced by python_module_lua in macros.lua.
# However, OBS cannot expand lua, but has a much higher expansion depth, so this works fine for the server side resolver.
%python_module_iter(a:) %{expand:%%define python %{-a*}} ( %python-%args ) %{expand:%%{?!python_module_iter_%1:%%{python_module_iter -a%*}}%%{?python_module_iter_%1}}
# pseudo-undefine for obs: reset for the next expansion within the next call of python_module
%python_module_iter_STOP %global python %%%%python
%python_module() %{?!python_module_lua:%{expand:%%define args %{**}} %{expand:%%{python_module_iter -a %{pythons} STOP}}}%{?python_module_lua:%python_module_lua %{**}}
%_without_python2 1
:Macros
%endif
%if "%_repository" == "openSUSE_Tumbleweed"
%define skip_python2 1
%define _without_python2 1
%endif
# rhel substitutions
%if 0%{?rhel_version} || 0%{?fedora_version}
Substitute: python-base python
Substitute: python3-base python3
%endif