Update to 3.12.0a2

Patches 389 and 390 merged upstream.

The distutils module was removed from Python 3.12:

- patch 1 removed, only patched distutils
  (the original rpath problem only affected numpy, numpy 1.23.4+ uses chrpath to fix it)
- patch 251 updated to remove the distutils hunk
  (which is already present in pypa/distutils ~ setuptools)

The debug _xxtestfuzz module was moved a bit in the list of files
when _testsinglephase was added, for consistency.

Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
This commit is contained in:
Tomáš Hrnčiar 2022-11-15 17:07:29 +01:00 committed by Miro Hrončok
parent 6befb8fa5d
commit c12d924ecf
7 changed files with 29 additions and 290 deletions

View File

@ -1,30 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Wed, 13 Jan 2010 21:25:18 +0000
Subject: [PATCH] 00001: Fixup distutils/unixccompiler.py to remove standard
library path from rpath Was Patch0 in ivazquez' python3000 specfile
---
Lib/distutils/unixccompiler.py | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/Lib/distutils/unixccompiler.py b/Lib/distutils/unixccompiler.py
index d00c48981e..0283a28c19 100644
--- a/Lib/distutils/unixccompiler.py
+++ b/Lib/distutils/unixccompiler.py
@@ -82,6 +82,15 @@ class UnixCCompiler(CCompiler):
if sys.platform == "cygwin":
exe_extension = ".exe"
+ def _fix_lib_args(self, libraries, library_dirs, runtime_library_dirs):
+ """Remove standard library path from rpath"""
+ libraries, library_dirs, runtime_library_dirs = super()._fix_lib_args(
+ libraries, library_dirs, runtime_library_dirs)
+ libdir = sysconfig.get_config_var('LIBDIR')
+ if runtime_library_dirs and (libdir in runtime_library_dirs):
+ runtime_library_dirs.remove(libdir)
+ return libraries, library_dirs, runtime_library_dirs
+
def preprocess(self, source, output_file=None, macros=None,
include_dirs=None, extra_preargs=None, extra_postargs=None):
fixed_args = self._fix_compile_args(None, macros, include_dirs)

View File

@ -10,10 +10,6 @@ Set values of base and platbase in sysconfig from /usr
to /usr/local when RPM build is not detected to /usr/local when RPM build is not detected
to make pip and similar tools install into separate location. to make pip and similar tools install into separate location.
Set values of prefix and exec_prefix in distutils install command
to /usr/local if executable is /usr/bin/python* and RPM build
is not detected to make distutils and pypa/distutils install into separate location.
Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
Downstream only. Downstream only.
@ -28,38 +24,11 @@ Co-authored-by: Miro Hrončok <miro@hroncok.cz>
Co-authored-by: Michal Cyprian <m.cyprian@gmail.com> Co-authored-by: Michal Cyprian <m.cyprian@gmail.com>
Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com> Co-authored-by: Lumír Balhar <frenzy.madness@gmail.com>
--- ---
Lib/distutils/command/install.py | 8 ++++-- Lib/site.py | 9 ++++++-
Lib/site.py | 9 +++++- Lib/sysconfig.py | 49 +++++++++++++++++++++++++++++++++++++-
Lib/sysconfig.py | 49 +++++++++++++++++++++++++++++++- Lib/test/test_sysconfig.py | 17 +++++++++++--
Lib/test/test_sysconfig.py | 17 +++++++++-- 3 files changed, 71 insertions(+), 4 deletions(-)
4 files changed, 77 insertions(+), 6 deletions(-)
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index a22a5d094d..804505d861 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -159,6 +159,8 @@ class install(Command):
negative_opt = {'no-compile' : 'compile'}
+ # Allow Fedora to add components to the prefix
+ _prefix_addition = getattr(sysconfig, '_prefix_addition', '')
def initialize_options(self):
"""Initializes options."""
@@ -441,8 +443,10 @@ def finalize_unix(self):
raise DistutilsOptionError(
"must not supply exec-prefix without prefix")
- self.prefix = os.path.normpath(sys.prefix)
- self.exec_prefix = os.path.normpath(sys.exec_prefix)
+ self.prefix = (
+ os.path.normpath(sys.prefix) + self._prefix_addition)
+ self.exec_prefix = (
+ os.path.normpath(sys.exec_prefix) + self._prefix_addition)
else:
if self.exec_prefix is None:
diff --git a/Lib/site.py b/Lib/site.py diff --git a/Lib/site.py b/Lib/site.py
index 69670d9d7f..104cb93899 100644 index 69670d9d7f..104cb93899 100644
--- a/Lib/site.py --- a/Lib/site.py
@ -82,10 +51,10 @@ index 69670d9d7f..104cb93899 100644
if os.path.isdir(sitedir): if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths) addsitedir(sitedir, known_paths)
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index ebe3711827..55af57b335 100644 index 73c25684db..d43ce7f1a2 100644
--- a/Lib/sysconfig.py --- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py +++ b/Lib/sysconfig.py
@@ -103,6 +103,11 @@ @@ -104,6 +104,11 @@
else: else:
_INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv'] _INSTALL_SCHEMES['venv'] = _INSTALL_SCHEMES['posix_venv']
@ -97,7 +66,7 @@ index ebe3711827..55af57b335 100644
# NOTE: site.py has copy of this function. # NOTE: site.py has copy of this function.
# Sync it when modify this function. # Sync it when modify this function.
@@ -162,6 +167,19 @@ def joinuser(*args): @@ -163,6 +168,19 @@ def joinuser(*args):
}, },
} }
@ -117,7 +86,7 @@ index ebe3711827..55af57b335 100644
_SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include', _SCHEME_KEYS = ('stdlib', 'platstdlib', 'purelib', 'platlib', 'include',
'scripts', 'data') 'scripts', 'data')
@@ -258,11 +276,40 @@ def _extend_dict(target_dict, other_dict): @@ -263,11 +281,40 @@ def _extend_dict(target_dict, other_dict):
target_dict[key] = value target_dict[key] = value

View File

@ -16,7 +16,7 @@ https://github.com/GrahamDumpleton/mod_wsgi/issues/730
2 files changed, 8 insertions(+), 50 deletions(-) 2 files changed, 8 insertions(+), 50 deletions(-)
diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py diff --git a/Lib/test/test_threading.py b/Lib/test/test_threading.py
index c664996233..0877b4f227 100644 index 13ba5068ae..8bf97c5542 100644
--- a/Lib/test/test_threading.py --- a/Lib/test/test_threading.py
+++ b/Lib/test/test_threading.py +++ b/Lib/test/test_threading.py
@@ -1002,39 +1002,6 @@ def noop(): pass @@ -1002,39 +1002,6 @@ def noop(): pass
@ -60,10 +60,10 @@ index c664996233..0877b4f227 100644
class ThreadJoinOnShutdown(BaseTestCase): class ThreadJoinOnShutdown(BaseTestCase):
diff --git a/Lib/threading.py b/Lib/threading.py diff --git a/Lib/threading.py b/Lib/threading.py
index d030e12436..16ab0aceba 100644 index 723bd58bf5..0bdf0b7336 100644
--- a/Lib/threading.py --- a/Lib/threading.py
+++ b/Lib/threading.py +++ b/Lib/threading.py
@@ -1557,29 +1557,20 @@ def _shutdown(): @@ -1563,29 +1563,20 @@ def _shutdown():
global _SHUTTING_DOWN global _SHUTTING_DOWN
_SHUTTING_DOWN = True _SHUTTING_DOWN = True

View File

@ -1,111 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Thu, 27 Oct 2022 15:24:03 +0200
Subject: [PATCH] 00389: Don't let --with-system-libmpdec / --with-system-expat
use the vendored headers
This was a regression in Python 3.12.0a2 that prevented Fedora doing
this:
$ rm -r Modules/_decimal/libmpdec
$ rm -r Modules/expat
Before building Python with --with-system-libmpdec --with-system-expat.
The errors were:
make: *** No rule to make target
'Modules/_decimal/libmpdec/basearith.h', needed by
'Modules/_decimal/_decimal.o'. Stop.
make: *** No rule to make target 'Modules/expat/ascii.h', needed by
'Modules/pyexpat.o'. Stop.
Now the make-dependency on the headers only exists
when --with-system-libmpdec / --with-system-expat is **not** used.
Fixes https://github.com/python/cpython/issues/98707
Co-authored-by: Erlend E. Aasland <erlend.aasland@protonmail.com>
---
Makefile.pre.in | 6 +++---
.../Build/2022-10-26-12-37-52.gh-issue-98707.eVXGEx.rst | 4 ++++
configure | 4 ++--
configure.ac | 4 ++--
4 files changed, 11 insertions(+), 7 deletions(-)
create mode 100644 Misc/NEWS.d/next/Build/2022-10-26-12-37-52.gh-issue-98707.eVXGEx.rst
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 5b4bf15eb8..7550414aae 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -2581,13 +2581,13 @@ MODULE_DEPS=$(PYTHON_HEADERS) Modules/config.c $(EXPORTSYMS)
MODULE_CMATH_DEPS=$(srcdir)/Modules/_math.h
MODULE_MATH_DEPS=$(srcdir)/Modules/_math.h
-MODULE_PYEXPAT_DEPS=$(LIBEXPAT_HEADERS) @LIBEXPAT_INTERNAL@
+MODULE_PYEXPAT_DEPS=@LIBEXPAT_INTERNAL@
MODULE_UNICODEDATA_DEPS=$(srcdir)/Modules/unicodedata_db.h $(srcdir)/Modules/unicodename_db.h
MODULE__BLAKE2_DEPS=$(srcdir)/Modules/_blake2/impl/blake2-config.h $(srcdir)/Modules/_blake2/impl/blake2-impl.h $(srcdir)/Modules/_blake2/impl/blake2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2b-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2b-ref.c $(srcdir)/Modules/_blake2/impl/blake2b-round.h $(srcdir)/Modules/_blake2/impl/blake2b.c $(srcdir)/Modules/_blake2/impl/blake2s-load-sse2.h $(srcdir)/Modules/_blake2/impl/blake2s-load-sse41.h $(srcdir)/Modules/_blake2/impl/blake2s-load-xop.h $(srcdir)/Modules/_blake2/impl/blake2s-ref.c $(srcdir)/Modules/_blake2/impl/blake2s-round.h $(srcdir)/Modules/_blake2/impl/blake2s.c $(srcdir)/Modules/_blake2/blake2module.h $(srcdir)/Modules/hashlib.h
MODULE__CTYPES_DEPS=$(srcdir)/Modules/_ctypes/ctypes.h $(srcdir)/Modules/_ctypes/darwin/dlfcn.h
MODULE__CTYPES_MALLOC_CLOSURE=@MODULE__CTYPES_MALLOC_CLOSURE@
-MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h $(LIBMPDEC_HEADERS) @LIBMPDEC_INTERNAL@
-MODULE__ELEMENTTREE_DEPS=$(srcdir)/Modules/pyexpat.c $(LIBEXPAT_HEADERS) @LIBEXPAT_INTERNAL@
+MODULE__DECIMAL_DEPS=$(srcdir)/Modules/_decimal/docstrings.h @LIBMPDEC_INTERNAL@
+MODULE__ELEMENTTREE_DEPS=$(srcdir)/Modules/pyexpat.c @LIBEXPAT_INTERNAL@
MODULE__HASHLIB_DEPS=$(srcdir)/Modules/hashlib.h
MODULE__IO_DEPS=$(srcdir)/Modules/_io/_iomodule.h
MODULE__MD5_DEPS=$(srcdir)/Modules/hashlib.h
diff --git a/Misc/NEWS.d/next/Build/2022-10-26-12-37-52.gh-issue-98707.eVXGEx.rst b/Misc/NEWS.d/next/Build/2022-10-26-12-37-52.gh-issue-98707.eVXGEx.rst
new file mode 100644
index 0000000000..69afa9dea3
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2022-10-26-12-37-52.gh-issue-98707.eVXGEx.rst
@@ -0,0 +1,4 @@
+Don't use vendored ``libmpdec`` headers if :option:`--with-system-libmpdec`
+is passed to :program:`configure`.
+Don't use vendored ``libexpat`` headers if :option:`--with-system-expat`
+is passed to :program:`!configure`.
diff --git a/configure b/configure
index 15d9796374..940db49efe 100755
--- a/configure
+++ b/configure
@@ -12619,7 +12619,7 @@ else
LIBEXPAT_CFLAGS="-I\$(srcdir)/Modules/expat"
LIBEXPAT_LDFLAGS="-lm \$(LIBEXPAT_A)"
- LIBEXPAT_INTERNAL="\$(LIBEXPAT_A)"
+ LIBEXPAT_INTERNAL="\$(LIBEXPAT_HEADERS) \$(LIBEXPAT_A)"
fi
@@ -13128,7 +13128,7 @@ else
LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
LIBMPDEC_LDFLAGS="-lm \$(LIBMPDEC_A)"
- LIBMPDEC_INTERNAL="\$(LIBMPDEC_A)"
+ LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
if test "x$with_pydebug" = xyes; then :
diff --git a/configure.ac b/configure.ac
index c7945aaf85..b4d188399d 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3710,7 +3710,7 @@ AS_VAR_IF([with_system_expat], [yes], [
], [
LIBEXPAT_CFLAGS="-I\$(srcdir)/Modules/expat"
LIBEXPAT_LDFLAGS="-lm \$(LIBEXPAT_A)"
- LIBEXPAT_INTERNAL="\$(LIBEXPAT_A)"
+ LIBEXPAT_INTERNAL="\$(LIBEXPAT_HEADERS) \$(LIBEXPAT_A)"
])
AC_SUBST([LIBEXPAT_CFLAGS])
@@ -3819,7 +3819,7 @@ AS_VAR_IF([with_system_libmpdec], [yes], [
], [
LIBMPDEC_CFLAGS="-I\$(srcdir)/Modules/_decimal/libmpdec"
LIBMPDEC_LDFLAGS="-lm \$(LIBMPDEC_A)"
- LIBMPDEC_INTERNAL="\$(LIBMPDEC_A)"
+ LIBMPDEC_INTERNAL="\$(LIBMPDEC_HEADERS) \$(LIBMPDEC_A)"
dnl Disable forced inlining in debug builds, see GH-94847
AS_VAR_IF([with_pydebug], [yes], [

View File

@ -1,34 +0,0 @@
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Thu, 27 Oct 2022 19:46:06 +0200
Subject: [PATCH] 00390: gh-98776: Fix make regen-test-levenshtein for
out-of-tree builds
Fixes https://github.com/python/cpython/issues/98776
---
Makefile.pre.in | 2 +-
.../next/Build/2022-10-27-19-47-31.gh-issue-98776.lt_UOG.rst | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
create mode 100644 Misc/NEWS.d/next/Build/2022-10-27-19-47-31.gh-issue-98776.lt_UOG.rst
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 7550414aae..691fc1c5f1 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -961,7 +961,7 @@ regen-test-frozenmain: $(BUILDPYTHON)
.PHONY: regen-test-levenshtein
regen-test-levenshtein:
# Regenerate Lib/test/levenshtein_examples.json
- $(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_levenshtein_examples.py Lib/test/levenshtein_examples.json
+ $(PYTHON_FOR_REGEN) $(srcdir)/Tools/build/generate_levenshtein_examples.py $(srcdir)/Lib/test/levenshtein_examples.json
.PHONY: regen-re
regen-re: $(BUILDPYTHON)
diff --git a/Misc/NEWS.d/next/Build/2022-10-27-19-47-31.gh-issue-98776.lt_UOG.rst b/Misc/NEWS.d/next/Build/2022-10-27-19-47-31.gh-issue-98776.lt_UOG.rst
new file mode 100644
index 0000000000..f8c0bb21b7
--- /dev/null
+++ b/Misc/NEWS.d/next/Build/2022-10-27-19-47-31.gh-issue-98776.lt_UOG.rst
@@ -0,0 +1,2 @@
+When building Python out-of-tree, don't crash during ``make
+regen-test-levenshtein``.

View File

@ -14,10 +14,10 @@ URL: https://www.python.org/
# WARNING When rebasing to a new Python version, # WARNING When rebasing to a new Python version,
# remember to update the python3-docs package as well # remember to update the python3-docs package as well
%global general_version %{pybasever}.0 %global general_version %{pybasever}.0
%global prerel a1 %global prerel a2
%global upstream_version %{general_version}%{?prerel} %global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}} Version: %{general_version}%{?prerel:~%{prerel}}
Release: 2%{?dist} Release: 1%{?dist}
License: Python-2.0.1 License: Python-2.0.1
# Getting this build in Koji on 32bit ARM is frustrating due to technical problems # Getting this build in Koji on 32bit ARM is frustrating due to technical problems
@ -62,8 +62,7 @@ ExcludeArch: %{arm}
# but setuptools BR python3-devel and that brings in python3-rpm-generators; # but setuptools BR python3-devel and that brings in python3-rpm-generators;
# python3-rpm-generators needs python3-setuptools, so we cannot have it yet. # python3-rpm-generators needs python3-setuptools, so we cannot have it yet.
# #
# We also use the previous build of Python in "make regen-all" # We also use the previous build of Python in "make regen-all".
# and in "distutils.tests.test_bdist_rpm".
# #
# Procedure: https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython # Procedure: https://fedoraproject.org/wiki/SIGs/Python/UpgradingPython
# #
@ -78,7 +77,7 @@ ExcludeArch: %{arm}
# If the rpmwheels condition is disabled, we use the bundled wheel packages # If the rpmwheels condition is disabled, we use the bundled wheel packages
# from Python with the versions below. # from Python with the versions below.
# This needs to be manually updated when we update Python. # This needs to be manually updated when we update Python.
%global pip_version 22.3 %global pip_version 22.3.1
%global setuptools_version 65.5.0 %global setuptools_version 65.5.0
# Expensive optimizations (mainly, profile-guided optimizations) # Expensive optimizations (mainly, profile-guided optimizations)
@ -253,7 +252,7 @@ BuildRequires: %{python_wheel_pkg_prefix}-pip-wheel
%endif %endif
%if %{without bootstrap} %if %{without bootstrap}
# for make regen-all and distutils.tests.test_bdist_rpm # for make regen-all
# Note that we're not using the %%{pkgname} macro here on purpose, because when # Note that we're not using the %%{pkgname} macro here on purpose, because when
# upgrading the main python3 to a new Python version, this would pull in the # upgrading the main python3 to a new Python version, this would pull in the
# old version instead. # old version instead.
@ -284,22 +283,13 @@ Source11: idle3.appdata.xml
# (Patches taken from github.com/fedora-python/cpython) # (Patches taken from github.com/fedora-python/cpython)
# 00001 # d06a8853cf4bae9e115f45e1d531d2dc152c5cc8 # 00251 # cae5a6abc5df08239c85b83e4e250b6f2702e4f5
# Fixup distutils/unixccompiler.py to remove standard library path from rpath
# Was Patch0 in ivazquez' python3000 specfile
Patch1: 00001-rpath.patch
# 00251 # af0f1ba72e01cb93371ff21fb7ca889daa43fa7a
# Change user install location # Change user install location
# #
# Set values of base and platbase in sysconfig from /usr # Set values of base and platbase in sysconfig from /usr
# to /usr/local when RPM build is not detected # to /usr/local when RPM build is not detected
# to make pip and similar tools install into separate location. # to make pip and similar tools install into separate location.
# #
# Set values of prefix and exec_prefix in distutils install command
# to /usr/local if executable is /usr/bin/python* and RPM build
# is not detected to make distutils and pypa/distutils install into separate location.
#
# Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe # Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
# Downstream only. # Downstream only.
# #
@ -335,37 +325,6 @@ Patch328: 00328-pyc-timestamp-invalidation-mode.patch
# https://github.com/GrahamDumpleton/mod_wsgi/issues/730 # 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 Patch371: 00371-revert-bpo-1596321-fix-threading-_shutdown-for-the-main-thread-gh-28549-gh-28589.patch
# 00389 # eec8cefdbbc164dc19d7112d1c65dbf6406ecca3
# Don't let --with-system-libmpdec / --with-system-expat use the vendored headers
#
# This was a regression in Python 3.12.0a2 that prevented Fedora doing
# this:
#
# $ rm -r Modules/_decimal/libmpdec
# $ rm -r Modules/expat
#
# Before building Python with --with-system-libmpdec --with-system-expat.
#
# The errors were:
#
# make: *** No rule to make target
# 'Modules/_decimal/libmpdec/basearith.h', needed by
# 'Modules/_decimal/_decimal.o'. Stop.
# make: *** No rule to make target 'Modules/expat/ascii.h', needed by
# 'Modules/pyexpat.o'. Stop.
#
# Now the make-dependency on the headers only exists
# when --with-system-libmpdec / --with-system-expat is **not** used.
#
# Fixes https://github.com/python/cpython/issues/98707
Patch389: 00389-don-t-let---with-system-libmpdec---with-system-expat-use-the-vendored-headers.patch
# 00390 # 1b549f4b0f00f9b782f254eca0d4dee9cd764085
# gh-98776: Fix make regen-test-levenshtein for out-of-tree builds
#
# Fixes https://github.com/python/cpython/issues/98776
Patch390: 00390-gh-98776-fix-make-regen-test-levenshtein-for-out-of-tree-builds.patch
# (New patches go here ^^^) # (New patches go here ^^^)
# #
# When adding new patches to "python" and "python3" in Fedora, EL, etc., # When adding new patches to "python" and "python3" in Fedora, EL, etc.,
@ -939,16 +898,10 @@ cp -a %{SOURCE11} %{buildroot}%{_metainfodir}
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/idle3.appdata.xml
%endif %endif
# Make sure distutils looks at the right pyconfig.h file # Make sure sysconfig looks at the right pyconfig-32.h/pyconfig-64.h file instead of pyconfig.h
# See https://bugzilla.redhat.com/show_bug.cgi?id=201434 # See https://bugzilla.redhat.com/show_bug.cgi?id=201434
# Similar for sysconfig: sysconfig.get_config_h_filename tries to locate # and https://bugzilla.redhat.com/show_bug.cgi?id=653058
# pyconfig.h so it can be parsed, and needs to do this at runtime in site.py
# when python starts up (see https://bugzilla.redhat.com/show_bug.cgi?id=653058)
#
# Split this out so it goes directly to the pyconfig-32.h/pyconfig-64.h
# variants:
sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \ sed -i -e "s/'pyconfig.h'/'%{_pyconfig_h}'/" \
%{buildroot}%{pylibdir}/distutils/sysconfig.py \
%{buildroot}%{pylibdir}/sysconfig.py %{buildroot}%{pylibdir}/sysconfig.py
# Install i18n tools to bindir # Install i18n tools to bindir
@ -1110,9 +1063,6 @@ CheckPython() {
# Run the upstream test suite # Run the upstream test suite
# --timeout=1800: kill test running for longer than 30 minutes # --timeout=1800: kill test running for longer than 30 minutes
# test_distutils
# distutils.tests.test_bdist_rpm tests fail when bootstraping the Python
# package: rpmbuild requires /usr/bin/pythonX.Y to be installed
# test_freeze_simple_script is skipped, because it fails without bundled libs. # test_freeze_simple_script is skipped, because it fails without bundled libs.
# the freeze tool is only usable from the source checkout anyway, # the freeze tool is only usable from the source checkout anyway,
# we don't ship it in the RPM package. # we don't ship it in the RPM package.
@ -1120,9 +1070,6 @@ CheckPython() {
LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \ LD_LIBRARY_PATH=$ConfDir $ConfDir/python -m test.regrtest \
-wW --slowest -j0 --timeout=1800 \ -wW --slowest -j0 --timeout=1800 \
-i test_freeze_simple_script \ -i test_freeze_simple_script \
%if %{with bootstrap}
-x test_distutils \
%endif
%ifarch %{mips64} %ifarch %{mips64}
-x test_ctypes \ -x test_ctypes \
%endif %endif
@ -1322,13 +1269,6 @@ CheckPython optimized
%{pylibdir}/dbm/*.py %{pylibdir}/dbm/*.py
%{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes} %{pylibdir}/dbm/__pycache__/*%{bytecode_suffixes}
%dir %{pylibdir}/distutils/
%dir %{pylibdir}/distutils/__pycache__/
%{pylibdir}/distutils/*.py
%{pylibdir}/distutils/__pycache__/*%{bytecode_suffixes}
%{pylibdir}/distutils/README
%{pylibdir}/distutils/command
%dir %{pylibdir}/email/ %dir %{pylibdir}/email/
%dir %{pylibdir}/email/__pycache__/ %dir %{pylibdir}/email/__pycache__/
%{pylibdir}/email/*.py %{pylibdir}/email/*.py
@ -1395,7 +1335,7 @@ CheckPython optimized
%endif %endif
# "Makefile" and the config-32/64.h file are needed by # "Makefile" and the config-32/64.h file are needed by
# distutils/sysconfig.py:_init_posix(), so we include them in the core # sysconfig.py:get_config_vars(), so we include them in the core
# package, along with their parent directories (bug 531901): # package, along with their parent directories (bug 531901):
%dir %{pylibdir}/config-%{LDVERSION_optimized}-%{platform_triplet}/ %dir %{pylibdir}/config-%{LDVERSION_optimized}-%{platform_triplet}/
%{pylibdir}/config-%{LDVERSION_optimized}-%{platform_triplet}/Makefile %{pylibdir}/config-%{LDVERSION_optimized}-%{platform_triplet}/Makefile
@ -1472,7 +1412,6 @@ CheckPython optimized
%files -n %{pkgname}-test %files -n %{pkgname}-test
%{pylibdir}/distutils/tests
%{pylibdir}/test %{pylibdir}/test
%{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so %{dynload_dir}/_ctypes_test.%{SOABI_optimized}.so
%{dynload_dir}/_testbuffer.%{SOABI_optimized}.so %{dynload_dir}/_testbuffer.%{SOABI_optimized}.so
@ -1480,6 +1419,7 @@ CheckPython optimized
%{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so %{dynload_dir}/_testimportmultiple.%{SOABI_optimized}.so
%{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so %{dynload_dir}/_testinternalcapi.%{SOABI_optimized}.so
%{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so %{dynload_dir}/_testmultiphase.%{SOABI_optimized}.so
%{dynload_dir}/_testsinglephase.%{SOABI_optimized}.so
%{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so %{dynload_dir}/_xxtestfuzz.%{SOABI_optimized}.so
# We don't bother splitting the debug build out into further subpackages: # We don't bother splitting the debug build out into further subpackages:
@ -1572,7 +1512,6 @@ CheckPython optimized
%{dynload_dir}/xxlimited_35.%{SOABI_debug}.so %{dynload_dir}/xxlimited_35.%{SOABI_debug}.so
%{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so %{dynload_dir}/_xxsubinterpreters.%{SOABI_debug}.so
%{dynload_dir}/xxsubtype.%{SOABI_debug}.so %{dynload_dir}/xxsubtype.%{SOABI_debug}.so
%{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so
%{dynload_dir}/zlib.%{SOABI_debug}.so %{dynload_dir}/zlib.%{SOABI_debug}.so
%{dynload_dir}/_zoneinfo.%{SOABI_debug}.so %{dynload_dir}/_zoneinfo.%{SOABI_debug}.so
@ -1606,6 +1545,8 @@ CheckPython optimized
%{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so %{dynload_dir}/_testimportmultiple.%{SOABI_debug}.so
%{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so %{dynload_dir}/_testinternalcapi.%{SOABI_debug}.so
%{dynload_dir}/_testmultiphase.%{SOABI_debug}.so %{dynload_dir}/_testmultiphase.%{SOABI_debug}.so
%{dynload_dir}/_testsinglephase.%{SOABI_debug}.so
%{dynload_dir}/_xxtestfuzz.%{SOABI_debug}.so
%{pylibdir}/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}.py %{pylibdir}/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}.py
%{pylibdir}/__pycache__/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}%{bytecode_suffixes} %{pylibdir}/__pycache__/_sysconfigdata_%{ABIFLAGS_debug}_linux_%{platform_triplet}%{bytecode_suffixes}
@ -1633,6 +1574,10 @@ CheckPython optimized
# ====================================================== # ======================================================
%changelog %changelog
* Tue Nov 15 2022 Tomáš Hrnčiar <thrnciar@redhat.com> - 3.12.0~a2-1
- Update to 3.12.0a2
- Fixes: rhbz#2133847
* Thu Oct 27 2022 Miro Hrončok <mhroncok@redhat.com> - 3.12.0~a1-2 * Thu Oct 27 2022 Miro Hrončok <mhroncok@redhat.com> - 3.12.0~a1-2
- Finish initial bootstrap of Python 3.12.0a1 - Finish initial bootstrap of Python 3.12.0a1

View File

@ -1,2 +1,2 @@
SHA512 (Python-3.12.0a1.tar.xz) = fa69dddf36dfe89b869d4de71cb8e878ef1e8be2b96ddfe2d58286710dd09b64db67c130d0438e3cea6679f6e9cd6bb83633691c8b7d6f346b730668866a28f7 SHA512 (Python-3.12.0a2.tar.xz) = 0f830fdb514078c5403727b31fd81912382eca4decb52ae9bfb0f00b8a007be9f8e29bad349034ec97e2229f60fe0baae417227413350485d747d31f4567d5c1
SHA512 (Python-3.12.0a1.tar.xz.asc) = 4db7946d27505da9c9b358a3b0fc2f47bb79b10bbcdb8f3ce2f918d1b74665e41a51600de3b94d50b126b66c72f191f8532f4030af184698c32430c35ef8d821 SHA512 (Python-3.12.0a2.tar.xz.asc) = f0c22e071c68d648c8cf2823647f0c807db41b81b94b8100b50d2049a47f19475a4323c5ac488eb5a3798f942978054f358090c1e460804232bb46093fb3fd55