Blob Blame History Raw
# This file is used _only_ to override macros which exist in RHEL.
# It should be used very sparingly.

# Override %__python3 here based on %%python3_pkgversion to avoid relying on the finicky
# python3X-rpm-macros packages.
# Backported from https://src.fedoraproject.org/rpms/python-rpm-macros/c/a8b26546eb699afe0dbfcef913a2aa7085fc5afb?branch=rawhide
#
# EPEL specific, RHEL defines this in the python3X-rpm-macros packages
# and the default is /usr/libexec/platform-python.
# Usually, we don't want EPEL packages to use platform-python.
# Packages that want to do that can explicitly override this.
%__python3 /usr/bin/python%{_python3_pkgversion_with_dot}

# RHEL 8's %%pytest does not work properly on non-default Python versions.
# Backported from https://src.fedoraproject.org/rpms/python-rpm-macros/c/02536540768555dde6d675935db45df81bcab7bf?branch=rawhide
# https://bugzilla.redhat.com/show_bug.cgi?id=2091462
%__pytest /usr/bin/pytest%(test %{python3_pkgversion} == 3 || echo -%{python3_version})

# RHEL 8's %%py3_dist does not work properly on non-default Python versions.
# This is copied here from https://git.centos.org/rpms/python-rpm-macros/pull-request/1
# until that lands in RHEL.
# https://bugzilla.redhat.com/show_bug.cgi?id=2090007

# Creates Python 3 dist tag(s) after converting names to canonical format
#   Needs to first put all arguments into a list, because invoking a different
#   macro (%py_dist_name) overwrites them
%py3_dist() %{lua:\
        python3_pkgversion_with_dot = rpm.expand("%_python3_pkgversion_with_dot")\
        args = {}\
        arg = 1\
        while (true) do\
                name = rpm.expand("%{?" .. arg .. ":%{" .. arg .. "}}");\
                if (name == nil or name == '') then\
                        break\
                end\
                args[arg] = name\
                arg = arg + 1\
        end\
        for arg, name in ipairs(args) do\
                canonical = rpm.expand("%py_dist_name " .. name);\
                print("python" .. python3_pkgversion_with_dot .. "dist(" .. canonical .. ") ");\
        end\
}