Move the bootstrapping conditionals above the global metadata
We need to have it above the Release field, in order for the build NVR to contain the ~bootstrap suffix and sort correctly (lower than the main build). This enables bootstrapping the package directly in Koji side tag.
This commit is contained in:
parent
a7e6af421e
commit
1a07ebce6b
1 changed files with 62 additions and 56 deletions
118
python3.13.spec
118
python3.13.spec
|
|
@ -1,3 +1,30 @@
|
|||
# ======================
|
||||
# Bootstrap conditionals
|
||||
# ======================
|
||||
|
||||
# When bootstrapping python3, we need to build python3-packaging.
|
||||
# but packaging BR python3-devel and that brings in python3-rpm-generators;
|
||||
# python3-rpm-generators needs python3-packaging, so we cannot have it yet.
|
||||
#
|
||||
# We also use the previous build of Python in "make regen-all".
|
||||
#
|
||||
# Procedure: https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython
|
||||
#
|
||||
# IMPORTANT: When bootstrapping, it's very likely python-pip-wheel is
|
||||
# not available. Turn off the rpmwheels bcond until
|
||||
# python-pip is built with a wheel to get around the issue.
|
||||
%bcond bootstrap 0
|
||||
|
||||
# Whether to use RPM build wheels from the python-{pip,setuptools,wheel}-wheel packages
|
||||
# Uses upstream bundled prebuilt wheels otherwise
|
||||
%bcond rpmwheels 1
|
||||
|
||||
# Expensive optimizations (mainly, profile-guided optimizations)
|
||||
%bcond optimizations 1
|
||||
|
||||
# Run the test suite in %%check
|
||||
%bcond tests 1
|
||||
|
||||
# ==================
|
||||
# Top-level metadata
|
||||
# ==================
|
||||
|
|
@ -36,22 +63,42 @@ License: Python-2.0.1
|
|||
# In ELN/RHEL/CentOS we want to allow building against alternative stacks, so the Provide is enabled.
|
||||
%bcond python_abi_provides_for_alt_pythons %{undefined fedora}
|
||||
|
||||
# When bootstrapping python3, we need to build python3-packaging.
|
||||
# but packaging BR python3-devel and that brings in python3-rpm-generators;
|
||||
# python3-rpm-generators needs python3-packaging, so we cannot have it yet.
|
||||
#
|
||||
# We also use the previous build of Python in "make regen-all".
|
||||
#
|
||||
# Procedure: https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython
|
||||
#
|
||||
# IMPORTANT: When bootstrapping, it's very likely python-pip-wheel is
|
||||
# not available. Turn off the rpmwheels bcond until
|
||||
# python-pip is built with a wheel to get around the issue.
|
||||
%bcond bootstrap 0
|
||||
# Extra build for debugging the interpreter or C-API extensions
|
||||
# (the -debug subpackages)
|
||||
%bcond debug_build 1
|
||||
|
||||
# Extra build without GIL, the freethreading PEP 703 provisional way
|
||||
# (the -freethreading subpackage)
|
||||
%bcond freethreading_build 1
|
||||
|
||||
# PEP 744: JIT Compilation
|
||||
# Whether to build with the experimental JIT compiler
|
||||
# We can only have this on Fedora 40+, where clang 18+ is available
|
||||
# And only on certain architectures: https://peps.python.org/pep-0744/#support
|
||||
# The freethreading build (when enabled) does not support JIT yet
|
||||
%bcond jit %[(0%{?fedora} >= 40 || 0%{?rhel} >= 10) && ("%{_arch}" == "x86_64" || "%{_arch}" == "aarch64")]
|
||||
%if %{with jit}
|
||||
# When built with JIT, it still needs to be enabled on runtime via PYTHON_JIT=1
|
||||
%global jit_flag --enable-experimental-jit=yes-off
|
||||
%endif
|
||||
|
||||
# Main interpreter loop optimization
|
||||
%bcond computed_gotos 1
|
||||
|
||||
# =====================
|
||||
# General global macros
|
||||
# =====================
|
||||
|
||||
%if %{with main_python}
|
||||
%global pkgname python3
|
||||
%global exename python3
|
||||
%global python3_pkgversion 3
|
||||
%else
|
||||
%global pkgname python%{pybasever}
|
||||
%global exename python%{pybasever}
|
||||
%global python3_pkgversion %{pybasever}
|
||||
%endif
|
||||
|
||||
# Whether to use RPM build wheels from the python-{pip,setuptools,wheel}-wheel packages
|
||||
# Uses upstream bundled prebuilt wheels otherwise
|
||||
%bcond rpmwheels 1
|
||||
# If the rpmwheels condition is disabled, we use the bundled wheel packages
|
||||
# from Python with the versions below.
|
||||
# This needs to be manually updated when we update Python.
|
||||
|
|
@ -106,47 +153,6 @@ Provides: bundled(python3dist(wheel)) = 0.45.1
|
|||
Provides: bundled(python3dist(zipp)) = 3.19.2
|
||||
}
|
||||
|
||||
# Expensive optimizations (mainly, profile-guided optimizations)
|
||||
%bcond optimizations 1
|
||||
|
||||
# Run the test suite in %%check
|
||||
%bcond tests 1
|
||||
|
||||
# Extra build for debugging the interpreter or C-API extensions
|
||||
# (the -debug subpackages)
|
||||
%bcond debug_build 1
|
||||
|
||||
# Extra build without GIL, the freethreading PEP 703 provisional way
|
||||
# (the -freethreading subpackage)
|
||||
%bcond freethreading_build 1
|
||||
|
||||
# PEP 744: JIT Compilation
|
||||
# Whether to build with the experimental JIT compiler
|
||||
# We can only have this on Fedora 40+, where clang 18+ is available
|
||||
# And only on certain architectures: https://peps.python.org/pep-0744/#support
|
||||
# The freethreading build (when enabled) does not support JIT yet
|
||||
%bcond jit %[(0%{?fedora} >= 40 || 0%{?rhel} >= 10) && ("%{_arch}" == "x86_64" || "%{_arch}" == "aarch64")]
|
||||
%if %{with jit}
|
||||
# When built with JIT, it still needs to be enabled on runtime via PYTHON_JIT=1
|
||||
%global jit_flag --enable-experimental-jit=yes-off
|
||||
%endif
|
||||
|
||||
# Main interpreter loop optimization
|
||||
%bcond computed_gotos 1
|
||||
|
||||
# =====================
|
||||
# General global macros
|
||||
# =====================
|
||||
%if %{with main_python}
|
||||
%global pkgname python3
|
||||
%global exename python3
|
||||
%global python3_pkgversion 3
|
||||
%else
|
||||
%global pkgname python%{pybasever}
|
||||
%global exename python%{pybasever}
|
||||
%global python3_pkgversion %{pybasever}
|
||||
%endif
|
||||
|
||||
# ABIFLAGS, LDVERSION and SOABI are in the upstream configure.ac
|
||||
# See PEP 3149 for some background: http://www.python.org/dev/peps/pep-3149/
|
||||
%global ABIFLAGS_optimized %{nil}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue