Update to Python 3.13.0b4

The freethreading packages are now located in /usr/lib64/python3.13t
See https://github.com/python/cpython/issues/121103

Co-Authored-By: Karolina Surma <ksurma@redhat.com>
This commit is contained in:
Miro Hrončok 2024-07-18 22:01:33 +02:00
commit 6740145ba8
6 changed files with 256 additions and 225 deletions

View file

@ -30,10 +30,10 @@ Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
3 files changed, 72 insertions(+), 4 deletions(-)
diff --git a/Lib/site.py b/Lib/site.py
index 7eace190f5..8d193abfbb 100644
index 0a0dc47b17..bb42e1cf5a 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -406,8 +406,15 @@ def getsitepackages(prefixes=None):
@@ -414,8 +414,15 @@ def getsitepackages(prefixes=None):
return sitepackages
def addsitepackages(known_paths, prefixes=None):
@ -51,7 +51,7 @@ index 7eace190f5..8d193abfbb 100644
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)
diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
index 98a14e5d3a..8369073fee 100644
index 83e057c177..8b167dca31 100644
--- a/Lib/sysconfig/__init__.py
+++ b/Lib/sysconfig/__init__.py
@@ -106,6 +106,12 @@
@ -130,7 +130,7 @@ index 98a14e5d3a..8369073fee 100644
# On Windows we want to substitute 'lib' for schemes rather
# than the native value (without modifying vars, in case it
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index 9233304c6a..4acaad5ed6 100644
index 37cee92768..ffb63452be 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -121,8 +121,19 @@ def test_get_path(self):

View file

@ -1,37 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Sergey B Kirpichev <skirpichev@gmail.com>
Date: Tue, 2 Jul 2024 12:40:01 +0300
Subject: [PATCH] 00430: gh-121245: Amend d611c4c8e9 (correct import) (#121255)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
---
Lib/site.py | 3 +--
.../Library/2024-07-02-11-34-06.gh-issue-121245.sSkDAr.rst | 2 ++
2 files changed, 3 insertions(+), 2 deletions(-)
create mode 100644 Misc/NEWS.d/next/Library/2024-07-02-11-34-06.gh-issue-121245.sSkDAr.rst
diff --git a/Lib/site.py b/Lib/site.py
index 8d193abfbb..7fff22328e 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -533,8 +533,7 @@ def register_readline():
def write_history():
try:
- # _pyrepl.__main__ is executed as the __main__ module
- from __main__ import CAN_USE_PYREPL
+ from _pyrepl.main import CAN_USE_PYREPL
except ImportError:
CAN_USE_PYREPL = False
diff --git a/Misc/NEWS.d/next/Library/2024-07-02-11-34-06.gh-issue-121245.sSkDAr.rst b/Misc/NEWS.d/next/Library/2024-07-02-11-34-06.gh-issue-121245.sSkDAr.rst
new file mode 100644
index 0000000000..6e9dec2545
--- /dev/null
+++ b/Misc/NEWS.d/next/Library/2024-07-02-11-34-06.gh-issue-121245.sSkDAr.rst
@@ -0,0 +1,2 @@
+Fix a bug in the handling of the command history of the new :term:`REPL` that caused
+the history file to be wiped at REPL exit.

View file

@ -0,0 +1,30 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
Date: Fri, 19 Jul 2024 11:20:27 +0200
Subject: [PATCH] 00432: Account with abi_thread in
test_sysconfig.test_user_similar
From https://github.com/python/cpython/pull/122017
---
Lib/test/test_sysconfig.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/Lib/test/test_sysconfig.py b/Lib/test/test_sysconfig.py
index ffb63452be..43cab7ba21 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -428,10 +428,10 @@ def test_user_similar(self):
# bpo-44860: platlib of posix_user doesn't use sys.platlibdir,
# whereas posix_prefix does.
if name == 'platlib':
- # Replace "/lib64/python3.11/site-packages" suffix
- # with "/lib/python3.11/site-packages".
- py_version_short = sysconfig.get_python_version()
- suffix = f'python{py_version_short}/site-packages'
+ # Replace "/lib64/python3.11{abi_thread}/site-packages" suffix
+ # with "/lib/python3.11{abi_thread}/site-packages".
+ py_version_abi = sysconfig._get_python_version_abi()
+ suffix = f'python{py_version_abi}/site-packages'
expected = expected.replace(f'/{sys.platlibdir}/{suffix}',
f'/lib/{suffix}')
self.assertEqual(user_path, expected)

View file

@ -14,10 +14,10 @@ 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}.0
%global prerel b3
%global prerel b4
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
Release: 3%{?dist}
Release: 1%{?dist}
License: Python-2.0.1
@ -176,9 +176,6 @@ Provides: bundled(python3dist(packaging)) = 24
%global exename python%{pybasever}
%endif
%global pylibdir %{_libdir}/python%{pybasever}
%global dynload_dir %{pylibdir}/lib-dynload
# 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}
@ -191,6 +188,13 @@ Provides: bundled(python3dist(packaging)) = 24
%global LDVERSION_freethreading %{pybasever}%{ABIFLAGS_freethreading}
%global LDVERSION_freethreading_debug %{pybasever}%{ABIFLAGS_freethreading_debug}
%global pylibdir %{_libdir}/python%{pybasever}
%global dynload_dir %{pylibdir}/lib-dynload
# freethreading libraries are located in e.g. /usr/lib64/python3.13t/
# https://github.com/python/cpython/issues/121103
%global pylibdir_freethreading %{pylibdir}%{ABIFLAGS_freethreading}
%global dynload_dir_freethreading %{pylibdir_freethreading}/lib-dynload
# We use the upstream arch triplets, we convert them from %%{_arch}-linux%%{_gnu}
%global platform_triplet %{expand:%(echo %{_arch}-linux%{_gnu} | sed -E \\
-e 's/^arm(eb)?-linux-gnueabi$/arm\\1-linux-gnueabihf/' \\
@ -395,9 +399,11 @@ Patch251: 00251-change-user-install-location.patch
# Another process might have already moved jit_stencils.h.new
Patch429: 00429-gh-118943-fix-another-race-condition-when-generating-jit_stencils-h.patch
# 00430 # e6851cbe4b1043e8d99e3f3dfa9c9f286fe0d511
# gh-121245: Amend d611c4c8e9 (correct import) (#121255)
Patch430: 00430-gh-121245-amend-d611c4c8e9-correct-import.patch
# 00432 # 74b8ebb01dac2390dea7d76a8040ad54198c73c4
# Account with abi_thread in test_sysconfig.test_user_similar
#
# From https://github.com/python/cpython/pull/122017
Patch432: 00432-account-with-abi_thread-in-test_sysconfig-test_user_similar.patch
# (New patches go here ^^^)
#
@ -722,17 +728,30 @@ The debug runtime additionally supports debug builds of C-API extensions
# At least until the PEP 703 build remains provisional.
%package -n python%{pybasever}-freethreading
Summary: Free Threading (PEP 703) version of the Python runtime
License: %{libs_license}
# The freethreading build is an all-in-one package version of the regular build, and
# shares the same .py/.pyc files and directories as the regular build. Hence
# we depend on all of the subpackages of the regular build:
Requires: %{pkgname}%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-libs%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-devel%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-test%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-tkinter%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-idle%{?_isa} = %{version}-%{release}
%if %{with rpmwheels}
Requires: %{python_wheel_pkg_prefix}-pip-wheel >= 23.1.2
Requires: %{python_wheel_pkg_prefix}-setuptools-wheel
Requires: %{python_wheel_pkg_prefix}-wheel-wheel
License: %{libs_license}
%else
Provides: bundled(python3dist(pip)) = %{pip_version}
%pip_bundled_provides
Provides: bundled(python3dist(setuptools)) = %{setuptools_version}
%setuptools_bundled_provides
Provides: bundled(python3dist(wheel)) = %{wheel_version}
%wheel_bundled_provides
# License combined from Python libs + pip + setuptools + wheel
License: %{libs_license} AND Apache-2.0 AND BSD-2-Clause AND BSD-3-Clause AND ISC AND LGPL-2.1-only AND MPL-2.0 AND (Apache-2.0 OR BSD-2-Clause)
%endif
# This package doesn't depend on python3-libs, so we need to explicitly
# define the same Provides and Requires.
# See the comments in the definition of -libs subpackage for detailed explanations
Provides: bundled(libb2) = 0.98.1
Provides: bundled(mimalloc) = 2.12
Requires: tzdata
Requires: expat >= 2.6
%description -n python%{pybasever}-freethreading
The provisional Free Threading (PEP 703) build of Python.
@ -752,15 +771,8 @@ and with the necessary changes needed to make the interpreter thread-safe.
Summary: Free Threading (PEP 703) version of the Python runtime (debug build)
License: %{libs_license}
# The debug build is an all-in-one package version of the regular build, and
# shares the same .py/.pyc files and directories as the regular build. Hence
# we depend on all of the subpackages of the regular build:
Requires: %{pkgname}%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-libs%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-devel%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-test%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-tkinter%{?_isa} = %{version}-%{release}
Requires: %{pkgname}-idle%{?_isa} = %{version}-%{release}
# This uses the pure Python modules from the freethreading package
Requires: python%{pybasever}-freethreading%{?_isa} = %{version}-%{release}
%description -n python%{pybasever}-freethreading-debug
The provisional Free Threading (PEP 703) build of Python. Debug build.
@ -1090,6 +1102,9 @@ install -d -m 0755 %{buildroot}%{pylibdir}/site-packages/__pycache__
# Note that rpmlint will complain about hardcoded library path;
# this is intentional.
install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}/site-packages/__pycache__
%if %{with freethreading_build}
install -d -m 0755 %{buildroot}%{_prefix}/lib/python%{pybasever}%{ABIFLAGS_freethreading}/site-packages/__pycache__
%endif # with freethreading_build
%endif
%if %{with main_python}
@ -1156,7 +1171,7 @@ find . -name "*~" -exec rm -f {} \;
%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}
%{buildroot}%{_bindir}/python%{pybasever} -s -B -m clamp_source_mtime %{buildroot}%{pylibdir} %{?with_freethreading_build:%{buildroot}%{pylibdir_freethreading}}
%endif
# compileall CMD line options:
# -f - force rebuild even if timestamps are up to date
@ -1354,59 +1369,61 @@ CheckPython freethreading
%license %{pylibdir}/LICENSE.txt
# Pure Python modules
%{pylibdir}/*.py
%dir %{pylibdir}/__pycache__/
%{pylibdir}/__pycache__/*%{bytecode_suffixes}
%{pylibdir}/_pyrepl/
%{pylibdir}/asyncio/
%{pylibdir}/collections/
%{pylibdir}/concurrent/
%{pylibdir}/ctypes/
%{pylibdir}/curses/
%{pylibdir}/dbm/
%{pylibdir}/encodings/
%{pylibdir}/html/
%{pylibdir}/http/
%{pylibdir}/importlib/
%{pylibdir}/json/
%{pylibdir}/logging/
%{pylibdir}/multiprocessing/
%{pylibdir}/pathlib/
%{pylibdir}/pydoc_data/
%{pylibdir}/re/
%{pylibdir}/sqlite3/
%{pylibdir}/sysconfig/
%{pylibdir}/tomllib/
%{pylibdir}/unittest/
%{pylibdir}/urllib/
%{pylibdir}/venv/
%{pylibdir}/wsgiref/
%{pylibdir}/xml/
%{pylibdir}/xmlrpc/
%{pylibdir}/zipfile/
%{pylibdir}/zoneinfo/
# Handle the email module in detail to mark architecture.rst as %%doc
%dir %{pylibdir}/email/
%dir %{pylibdir}/email/__pycache__/
%{pylibdir}/email/*.py
%{pylibdir}/email/__pycache__/*%{bytecode_suffixes}
%{pylibdir}/email/mime/
%doc %{pylibdir}/email/architecture.rst
# Handle the ensurepip module in detail to not accidentally ship wheels
%dir %{pylibdir}/ensurepip/
%dir %{pylibdir}/ensurepip/__pycache__/
%{pylibdir}/ensurepip/*.py
%{pylibdir}/ensurepip/__pycache__/*%{bytecode_suffixes}
%if %{with rpmwheels}
%exclude %{pylibdir}/ensurepip/_bundled
%else
%dir %{pylibdir}/ensurepip/_bundled
%{pylibdir}/ensurepip/_bundled/pip-%{pip_version}-py3-none-any.whl
# This is macronized for reuse in the -freethreading package
%define pure_python_modules() \
%{1}/*.py\
%dir %{1}/__pycache__/\
%{1}/__pycache__/*%{bytecode_suffixes}\
\
%{1}/_pyrepl/\
%{1}/asyncio/\
%{1}/collections/\
%{1}/concurrent/\
%{1}/ctypes/\
%{1}/curses/\
%{1}/dbm/\
%{1}/encodings/\
%{1}/html/\
%{1}/http/\
%{1}/importlib/\
%{1}/json/\
%{1}/logging/\
%{1}/multiprocessing/\
%{1}/pathlib/\
%{1}/pydoc_data/\
%{1}/re/\
%{1}/sqlite3/\
%{1}/sysconfig/\
%{1}/tomllib/\
%{1}/unittest/\
%{1}/urllib/\
%{1}/venv/\
%{1}/wsgiref/\
%{1}/xml/\
%{1}/xmlrpc/\
%{1}/zipfile/\
%{1}/zoneinfo/\
# Handle the email module in detail to mark architecture.rst as %%doc\
%dir %{1}/email/\
%dir %{1}/email/__pycache__/\
%{1}/email/*.py\
%{1}/email/__pycache__/*%{bytecode_suffixes}\
%{1}/email/mime/\
%doc %{1}/email/architecture.rst\
# Handle the ensurepip module in detail to not accidentally ship wheels\
%dir %{1}/ensurepip/\
%dir %{1}/ensurepip/__pycache__/\
%{1}/ensurepip/*.py\
%{1}/ensurepip/__pycache__/*%{bytecode_suffixes}\
%if %{with rpmwheels}\
%exclude %{1}/ensurepip/_bundled\
%else\
%dir %{1}/ensurepip/_bundled\
%{1}/ensurepip/_bundled/pip-%{pip_version}-py3-none-any.whl\
%endif
%pure_python_modules %{pylibdir}
# This will be in the tkinter package
%exclude %{pylibdir}/turtle.py
%exclude %{pylibdir}/__pycache__/turtle*%{bytecode_suffixes}
@ -1420,72 +1437,72 @@ CheckPython freethreading
# Extension modules
# This is macronized for reuse in the -debug package
%define extension_modules() \
%{dynload_dir}/_asyncio.%{1}.so\
%{dynload_dir}/_bisect.%{1}.so\
%{dynload_dir}/_blake2.%{1}.so\
%{dynload_dir}/_bz2.%{1}.so\
%{dynload_dir}/_codecs_cn.%{1}.so\
%{dynload_dir}/_codecs_hk.%{1}.so\
%{dynload_dir}/_codecs_iso2022.%{1}.so\
%{dynload_dir}/_codecs_jp.%{1}.so\
%{dynload_dir}/_codecs_kr.%{1}.so\
%{dynload_dir}/_codecs_tw.%{1}.so\
%{dynload_dir}/_contextvars.%{1}.so\
%{dynload_dir}/_csv.%{1}.so\
%{dynload_dir}/_ctypes.%{1}.so\
%{dynload_dir}/_curses.%{1}.so\
%{dynload_dir}/_curses_panel.%{1}.so\
%{dynload_dir}/_datetime.%{1}.so\
%{dynload_dir}/_dbm.%{1}.so\
%{1}/_asyncio.%{2}.so\
%{1}/_bisect.%{2}.so\
%{1}/_blake2.%{2}.so\
%{1}/_bz2.%{2}.so\
%{1}/_codecs_cn.%{2}.so\
%{1}/_codecs_hk.%{2}.so\
%{1}/_codecs_iso2022.%{2}.so\
%{1}/_codecs_jp.%{2}.so\
%{1}/_codecs_kr.%{2}.so\
%{1}/_codecs_tw.%{2}.so\
%{1}/_contextvars.%{2}.so\
%{1}/_csv.%{2}.so\
%{1}/_ctypes.%{2}.so\
%{1}/_curses.%{2}.so\
%{1}/_curses_panel.%{2}.so\
%{1}/_datetime.%{2}.so\
%{1}/_dbm.%{2}.so\
%if %{with gdbm}\
%{dynload_dir}/_gdbm.%{1}.so\
%{1}/_gdbm.%{2}.so\
%endif\
%{dynload_dir}/_decimal.%{1}.so\
%{dynload_dir}/_elementtree.%{1}.so\
%{dynload_dir}/_hashlib.%{1}.so\
%{dynload_dir}/_heapq.%{1}.so\
%{dynload_dir}/_interpchannels.%{1}.so\
%{dynload_dir}/_interpqueues.%{1}.so\
%{dynload_dir}/_interpreters.%{1}.so\
%{dynload_dir}/_json.%{1}.so\
%{dynload_dir}/_lsprof.%{1}.so\
%{dynload_dir}/_lzma.%{1}.so\
%{dynload_dir}/_md5.%{1}.so\
%{dynload_dir}/_multibytecodec.%{1}.so\
%{dynload_dir}/_multiprocessing.%{1}.so\
%{dynload_dir}/_opcode.%{1}.so\
%{dynload_dir}/_pickle.%{1}.so\
%{dynload_dir}/_posixshmem.%{1}.so\
%{dynload_dir}/_posixsubprocess.%{1}.so\
%{dynload_dir}/_queue.%{1}.so\
%{dynload_dir}/_random.%{1}.so\
%{dynload_dir}/_sha1.%{1}.so\
%{dynload_dir}/_sha2.%{1}.so\
%{dynload_dir}/_sha3.%{1}.so\
%{dynload_dir}/_socket.%{1}.so\
%{dynload_dir}/_sqlite3.%{1}.so\
%{dynload_dir}/_ssl.%{1}.so\
%{dynload_dir}/_statistics.%{1}.so\
%{dynload_dir}/_struct.%{1}.so\
%{dynload_dir}/_uuid.%{1}.so\
%{dynload_dir}/_zoneinfo.%{1}.so\
%{dynload_dir}/array.%{1}.so\
%{dynload_dir}/binascii.%{1}.so\
%{dynload_dir}/cmath.%{1}.so\
%{dynload_dir}/fcntl.%{1}.so\
%{dynload_dir}/grp.%{1}.so\
%{dynload_dir}/math.%{1}.so\
%{dynload_dir}/mmap.%{1}.so\
%{dynload_dir}/pyexpat.%{1}.so\
%{dynload_dir}/readline.%{1}.so\
%{dynload_dir}/resource.%{1}.so\
%{dynload_dir}/select.%{1}.so\
%{dynload_dir}/syslog.%{1}.so\
%{dynload_dir}/termios.%{1}.so\
%{dynload_dir}/unicodedata.%{1}.so\
%{dynload_dir}/zlib.%{1}.so
%{1}/_decimal.%{2}.so\
%{1}/_elementtree.%{2}.so\
%{1}/_hashlib.%{2}.so\
%{1}/_heapq.%{2}.so\
%{1}/_interpchannels.%{2}.so\
%{1}/_interpqueues.%{2}.so\
%{1}/_interpreters.%{2}.so\
%{1}/_json.%{2}.so\
%{1}/_lsprof.%{2}.so\
%{1}/_lzma.%{2}.so\
%{1}/_md5.%{2}.so\
%{1}/_multibytecodec.%{2}.so\
%{1}/_multiprocessing.%{2}.so\
%{1}/_opcode.%{2}.so\
%{1}/_pickle.%{2}.so\
%{1}/_posixshmem.%{2}.so\
%{1}/_posixsubprocess.%{2}.so\
%{1}/_queue.%{2}.so\
%{1}/_random.%{2}.so\
%{1}/_sha1.%{2}.so\
%{1}/_sha2.%{2}.so\
%{1}/_sha3.%{2}.so\
%{1}/_socket.%{2}.so\
%{1}/_sqlite3.%{2}.so\
%{1}/_ssl.%{2}.so\
%{1}/_statistics.%{2}.so\
%{1}/_struct.%{2}.so\
%{1}/_uuid.%{2}.so\
%{1}/_zoneinfo.%{2}.so\
%{1}/array.%{2}.so\
%{1}/binascii.%{2}.so\
%{1}/cmath.%{2}.so\
%{1}/fcntl.%{2}.so\
%{1}/grp.%{2}.so\
%{1}/math.%{2}.so\
%{1}/mmap.%{2}.so\
%{1}/pyexpat.%{2}.so\
%{1}/readline.%{2}.so\
%{1}/resource.%{2}.so\
%{1}/select.%{2}.so\
%{1}/syslog.%{2}.so\
%{1}/termios.%{2}.so\
%{1}/unicodedata.%{2}.so\
%{1}/zlib.%{2}.so
%extension_modules %{SOABI_optimized}
%extension_modules %{dynload_dir} %{SOABI_optimized}
%dir %{pylibdir}/site-packages/
%dir %{pylibdir}/site-packages/__pycache__/
@ -1582,23 +1599,23 @@ CheckPython freethreading
# Extension modules
# This is macronized for reuse in the -debug package
%define extension_modules_test() \
%{dynload_dir}/_ctypes_test.%{1}.so\
%{dynload_dir}/_testbuffer.%{1}.so\
%{dynload_dir}/_testcapi.%{1}.so\
%{dynload_dir}/_testclinic.%{1}.so\
%{dynload_dir}/_testclinic_limited.%{1}.so\
%{dynload_dir}/_testexternalinspection.%{1}.so\
%{dynload_dir}/_testimportmultiple.%{1}.so\
%{dynload_dir}/_testinternalcapi.%{1}.so\
%{dynload_dir}/_testlimitedcapi.%{1}.so\
%{dynload_dir}/_testmultiphase.%{1}.so\
%{dynload_dir}/_testsinglephase.%{1}.so\
%{dynload_dir}/_xxtestfuzz.%{1}.so\
%{dynload_dir}/xxlimited.%{1}.so\
%{dynload_dir}/xxlimited_35.%{1}.so\
%{dynload_dir}/xxsubtype.%{1}.so
%{1}/_ctypes_test.%{2}.so\
%{1}/_testbuffer.%{2}.so\
%{1}/_testcapi.%{2}.so\
%{1}/_testclinic.%{2}.so\
%{1}/_testclinic_limited.%{2}.so\
%{1}/_testexternalinspection.%{2}.so\
%{1}/_testimportmultiple.%{2}.so\
%{1}/_testinternalcapi.%{2}.so\
%{1}/_testlimitedcapi.%{2}.so\
%{1}/_testmultiphase.%{2}.so\
%{1}/_testsinglephase.%{2}.so\
%{1}/_xxtestfuzz.%{2}.so\
%{1}/xxlimited.%{2}.so\
%{1}/xxlimited_35.%{2}.so\
%{1}/xxsubtype.%{2}.so
%extension_modules_test %{SOABI_optimized}
%extension_modules_test %{dynload_dir} %{SOABI_optimized}
# We don't bother splitting the debug build out into further subpackages:
@ -1620,8 +1637,8 @@ CheckPython freethreading
%{_libdir}/%{py_INSTSONAME_debug}
# Analog of the libs, test, and tkinter extension modules:
%extension_modules %{SOABI_debug}
%extension_modules_test %{SOABI_debug}
%extension_modules %{dynload_dir} %{SOABI_debug}
%extension_modules_test %{dynload_dir} %{SOABI_debug}
%{dynload_dir}/_tkinter.%{SOABI_debug}.so
# Analog of the -devel subpackage's files:
@ -1640,19 +1657,40 @@ CheckPython freethreading
%if %{with freethreading_build}
%files -n python%{pybasever}-freethreading
%dir %{pylibdir_freethreading}
%dir %{dynload_dir_freethreading}
%license %{pylibdir_freethreading}/LICENSE.txt
%doc %{pylibdir_freethreading}/site-packages/README.txt
# Pure Python modules
%pure_python_modules %{pylibdir_freethreading}
# Modules that we separate from python3-libs, but want to ship in -freethreading
%{pylibdir_freethreading}/__phello__/
%{pylibdir_freethreading}/idlelib/
%{pylibdir_freethreading}/test/
%{pylibdir_freethreading}/tkinter/
%{pylibdir_freethreading}/turtledemo/
# This will be in the -freethreading-debug package
%if %{with debug_build}
%exclude %{pylibdir_freethreading}/_sysconfigdata_%{ABIFLAGS_freethreading_debug}_linux_%{platform_triplet}.py
%exclude %{pylibdir_freethreading}/__pycache__/_sysconfigdata_%{ABIFLAGS_freethreading_debug}_linux_%{platform_triplet}%{bytecode_suffixes}
%endif
# Analog of the core subpackage's files:
%{_bindir}/python%{LDVERSION_freethreading}
# Analog to the -libs subpackage's files:
%{_libdir}/%{py_INSTSONAME_freethreading}
# Analog of the libs, test, and tkinter extension modules:
%extension_modules %{SOABI_freethreading}
%extension_modules_test %{SOABI_freethreading}
%{dynload_dir}/_tkinter.%{SOABI_freethreading}.so
%extension_modules %{dynload_dir_freethreading} %{SOABI_freethreading}
%extension_modules_test %{dynload_dir_freethreading} %{SOABI_freethreading}
%{dynload_dir_freethreading}/_tkinter.%{SOABI_freethreading}.so
# Analog of the -devel subpackage's files:
%{pylibdir}/config-%{LDVERSION_freethreading}-%{platform_triplet}/
%{pylibdir_freethreading}/config-%{LDVERSION_freethreading}-%{platform_triplet}/
%{_includedir}/python%{LDVERSION_freethreading}/
%{_bindir}/python%{LDVERSION_freethreading}-config
%{_bindir}/python%{LDVERSION_freethreading}-*-config
@ -1660,9 +1698,6 @@ CheckPython freethreading
%{_libdir}/pkgconfig/python-%{LDVERSION_freethreading}.pc
%{_libdir}/pkgconfig/python-%{LDVERSION_freethreading}-embed.pc
%{pylibdir}/_sysconfigdata_%{ABIFLAGS_freethreading}_linux_%{platform_triplet}.py
%{pylibdir}/__pycache__/_sysconfigdata_%{ABIFLAGS_freethreading}_linux_%{platform_triplet}%{bytecode_suffixes}
%endif # with freethreading_build
%if %{with freethreading_build} && %{with debug_build}
@ -1674,12 +1709,12 @@ CheckPython freethreading
%{_libdir}/%{py_INSTSONAME_freethreading_debug}
# Analog of the libs, test, and tkinter extension modules:
%extension_modules %{SOABI_freethreading_debug}
%extension_modules_test %{SOABI_freethreading_debug}
%{dynload_dir}/_tkinter.%{SOABI_freethreading_debug}.so
%extension_modules %{dynload_dir_freethreading} %{SOABI_freethreading_debug}
%extension_modules_test %{dynload_dir_freethreading} %{SOABI_freethreading_debug}
%{dynload_dir_freethreading}/_tkinter.%{SOABI_freethreading_debug}.so
# Analog of the -devel subpackage's files:
%{pylibdir}/config-%{LDVERSION_freethreading_debug}-%{platform_triplet}/
%{pylibdir_freethreading}/config-%{LDVERSION_freethreading_debug}-%{platform_triplet}/
%{_includedir}/python%{LDVERSION_freethreading_debug}/
%{_bindir}/python%{LDVERSION_freethreading_debug}-config
%{_bindir}/python%{LDVERSION_freethreading_debug}-*-config
@ -1687,8 +1722,8 @@ CheckPython freethreading
%{_libdir}/pkgconfig/python-%{LDVERSION_freethreading_debug}.pc
%{_libdir}/pkgconfig/python-%{LDVERSION_freethreading_debug}-embed.pc
%{pylibdir}/_sysconfigdata_%{ABIFLAGS_freethreading_debug}_linux_%{platform_triplet}.py
%{pylibdir}/__pycache__/_sysconfigdata_%{ABIFLAGS_freethreading_debug}_linux_%{platform_triplet}%{bytecode_suffixes}
%{pylibdir_freethreading}/_sysconfigdata_%{ABIFLAGS_freethreading_debug}_linux_%{platform_triplet}.py
%{pylibdir_freethreading}/__pycache__/_sysconfigdata_%{ABIFLAGS_freethreading_debug}_linux_%{platform_triplet}%{bytecode_suffixes}
%endif # with freethreading_build && debug_build
@ -1713,6 +1748,9 @@ CheckPython freethreading
# ======================================================
%changelog
* Fri Jul 19 2024 Miro Hrončok <mhroncok@redhat.com> - 3.13.0~b4-1
- Update to Python 3.13.0b4
* Fri Jul 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.13.0~b3-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild

View file

@ -6,7 +6,7 @@ Filters = [
# TESTS:
'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3\.\d+/test',
'(zero-length|pem-certificate|uncompressed-zip) /usr/lib(64)?/python3\.\d+t?/test',
# OTHER DELIBERATES:
@ -14,7 +14,7 @@ Filters = [
'missing-call-to-chdir-with-chroot',
# gethostbyname function calls gethostbyname
'(E|W): binary-or-shlib-calls-gethostbyname /usr/lib(64)?/python3\.\d+/lib-dynload/_socket\.',
'(E|W): binary-or-shlib-calls-gethostbyname /usr/lib(64)?/python3\.\d+t?/lib-dynload/_socket\.',
# intentionally unversioned and selfobsoleted
'unversioned-explicit-obsoletes python',
@ -28,18 +28,18 @@ Filters = [
'only-non-binary-in-usr-lib',
# some devel files that are deliberately needed
'devel-file-in-non-devel-package /usr/include/python3\.\d+m?/pyconfig-(32|64)\.h',
'devel-file-in-non-devel-package /usr/lib(64)?/python3\.\d+/distutils/tests/xxmodule\.c',
'devel-file-in-non-devel-package /usr/include/python3\.\d+m?t?/pyconfig-(32|64)\.h',
'devel-file-in-non-devel-package /usr/lib(64)?/python3\.\d+t?/distutils/tests/xxmodule\.c',
# ...or are used as test data
'devel-file-in-non-devel-package /usr/lib(64)?/python3\.\d+/test',
'devel-file-in-non-devel-package /usr/lib(64)?/python3\.\d+t?/test',
# some bytecode is shipped without sources on purpose, as a space optimization
# if this regex needs to be relaxed in the future, make sure it **does not** match pyc files in __pycache__
'python-bytecode-without-source /usr/lib(64)?/python3\.\d+/(encodings|pydoc_data)/[^/]+.pyc',
'python-bytecode-without-source /usr/lib(64)?/python3\.\d+t?/(encodings|pydoc_data)/[^/]+.pyc',
# DUPLICATE FILES
# test data are often duplicated
'(E|W): files-duplicate /usr/lib(64)?/python3\.\d+/(test|__phello__)/',
'(E|W): files-duplicate /usr/lib(64)?/python3\.\d+t?/(test|__phello__)/',
# duplicated inits or mains are also common
'(E|W): files-duplicate .+__init__\.py.+__init__\.py',
'(E|W): files-duplicate .+__main__\.py.+__main__\.py',

View file

@ -1,2 +1,2 @@
SHA512 (Python-3.13.0b3.tar.xz) = 1f0ef2d6f5d450664ad4104b92193b5a2dbe9c79add0a79c35ad9508f9fc7f1a5561efd5e4367defddf45457291524d353705d9a60b3550065920e204c77357d
SHA512 (Python-3.13.0b3.tar.xz.asc) = 3d8bdc8c26441a12518940d264e93a8897042e297ccf9cd2ddec725716a58486475be9462582ee489bd189a4d028b43504f979298174c1b008d521b7ab5fbf1b
SHA512 (Python-3.13.0b4.tar.xz) = e556f7a4e54b688d0424b0bd84f9849b52f4f7e04c68d4d5b877d86b4f9ded92c9efaa2b7ab33f345235f35e8d544833542f7a4cb100d0ff15b7d98b8367b935
SHA512 (Python-3.13.0b4.tar.xz.asc) = 243637efff94965aa4d997fe26c91a7c1aa7dcfdf7f78d35d6f4fc408b654dfa9d075d1c73bc5a90d145f6e5029ee395a86faf7e027c24a55fabfea6ca20fbd4