|
|
|
@ -13,12 +13,12 @@ URL: https://www.python.org/
|
|
|
|
|
|
|
|
|
|
# WARNING When rebasing to a new Python version,
|
|
|
|
|
# remember to update the python3-docs package as well
|
|
|
|
|
%global general_version %{pybasever}.4
|
|
|
|
|
#global prerel ...
|
|
|
|
|
%global general_version %{pybasever}.0
|
|
|
|
|
%global prerel rc2
|
|
|
|
|
%global upstream_version %{general_version}%{?prerel}
|
|
|
|
|
Version: %{general_version}%{?prerel:~%{prerel}}
|
|
|
|
|
Release: 2%{?dist}
|
|
|
|
|
License: Python-2.0.1
|
|
|
|
|
Release: 1.1.riscv64%{?dist}.rvre4
|
|
|
|
|
License: Python
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# ==================================
|
|
|
|
@ -67,8 +67,8 @@ License: Python-2.0.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.
|
|
|
|
|
%global pip_version 23.1.2
|
|
|
|
|
%global setuptools_version 65.5.0
|
|
|
|
|
%global pip_version 22.2.2
|
|
|
|
|
%global setuptools_version 63.2.0
|
|
|
|
|
|
|
|
|
|
# Expensive optimizations (mainly, profile-guided optimizations)
|
|
|
|
|
%bcond_without optimizations
|
|
|
|
@ -175,12 +175,6 @@ Obsoletes: python%{pybasever}%{?1:-%{1}}\
|
|
|
|
|
%define unversioned_obsoletes_of_python3_X_if_main() %{nil}
|
|
|
|
|
%endif
|
|
|
|
|
|
|
|
|
|
# Opt-out from https://fedoraproject.org/wiki/Changes/fno-omit-frame-pointer
|
|
|
|
|
# Python is slower with frame pointers, but we expect to remove this in Python 3.12+
|
|
|
|
|
# See https://lists.fedoraproject.org/archives/list/python-devel@lists.fedoraproject.org/thread/6TQYCHMX4FZLF27U5BCEC7IFV6XNBKJP/
|
|
|
|
|
# Tracking bugzilla: https://bugzilla.redhat.com/2158729
|
|
|
|
|
%undefine _include_frame_pointers
|
|
|
|
|
|
|
|
|
|
# =======================
|
|
|
|
|
# Build-time requirements
|
|
|
|
|
# =======================
|
|
|
|
@ -304,6 +298,20 @@ Patch1: 00001-rpath.patch
|
|
|
|
|
# pypa/distutils integration: https://github.com/pypa/distutils/pull/70
|
|
|
|
|
Patch251: 00251-change-user-install-location.patch
|
|
|
|
|
|
|
|
|
|
# 00328 # 318e500c98f5e59eb1f23e0fcd32db69b9bd17e1
|
|
|
|
|
# Restore pyc to TIMESTAMP invalidation mode as default in rpmbuild
|
|
|
|
|
#
|
|
|
|
|
# Since Fedora 31, the $SOURCE_DATE_EPOCH is set in rpmbuild to the latest
|
|
|
|
|
# %%changelog date. This makes Python default to the CHECKED_HASH pyc
|
|
|
|
|
# invalidation mode, bringing more reproducible builds traded for an import
|
|
|
|
|
# performance decrease. To avoid that, we don't default to CHECKED_HASH
|
|
|
|
|
# when $RPM_BUILD_ROOT is set (i.e. when we are building RPM packages).
|
|
|
|
|
#
|
|
|
|
|
# See https://src.fedoraproject.org/rpms/redhat-rpm-config/pull-request/57#comment-27426
|
|
|
|
|
# Downstream only: only used when building RPM packages
|
|
|
|
|
# Ideally, we should talk to upstream and explain why we don't want this
|
|
|
|
|
Patch328: 00328-pyc-timestamp-invalidation-mode.patch
|
|
|
|
|
|
|
|
|
|
# 00371 # c1754d9c2750f89cb702e1b63a99201f5f7cff00
|
|
|
|
|
# Revert "bpo-1596321: Fix threading._shutdown() for the main thread (GH-28549) (GH-28589)"
|
|
|
|
|
#
|
|
|
|
@ -474,11 +482,7 @@ Requires: %{pkgname}-libs%{?_isa} = %{version}-%{release}
|
|
|
|
|
# But we want them when packages BuildRequire python3-devel
|
|
|
|
|
Requires: (python-rpm-macros if rpm-build)
|
|
|
|
|
Requires: (python3-rpm-macros if rpm-build)
|
|
|
|
|
# We omit this dependency on RHEL to avoid pulling the macros to AppStream:
|
|
|
|
|
# RHEL users can use the minimal implementation of %%pyproject_buildrequires
|
|
|
|
|
# from pyproject-srpm-macros instead.
|
|
|
|
|
# On Fedora, we keep this to avoid one additional round of %%generate_buildrequires.
|
|
|
|
|
%{!?rhel:Requires: (pyproject-rpm-macros if rpm-build)}
|
|
|
|
|
Requires: (pyproject-rpm-macros if rpm-build)
|
|
|
|
|
|
|
|
|
|
%unversioned_obsoletes_of_python3_X_if_main devel
|
|
|
|
|
|
|
|
|
@ -941,25 +945,15 @@ find . -name "*~" -exec rm -f {} \;
|
|
|
|
|
# Python CMD line options:
|
|
|
|
|
# -s - don't add user site directory to sys.path
|
|
|
|
|
# -B - don't write .pyc files on import
|
|
|
|
|
# Clamp the source mtime first, see https://fedoraproject.org/wiki/Changes/ReproducibleBuildsClampMtimes
|
|
|
|
|
# The clamp_source_mtime module is only guaranteed to exist on Fedoras that enabled this option:
|
|
|
|
|
%if 0%{?clamp_mtime_to_source_date_epoch}
|
|
|
|
|
LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \
|
|
|
|
|
PYTHONPATH="%{_rpmconfigdir}/redhat" \
|
|
|
|
|
%{buildroot}%{_bindir}/python%{pybasever} -s -B -m clamp_source_mtime %{buildroot}%{pylibdir}
|
|
|
|
|
%endif
|
|
|
|
|
# compileall CMD line options:
|
|
|
|
|
# -f - force rebuild even if timestamps are up to date
|
|
|
|
|
# -o - optimization levels to run compilation with
|
|
|
|
|
# -s - part of path to left-strip from path to source file (buildroot)
|
|
|
|
|
# -p - path to add as prefix to path to source file (/ to make it absolute)
|
|
|
|
|
# --hardlink-dupes - hardlink different optimization level pycs together if identical (saves space)
|
|
|
|
|
# --invalidation-mode - we prefer the timestamp invalidation mode for performance reasons
|
|
|
|
|
# -x - skip test modules with SyntaxErrors (taken from the Makefile)
|
|
|
|
|
LD_LIBRARY_PATH="%{buildroot}%{dynload_dir}/:%{buildroot}%{_libdir}" \
|
|
|
|
|
%{buildroot}%{_bindir}/python%{pybasever} -s -B -m compileall \
|
|
|
|
|
-f %{_smp_mflags} -o 0 -o 1 -o 2 -s %{buildroot} -p / %{buildroot} --hardlink-dupes --invalidation-mode=timestamp \
|
|
|
|
|
-x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data'
|
|
|
|
|
-f %{_smp_mflags} -o 0 -o 1 -o 2 -s %{buildroot} -p / %{buildroot} --hardlink-dupes || :
|
|
|
|
|
|
|
|
|
|
# Turn this BRP off, it is done by compileall2 --hardlink-dupes above
|
|
|
|
|
%global __brp_python_hardlink %{nil}
|
|
|
|
@ -1443,7 +1437,6 @@ CheckPython optimized
|
|
|
|
|
%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
|
|
|
|
|
%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so
|
|
|
|
|
%{dynload_dir}/_testcapi.%{SOABI_optimized}.so
|
|
|
|
|
%{dynload_dir}/_testclinic.%{SOABI_optimized}.so
|
|
|
|
|
%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so
|
|
|
|
|
%{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so
|
|
|
|
|
%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so
|
|
|
|
@ -1572,7 +1565,6 @@ CheckPython optimized
|
|
|
|
|
%{dynload_dir}/_ctypes_test.%{SOABI_debug}.so
|
|
|
|
|
%{dynload_dir}/_testbuffer.%{SOABI_debug}.so
|
|
|
|
|
%{dynload_dir}/_testcapi.%{SOABI_debug}.so
|
|
|
|
|
%{dynload_dir}/_testclinic.%{SOABI_debug}.so
|
|
|
|
|
%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so
|
|
|
|
|
%{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so
|
|
|
|
|
%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so
|
|
|
|
@ -1603,36 +1595,26 @@ CheckPython optimized
|
|
|
|
|
# ======================================================
|
|
|
|
|
|
|
|
|
|
%changelog
|
|
|
|
|
* Tue Jun 13 2023 Python Maint <python-maint@redhat.com> - 3.11.4-2
|
|
|
|
|
- Rebuilt for Python 3.12
|
|
|
|
|
* Wed Sep 28 2022 David Abdurachmanov <davidlt@rivosinc.com> - 3.11.0~rc2-1.1.riscv64.rvre4
|
|
|
|
|
- Rebuilt for Fedora/RISCV (riscv64)
|
|
|
|
|
|
|
|
|
|
* Wed Jun 07 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.4-1
|
|
|
|
|
- Update to 3.11.4
|
|
|
|
|
* Tue Sep 27 2022 David Abdurachmanov <davidlt@rivosinc.com> - 3.11.0~rc2-1.1.riscv64.rvre3
|
|
|
|
|
- Rebuilt for Fedora/RISCV (riscv64)
|
|
|
|
|
|
|
|
|
|
* Wed May 24 2023 Lumír Balhar <lbalhar@redhat.com> - 3.11.3-2
|
|
|
|
|
- Fix for CVE-2023-24329
|
|
|
|
|
* Tue Sep 27 2022 David Abdurachmanov <davidlt@rivosinc.com> - 3.11.0~rc2-1.1.riscv64.rvre2
|
|
|
|
|
- Rebuilt for Fedora/RISCV (riscv64)
|
|
|
|
|
|
|
|
|
|
* Wed Apr 05 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.3-1
|
|
|
|
|
- Update to 3.11.3
|
|
|
|
|
* Tue Sep 27 2022 David Abdurachmanov <davidlt@rivosinc.com> - 3.11.0~rc2-1.1.riscv64.rvre1
|
|
|
|
|
- Rebuilt for Fedora/RISCV (riscv64)
|
|
|
|
|
|
|
|
|
|
* Wed Feb 08 2023 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.2-1
|
|
|
|
|
- Update to 3.11.2
|
|
|
|
|
* Mon Sep 26 2022 David Abdurachmanov <davidlt@rivosinc.com> - 3.11.0~rc2-1.1.riscv64.rvre0
|
|
|
|
|
- Rebuilt for Fedora/RISCV (riscv64)
|
|
|
|
|
|
|
|
|
|
* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.11.1-4
|
|
|
|
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
|
|
|
|
* Mon Sep 19 2022 Miro Hrončok <mhroncok@redhat.com> - 3.11.0~rc2-1.1.riscv64
|
|
|
|
|
- Finish bootstrap for Python 3.11 rebuild on riscv64
|
|
|
|
|
|
|
|
|
|
* Fri Jan 06 2023 Miro Hrončok <mhroncok@redhat.com> - 3.11.1-3
|
|
|
|
|
- Fix `asyncio` subprocess losing `stderr` and `stdout` output
|
|
|
|
|
- Remove any deprecation warnings in asyncio.get_event_loop()
|
|
|
|
|
|
|
|
|
|
* Mon Dec 19 2022 Miro Hrončok <mhroncok@redhat.com> - 3.11.1-2
|
|
|
|
|
- No longer patch the default bytecode cache invalidation policy
|
|
|
|
|
|
|
|
|
|
* Wed Dec 07 2022 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.11.1-1
|
|
|
|
|
- Update to 3.11.1
|
|
|
|
|
|
|
|
|
|
* Mon Oct 24 2022 Miro Hrončok <mhroncok@redhat.com> - 3.11.0-1
|
|
|
|
|
- Update to 3.11.0
|
|
|
|
|
* Mon Sep 19 2022 Miro Hrončok <mhroncok@redhat.com> - 3.11.0~rc2-1.0.riscv64
|
|
|
|
|
- Bootstrap for Python 3.11 rebuild on riscv64
|
|
|
|
|
|
|
|
|
|
* Tue Sep 13 2022 Miro Hrončok <mhroncok@redhat.com> - 3.11.0~rc2-1
|
|
|
|
|
- Update to 3.11.0rc2
|
|
|
|
|