Update to Python 3.13.0a3

This commit is contained in:
Karolina Surma 2024-01-18 10:18:46 +01:00
commit f6915d7e27
5 changed files with 73 additions and 24 deletions

View file

@ -25,15 +25,15 @@ Co-authored-by: Michal Cyprian <m.cyprian@gmail.com>
Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
---
Lib/site.py | 9 ++++++-
Lib/sysconfig/__init__.py | 49 +++++++++++++++++++++++++++++++++++++-
Lib/sysconfig/__init__.py | 50 +++++++++++++++++++++++++++++++++++++-
Lib/test/test_sysconfig.py | 17 +++++++++++--
3 files changed, 71 insertions(+), 4 deletions(-)
3 files changed, 72 insertions(+), 4 deletions(-)
diff --git a/Lib/site.py b/Lib/site.py
index 672fa7b000..0a9c5be53e 100644
index 0631f3f611..2ed7b683a0 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -377,8 +377,15 @@ def getsitepackages(prefixes=None):
@@ -395,8 +395,15 @@ def getsitepackages(prefixes=None):
return sitepackages
def addsitepackages(known_paths, prefixes=None):
@ -51,10 +51,10 @@ index 672fa7b000..0a9c5be53e 100644
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)
diff --git a/Lib/sysconfig/__init__.py b/Lib/sysconfig/__init__.py
index 2a7fa45be0..7b75228fb3 100644
index 07ab27c7fb..d3e22762bf 100644
--- a/Lib/sysconfig/__init__.py
+++ b/Lib/sysconfig/__init__.py
@@ -104,6 +104,11 @@
@@ -104,6 +104,12 @@
else:
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
@ -63,10 +63,11 @@ index 2a7fa45be0..7b75228fb3 100644
+# For backwards compatibility, we keep it here (at least on 3.10 and 3.11).
+_INSTALL_SCHEMES['rpm_prefix'] = _INSTALL_SCHEMES['posix_prefix']
+
+
def _get_implementation():
return 'Python'
# NOTE: site.py has copy of this function.
# Sync it when modify this function.
@@ -163,6 +168,19 @@ def joinuser(*args):
@@ -165,6 +171,19 @@ def joinuser(*args):
},
}
@ -86,7 +87,7 @@ index 2a7fa45be0..7b75228fb3 100644
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
'scripts', 'data')
@@ -257,11 +275,40 @@ def _extend_dict(target_dict, other_dict):
@@ -259,11 +278,40 @@ def _extend_dict(target_dict, other_dict):
target_dict[key] = value
@ -129,10 +130,10 @@ index 2a7fa45be0..7b75228fb3 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 2a6813f00b..00d7034801 100644
index be609a0abd..8269f48c6d 100644
--- a/Lib/test/test_sysconfig.py
+++ b/Lib/test/test_sysconfig.py
@@ -113,8 +113,19 @@ def test_get_path(self):
@@ -115,8 +115,19 @@ def test_get_path(self):
for scheme in _INSTALL_SCHEMES:
for name in _INSTALL_SCHEMES[scheme]:
expected = _INSTALL_SCHEMES[scheme][name].format(**config_vars)
@ -153,7 +154,7 @@ index 2a6813f00b..00d7034801 100644
os.path.normpath(expected),
)
@@ -338,7 +349,7 @@ def test_get_config_h_filename(self):
@@ -340,7 +351,7 @@ def test_get_config_h_filename(self):
self.assertTrue(os.path.isfile(config_h), config_h)
def test_get_scheme_names(self):
@ -162,7 +163,7 @@ index 2a6813f00b..00d7034801 100644
if HAS_USER_BASE:
wanted.extend(['nt_user', 'osx_framework_user', 'posix_user'])
self.assertEqual(get_scheme_names(), tuple(sorted(wanted)))
@@ -350,6 +361,8 @@ def test_symlink(self): # Issue 7880
@@ -352,6 +363,8 @@ def test_symlink(self): # Issue 7880
cmd = "-c", "import sysconfig; print(sysconfig.get_platform())"
self.assertEqual(py.call_real(*cmd), py.call_link(*cmd))

View file

@ -16,7 +16,7 @@ https://github.com/GrahamDumpleton/mod_wsgi/issues/730
2 files changed, 11 insertions(+), 53 deletions(-)
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index 146e2dbc0f..af63422c6c 100644
index 3060af44fd..4c7afe648d 100644
--- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py
@@ -1056,39 +1056,6 @@ def noop(): pass

View file

@ -0,0 +1,32 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Karolina Surma <ksurma@redhat.com>
Date: Fri, 19 Jan 2024 12:00:18 +0100
Subject: [PATCH] 00418: Don't generate sbom in make regen-all
The script and make target, added in Python 3.13.0a3, assumes a fixed
location of pip wheel and other bundled libraries, resulting in an
error and failed build when not found.
Reported upstream: https://github.com/python/cpython/issues/114240
and https://github.com/python/cpython/issues/114244
---
Makefile.pre.in | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 289ab97666..1058fac8cc 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1364,10 +1364,11 @@ regen-unicodedata:
regen-all: regen-cases regen-typeslots \
regen-token regen-ast regen-keyword regen-sre regen-frozen \
regen-pegen-metaparser regen-pegen regen-test-frozenmain \
- regen-test-levenshtein regen-global-objects regen-sbom
+ regen-test-levenshtein regen-global-objects
@echo
@echo "Note: make regen-stdlib-module-names, make regen-limited-abi, "
- @echo "make regen-configure and make regen-unicodedata should be run manually"
+ @echo "make regen-configure, make regen-unicodedata and make regen-sbom "
+ @echo "should be run manually"
############################################################################
# Special rules for object files

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 a2
%global prerel a3
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
Release: 2%{?dist}
Release: 1%{?dist}
License: Python-2.0.1
@ -71,15 +71,15 @@ 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.2.1
%global pip_version 23.3.2
%global setuptools_version 67.6.1
%global wheel_version 0.40.0
# All of those also include a list of indirect bundled libs:
# pip
# $ %%{_rpmconfigdir}/pythonbundles.py <(unzip -p Lib/ensurepip/_bundled/pip-*.whl pip/_vendor/vendor.txt)
%global pip_bundled_provides %{expand:
Provides: bundled(python3dist(cachecontrol)) = 0.12.11
Provides: bundled(python3dist(certifi)) = 2023.5.7
Provides: bundled(python3dist(cachecontrol)) = 0.13.1
Provides: bundled(python3dist(certifi)) = 2023.7.22
Provides: bundled(python3dist(chardet)) = 5.1
Provides: bundled(python3dist(colorama)) = 0.4.6
Provides: bundled(python3dist(distlib)) = 0.3.6
@ -98,8 +98,9 @@ Provides: bundled(python3dist(setuptools)) = 68
Provides: bundled(python3dist(six)) = 1.16
Provides: bundled(python3dist(tenacity)) = 8.2.2
Provides: bundled(python3dist(tomli)) = 2.0.1
Provides: bundled(python3dist(truststore)) = 0.8
Provides: bundled(python3dist(typing-extensions)) = 4.7.1
Provides: bundled(python3dist(urllib3)) = 1.26.16
Provides: bundled(python3dist(urllib3)) = 1.26.17
Provides: bundled(python3dist(webencodings)) = 0.5.1
}
# setuptools
@ -354,7 +355,7 @@ Source11: idle3.appdata.xml
# (Patches taken from github.com/fedora-python/cpython)
# 00251 # 758eb29fbfe9253ab343e8a09a480a6b64e57df8
# 00251 # 60dd97be7bf3662ff65edd8471e948924b4175b2
# Change user install location
#
# Set values of base and platbase in sysconfig from /usr
@ -382,6 +383,16 @@ Patch251: 00251-change-user-install-location.patch
# https://github.com/GrahamDumpleton/mod_wsgi/issues/730
Patch371: 00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-gh-28549-gh-28589.patch
# 00418 # 7044fbb05d0825f5fd9733a6491bb5bea904fab1
# Don't generate sbom in make regen-all
#
# The script and make target, added in Python 3.13.0a3, assumes a fixed
# location of pip wheel and other bundled libraries, resulting in an
# error and failed build when not found.
# Reported upstream: https://github.com/python/cpython/issues/114240
# and https://github.com/python/cpython/issues/114244
Patch418: 00418-don-t-generate-sbom-in-make-regen-all.patch
# (New patches go here ^^^)
#
# When adding new patches to "python" and "python3" in Fedora, EL, etc.,
@ -1329,6 +1340,7 @@ CheckPython freethreading
%{pylibdir}/json/
%{pylibdir}/logging/
%{pylibdir}/multiprocessing/
%{pylibdir}/pathlib/
%{pylibdir}/pydoc_data/
%{pylibdir}/re/
%{pylibdir}/sqlite3/
@ -1421,6 +1433,7 @@ CheckPython freethreading
%{dynload_dir}/_statistics.%{1}.so\
%{dynload_dir}/_struct.%{1}.so\
%{dynload_dir}/_uuid.%{1}.so\
%{dynload_dir}/_xxinterpqueues.%{1}.so\
%{dynload_dir}/_xxsubinterpreters.%{1}.so\
%{dynload_dir}/_zoneinfo.%{1}.so\
%{dynload_dir}/array.%{1}.so\
@ -1663,6 +1676,9 @@ CheckPython freethreading
# ======================================================
%changelog
* Thu Jan 18 2024 Karolina Surma <ksurma@redhat.com> - 3.13.0~a3-1
- Update to Python 3.13.0a3
* Tue Dec 05 2023 Miro Hrončok <mhroncok@redhat.com> - 3.13.0~a2-2
- Add the python3.13-freethreading and python3.13-freethreading-debug packages
- See https://peps.python.org/pep-0703/

View file

@ -1,2 +1,2 @@
SHA512 (Python-3.13.0a2.tar.xz) = 2702f630ebb49a835c213656f2f0d41f87daf2dad6b856821f4011f4614c19279656eaa1dad9f1cbfd258992aa5f59d4571577057c6a4ad1cdcfa4d8ada3b607
SHA512 (Python-3.13.0a2.tar.xz.asc) = c6a0101b844701fcd860a519ec4830bde0df486ea78377831544dbe0db25dd67c28360f46d5ef01db64aa4347cf7b0d489590f6dc91e768b16753228f2c93b25
SHA512 (Python-3.13.0a3.tar.xz) = 0cabe30ca97f89df7da35684dda9ac8a3018fb7547d97f595e7883323809fdb99ff02c48719d71fb12abdacda1fc86f0ca15b1d27717e941cdc0b31c72fd63bb
SHA512 (Python-3.13.0a3.tar.xz.asc) = 91efe8e66085e4b60b565130a8ab43b3772e3dafe25fa6266900a8c19004082bcfd7e72e6e5293dc5bc3330ea2db233365d1028ef3b86ee4bb7df1246b6641b0