Update to 3.6.11rc1

This commit is contained in:
Petr Viktorin 2020-06-19 20:54:46 +02:00
commit 869be1a27a
18 changed files with 495 additions and 168 deletions

View file

@ -1,7 +1,18 @@
diff -up Python-3.1.1/Lib/distutils/unixccompiler.py.rpath Python-3.1.1/Lib/distutils/unixccompiler.py
--- Python-3.1.1/Lib/distutils/unixccompiler.py.rpath 2009-09-04 17:29:34.000000000 -0400
+++ Python-3.1.1/Lib/distutils/unixccompiler.py 2009-09-04 17:49:54.000000000 -0400
@@ -141,6 +141,15 @@ class UnixCCompiler(CCompiler):
From 58f42c48820aad45515d216f85c787a47a267f43 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 3f321c28dc..e3a3de32f8 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"
@ -17,3 +28,6 @@ diff -up Python-3.1.1/Lib/distutils/unixccompiler.py.rpath Python-3.1.1/Lib/dist
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)
--
2.26.2

View file

@ -1,5 +1,38 @@
From ebc5fe22f601bf88d506e13aa795f90e83075673 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Wed, 13 Jan 2010 21:25:18 +0000
Subject: [PATCH] 00102: Change the various install paths to use /usr/lib64/
instead or /usr/lib/
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Only used when "%{_lib}" == "lib64".
Co-authored-by: David Malcolm <dmalcolm@redhat.com>
Co-authored-by: Thomas Spura <tomspur@fedoraproject.org>
Co-authored-by: Slavek Kabrda <bkabrda@redhat.com>
Co-authored-by: Matej Stuchlik <mstuchli@redhat.com>
Co-authored-by: Tomas Orsava <torsava@redhat.com>
Co-authored-by: Charalampos Stratakis <cstratak@redhat.com>
Co-authored-by: Petr Viktorin <pviktori@redhat.com>
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
Co-authored-by: Iryna Shcherbina <shcherbina.iryna@gmail.com>
---
Lib/distutils/command/install.py | 4 ++--
Lib/distutils/sysconfig.py | 6 +++++-
Lib/distutils/tests/test_install.py | 3 ++-
Lib/site.py | 4 ++++
Lib/sysconfig.py | 12 ++++++------
Lib/test/test_site.py | 4 ++--
Makefile.pre.in | 2 +-
Modules/getpath.c | 6 +++---
configure.ac | 4 ++--
setup.py | 10 +++++-----
10 files changed, 32 insertions(+), 23 deletions(-)
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index 9474e9c..c0ce4c6 100644
index 0258d3deae..4b969bf809 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -30,14 +30,14 @@ WINDOWS_SCHEME = {
@ -20,10 +53,10 @@ index 9474e9c..c0ce4c6 100644
'scripts': '$base/bin',
'data' : '$base',
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index 026cca7..6d3e077 100644
index 2bcd1dd288..ff0b131df2 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -132,8 +132,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
@@ -129,8 +129,12 @@ def get_python_lib(plat_specific=0, standard_lib=0, prefix=None):
prefix = plat_specific and EXEC_PREFIX or PREFIX
if os.name == "posix":
@ -37,10 +70,11 @@ index 026cca7..6d3e077 100644
if standard_lib:
return libpython
else:
diff a/Lib/distutils/tests/test_install.py b/Lib/distutils/tests/test_install.py
diff --git a/Lib/distutils/tests/test_install.py b/Lib/distutils/tests/test_install.py
index 287ab1989e..d4c05e0ab1 100644
--- a/Lib/distutils/tests/test_install.py
+++ b/Lib/distutils/tests/test_install.py
@@ -57,8 +57,9 @@
@@ -57,8 +57,9 @@ class InstallTestCase(support.TempdirManager,
self.assertEqual(got, expected)
libdir = os.path.join(destination, "lib", "python")
@ -52,10 +86,10 @@ diff a/Lib/distutils/tests/test_install.py b/Lib/distutils/tests/test_install.py
check_path(cmd.install_headers,
os.path.join(destination, "include", "python", "foopkg"))
diff --git a/Lib/site.py b/Lib/site.py
index a84e3bb..ba0d3ea 100644
index 86ca2dba61..58115f1c08 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -303,11 +303,15 @@ def getsitepackages(prefixes=None):
@@ -304,11 +304,15 @@ def getsitepackages(prefixes=None):
seen.add(prefix)
if os.sep == '/':
@ -72,7 +106,7 @@ index a84e3bb..ba0d3ea 100644
if sys.platform == "darwin":
# for framework builds *only* we add the standard Apple
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index b9bbfe5..2a5f29c 100644
index 9314e71a2f..8168e9c5a9 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -20,10 +20,10 @@ __all__ = [
@ -104,10 +138,10 @@ index b9bbfe5..2a5f29c 100644
'scripts': '{userbase}/bin',
'data': '{userbase}',
diff --git a/Lib/test/test_site.py b/Lib/test/test_site.py
index f698927..bc977b5 100644
index 6964a84933..d0cd84f1ae 100644
--- a/Lib/test/test_site.py
+++ b/Lib/test/test_site.py
@@ -248,8 +248,8 @@ class HelperFunctionsTests(unittest.TestCase):
@@ -264,8 +264,8 @@ class HelperFunctionsTests(unittest.TestCase):
self.assertEqual(dirs[1], wanted)
elif os.sep == '/':
# OS X non-framework builds, Linux, FreeBSD, etc
@ -119,10 +153,10 @@ index f698927..bc977b5 100644
'site-packages')
self.assertEqual(dirs[0], wanted)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 8fa7934..a693917 100644
index d15d93509d..9cd482fc38 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -126,7 +126,7 @@ LIBDIR= @libdir@
@@ -139,7 +139,7 @@ LIBDIR= @libdir@
MANDIR= @mandir@
INCLUDEDIR= @includedir@
CONFINCLUDEDIR= $(exec_prefix)/include
@ -132,7 +166,7 @@ index 8fa7934..a693917 100644
# Detailed destination directories
diff --git a/Modules/getpath.c b/Modules/getpath.c
index 65b47a3..eaa756c 100644
index dd3387a9d7..1258fcd395 100644
--- a/Modules/getpath.c
+++ b/Modules/getpath.c
@@ -494,7 +494,7 @@ calculate_path(void)
@ -162,11 +196,27 @@ index 65b47a3..eaa756c 100644
}
/* If we found EXEC_PREFIX do *not* reduce it! (Yet.) */
diff --git a/configure.ac b/configure.ac
index cf280506bd..7bf4c6fb4c 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4771,9 +4771,9 @@ AC_MSG_RESULT($LDVERSION)
dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
AC_SUBST(PY_ENABLE_SHARED)
if test x$PLATFORM_TRIPLET = x; then
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}"
else
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
fi
AC_SUBST(LIBPL)
diff --git a/setup.py b/setup.py
index 0f2dfc4..da37896 100644
index e2c1898253..64d948d79c 100644
--- a/setup.py
+++ b/setup.py
@@ -492,7 +492,7 @@ class PyBuildExt(build_ext):
@@ -521,7 +521,7 @@ class PyBuildExt(build_ext):
# directories (i.e. '.' and 'Include') must be first. See issue
# 10520.
if not cross_compiling:
@ -175,7 +225,7 @@ index 0f2dfc4..da37896 100644
add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
# only change this for cross builds for 3.3, issues on Mageia
if cross_compiling:
@@ -780,11 +780,11 @@ class PyBuildExt(build_ext):
@@ -818,11 +818,11 @@ class PyBuildExt(build_ext):
elif curses_library:
readline_libs.append(curses_library)
elif self.compiler.find_library_file(lib_dirs +
@ -189,7 +239,7 @@ index 0f2dfc4..da37896 100644
extra_link_args=readline_extra_link_args,
libraries=readline_libs) )
else:
@@ -821,8 +821,8 @@ class PyBuildExt(build_ext):
@@ -859,8 +859,8 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
@ -200,19 +250,6 @@ index 0f2dfc4..da37896 100644
] )
if (ssl_incs is not None and
diff --git a/configure.ac b/configure.ac
index 01c66fe..1e6d515 100644
--- a/configure.ac
+++ b/configure.ac
@@ -4772,9 +4772,9 @@ AC_MSG_RESULT($LDVERSION)
dnl define LIBPL after ABIFLAGS and LDVERSION is defined.
AC_SUBST(PY_ENABLE_SHARED)
if test x$PLATFORM_TRIPLET = x; then
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}"
else
- LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
+ LIBPL='$(prefix)'"/lib64/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"
fi
AC_SUBST(LIBPL)
--
2.26.2

View file

@ -1,5 +1,27 @@
From 6b5abb117f6e665a34e901ba7ee50a1a8decdb34 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Mon, 18 Jan 2010 17:59:07 +0000
Subject: [PATCH] 00111: Don't try to build a libpythonMAJOR.MINOR.a
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Downstream only: not appropriate for upstream.
See https://bugzilla.redhat.com/show_bug.cgi?id=556092
Co-authored-by: David Malcolm <dmalcolm@redhat.com>
Co-authored-by: Bohuslav Kabrda <bkabrda@redhat.com>
Co-authored-by: Matej Stuchlik <mstuchli@redhat.com>
Co-authored-by: Robert Kuska <rkuska@redhat.com>
Co-authored-by: Charalampos Stratakis <cstratak@redhat.com>
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
---
Makefile.pre.in | 21 ++-------------------
1 file changed, 2 insertions(+), 19 deletions(-)
diff --git a/Makefile.pre.in b/Makefile.pre.in
index 9cd482f..b074b26 100644
index 9cd482fc38..b074b26039 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -549,7 +549,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
@ -51,3 +73,6 @@ index 9cd482f..b074b26 100644
$(INSTALL_DATA) Modules/config.c $(DESTDIR)$(LIBPL)/config.c
$(INSTALL_DATA) Programs/python.o $(DESTDIR)$(LIBPL)/python.o
$(INSTALL_DATA) $(srcdir)/Modules/config.c.in $(DESTDIR)$(LIBPL)/config.c.in
--
2.26.2

View file

@ -1,6 +1,46 @@
diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/case.py
--- Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400
+++ Python-3.2.2/Lib/unittest/case.py 2011-09-09 06:35:16.365568382 -0400
From 99f5b37ff4e1a98d3672f15afb741bfe12c9361e Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Fri, 19 Jun 2020 16:54:05 +0200
Subject: [PATCH] 00132: Add rpmbuild hooks to unittest
Add non-standard hooks to unittest for use in the "check" phase, when
running selftests within the build:
@unittest._skipInRpmBuild(reason)
for tests that hang or fail intermittently within the build environment, and:
@unittest._expectedFailureInRpmBuild
for tests that always fail within the build environment
The hooks only take effect if WITHIN_PYTHON_RPM_BUILD is set in the
environment, which we set manually in the appropriate portion of the "check"
phase below (and which potentially other python-* rpms could set, to reuse
these unittest hooks in their own "check" phases)
Co-Authored-By: David Malcolm <dmalcolm@redhat.com>
Co-Authored-By: Bohuslav Kabrda <bkabrda@redhat.com>
Co-Authored-By: Robert Kuska <rkuska@redhat.com>
---
Lib/unittest/__init__.py | 3 ++-
Lib/unittest/case.py | 17 +++++++++++++++++
2 files changed, 19 insertions(+), 1 deletion(-)
diff --git a/Lib/unittest/__init__.py b/Lib/unittest/__init__.py
index c55d563e0c..79c4b10681 100644
--- a/Lib/unittest/__init__.py
+++ b/Lib/unittest/__init__.py
@@ -57,7 +57,8 @@ __unittest = True
from .result import TestResult
from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf,
- skipUnless, expectedFailure)
+ skipUnless, expectedFailure,
+ _skipInRpmBuild)
from .suite import BaseTestSuite, TestSuite
from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
findTestCases)
diff --git a/Lib/unittest/case.py b/Lib/unittest/case.py
index 402fa47f28..8329d47882 100644
--- a/Lib/unittest/case.py
+++ b/Lib/unittest/case.py
@@ -3,6 +3,7 @@
import sys
import functools
@ -9,7 +49,8 @@ diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python
import logging
import pprint
import re
@@ -101,5 +102,21 @@ def expectedFailure(func):
@@ -134,6 +135,22 @@ class _BaseTestCaseContext:
msg = self.test_case._formatMessage(self.msg, standardMsg)
raise self.test_case.failureException(msg)
+# Non-standard/downstream-only hooks for handling issues with specific test
@ -31,16 +72,6 @@ diff -up Python-3.2.2/Lib/unittest/case.py.add-rpmbuild-hooks-to-unittest Python
class _AssertRaisesBaseContext(_BaseTestCaseContext):
def __init__(self, expected, test_case, expected_regex=None):
diff -up Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest Python-3.2.2/Lib/unittest/__init__.py
--- Python-3.2.2/Lib/unittest/__init__.py.add-rpmbuild-hooks-to-unittest 2011-09-03 12:16:44.000000000 -0400
+++ Python-3.2.2/Lib/unittest/__init__.py 2011-09-09 06:35:16.366568382 -0400
@@ -57,7 +57,8 @@ __unittest = True
from .result import TestResult
from .case import (TestCase, FunctionTestCase, SkipTest, skip, skipIf,
- skipUnless, expectedFailure)
+ skipUnless, expectedFailure,
+ _skipInRpmBuild)
from .suite import BaseTestSuite, TestSuite
from .loader import (TestLoader, defaultTestLoader, makeSuite, getTestCaseNames,
findTestCases)
--
2.26.2

View file

@ -1,7 +1,22 @@
diff -up Python-3.2.3/Lib/ctypes/__init__.py.rhbz814391 Python-3.2.3/Lib/ctypes/__init__.py
--- Python-3.2.3/Lib/ctypes/__init__.py.rhbz814391 2012-04-20 15:12:49.017867692 -0400
+++ Python-3.2.3/Lib/ctypes/__init__.py 2012-04-20 15:15:09.501111408 -0400
@@ -275,11 +275,6 @@ def _reset_cache():
From 72c7d5be3893e3b77701c77c84247ea0062dd089 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Fri, 19 Jun 2020 16:02:24 +0200
Subject: [PATCH] 00155: avoid allocating thunks in ctypes unless absolutely
necessary
Avoid allocating thunks in ctypes unless absolutely necessary, to avoid
generating SELinux denials on "import ctypes" and "import uuid" when
embedding Python within httpd
See https://bugzilla.redhat.com/show_bug.cgi?id=814391
---
Lib/ctypes/__init__.py | 5 -----
1 file changed, 5 deletions(-)
diff --git a/Lib/ctypes/__init__.py b/Lib/ctypes/__init__.py
index f8709683fb..2ffe440150 100644
--- a/Lib/ctypes/__init__.py
+++ b/Lib/ctypes/__init__.py
@@ -266,11 +266,6 @@ def _reset_cache():
# _SimpleCData.c_char_p_from_param
POINTER(c_char).from_param = c_char_p.from_param
_pointer_type_cache[None] = c_void_p
@ -13,3 +28,6 @@ diff -up Python-3.2.3/Lib/ctypes/__init__.py.rhbz814391 Python-3.2.3/Lib/ctypes/
def create_unicode_buffer(init, size=None):
"""create_unicode_buffer(aString) -> character array
--
2.26.2

View file

@ -1,7 +1,21 @@
diff -up cpython-59223da36dec/Lib/test/test_posix.py.disable-test_fs_holes-in-rpm-build cpython-59223da36dec/Lib/test/test_posix.py
--- cpython-59223da36dec/Lib/test/test_posix.py.disable-test_fs_holes-in-rpm-build 2012-08-07 17:15:59.000000000 -0400
+++ cpython-59223da36dec/Lib/test/test_posix.py 2012-08-07 17:16:53.528330330 -0400
@@ -973,6 +973,7 @@ class PosixTester(unittest.TestCase):
From b1a28dd9d73bbf489f49be6c6e2eec530ba489d1 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Fri, 19 Jun 2020 16:57:09 +0200
Subject: [PATCH] 00160: Disable test_fs_holes in RPM build
Python 3.3 added os.SEEK_DATA and os.SEEK_HOLE, which may be present in the
header files in the build chroot, but may not be supported in the running
kernel, hence we disable this test in an rpm build.
Adding these was upstream issue http://bugs.python.org/issue10142
---
Lib/test/test_posix.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/Lib/test/test_posix.py b/Lib/test/test_posix.py
index 2dae473327..c893ecbdc6 100644
--- a/Lib/test/test_posix.py
+++ b/Lib/test/test_posix.py
@@ -1235,6 +1235,7 @@ class PosixTester(unittest.TestCase):
posix.RTLD_GLOBAL
posix.RTLD_LOCAL
@ -9,3 +23,6 @@ diff -up cpython-59223da36dec/Lib/test/test_posix.py.disable-test_fs_holes-in-rp
@unittest.skipUnless(hasattr(os, 'SEEK_HOLE'),
"test needs an OS that reports file holes")
def test_fs_holes(self):
--
2.26.2

View file

@ -1,7 +1,19 @@
diff -up Python-3.3.0b1/Lib/test/test_socket.py.disable-test_socket-in-rpm-builds Python-3.3.0b1/Lib/test/test_socket.py
--- Python-3.3.0b1/Lib/test/test_socket.py.disable-test_socket-in-rpm-builds 2012-07-24 15:02:30.823355067 -0400
+++ Python-3.3.0b1/Lib/test/test_socket.py 2012-07-24 15:08:13.021354999 -0400
@@ -2188,6 +2188,7 @@ class RecvmsgGenericStreamTests(RecvmsgG
From f211c52df798ffad41477dc30b3de2b6442873b6 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Fri, 19 Jun 2020 16:58:24 +0200
Subject: [PATCH] 00163: Disable parts of test_socket in RPM build
Some tests within test_socket fail intermittently when run inside Koji;
disable them using unittest._skipInRpmBuild
---
Lib/test/test_socket.py | 1 +
1 file changed, 1 insertion(+)
diff --git a/Lib/test/test_socket.py b/Lib/test/test_socket.py
index 95c3938ac2..abb2356f47 100644
--- a/Lib/test/test_socket.py
+++ b/Lib/test/test_socket.py
@@ -2505,6 +2505,7 @@ class RecvmsgGenericStreamTests(RecvmsgGenericTests):
# Tests which require a stream socket and can use either recvmsg()
# or recvmsg_into().
@ -9,3 +21,6 @@ diff -up Python-3.3.0b1/Lib/test/test_socket.py.disable-test_socket-in-rpm-build
def testRecvmsgEOF(self):
# Receive end-of-stream indicator (b"", peer socket closed).
msg, ancdata, flags, addr = self.doRecvmsg(self.serv_sock, 1024)
--
2.26.2

View file

@ -1,8 +1,32 @@
From f4d25a8fcf43f89fb58e6d288e50d993dd84afb6 Mon Sep 17 00:00:00 2001
From: David Malcolm <dmalcolm@redhat.com>
Date: Fri, 19 Jun 2020 16:05:07 +0200
Subject: [PATCH] 00170: In debug builds, try to print repr() when a C-level
assert fails
In debug builds, try to print repr() when a C-level assert fails in the
garbage collector (typically indicating a reference-counting error
somewhere else e.g in an extension module)
The new macros/functions within gcmodule.c are hidden to avoid exposing
them within the extension API.
Sent upstream: http://bugs.python.org/issue9263
See https://bugzilla.redhat.com/show_bug.cgi?id=614680
Co-Authored-By: David Malcolm <dmalcolm@redhat.com>
Co-Authored-By: Charalampos Stratakis <cstratak@redhat.com>
Co-Authored-By: Robert Kuska <rkuska@redhat.com>
---
Include/object.h | 43 ++++++++++++++++++++++++++++++++++++++
Lib/test/test_gc.py | 50 ++++++++++++++++++++++++++++++++++++++++++++-
Modules/gcmodule.c | 44 +++++++++++++++++++++++----------------
Objects/object.c | 29 ++++++++++++++++++++++++++
4 files changed, 147 insertions(+), 19 deletions(-)
diff --git a/Include/object.h b/Include/object.h
index 63e37b8..613b26c 100644
index deac940972..fe7469bfb6 100644
--- a/Include/object.h
+++ b/Include/object.h
@@ -1071,6 +1071,49 @@ PyAPI_FUNC(void)
@@ -1072,6 +1072,49 @@ PyAPI_FUNC(void)
_PyObject_DebugTypeStats(FILE *out);
#endif /* ifndef Py_LIMITED_API */
@ -53,7 +77,7 @@ index 63e37b8..613b26c 100644
}
#endif
diff --git a/Lib/test/test_gc.py b/Lib/test/test_gc.py
index 7e82b24..4497b8f 100644
index 7e82b242da..4497b8f456 100644
--- a/Lib/test/test_gc.py
+++ b/Lib/test/test_gc.py
@@ -1,10 +1,12 @@
@ -131,7 +155,7 @@ index 7e82b24..4497b8f 100644
def setUp(self):
gc.enable()
diff --git a/Modules/gcmodule.c b/Modules/gcmodule.c
index 3bddc40..0cc24f7 100644
index 3bddc403da..0cc24f7e6c 100644
--- a/Modules/gcmodule.c
+++ b/Modules/gcmodule.c
@@ -342,7 +342,8 @@ update_refs(PyGC_Head *containers)
@ -270,10 +294,10 @@ index 3bddc40..0cc24f7 100644
return -1;
}
diff --git a/Objects/object.c b/Objects/object.c
index defff55..a50697d 100644
index e1a0569ab9..9a28521dc4 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -2030,6 +2030,35 @@ _PyTrash_thread_destroy_chain(void)
@@ -2062,6 +2062,35 @@ _PyTrash_thread_destroy_chain(void)
}
}
@ -309,3 +333,6 @@ index defff55..a50697d 100644
#ifndef Py_TRACE_REFS
/* For Py_LIMITED_API, we need an out-of-line version of _Py_Dealloc.
Define this here, so we can undefine the macro. */
--
2.26.2

View file

@ -1,7 +1,21 @@
diff -r 39b9b05c3085 Lib/distutils/sysconfig.py
--- a/Lib/distutils/sysconfig.py Wed Apr 10 00:27:23 2013 +0200
+++ b/Lib/distutils/sysconfig.py Wed Apr 10 10:14:18 2013 +0200
@@ -362,7 +362,10 @@
From e2f8cf627e31970ddb5134ade1d049ef0a5d8b96 Mon Sep 17 00:00:00 2001
From: Bohuslav Kabrda <bkabrda@redhat.com>
Date: Fri, 19 Jun 2020 16:11:14 +0200
Subject: [PATCH] 00178: Don't duplicate various FLAGS in sysconfig values
http://bugs.python.org/issue17679
Co-Authored-By: Bohuslav Kabrda <bkabrda@redhat.com>
---
Lib/distutils/sysconfig.py | 5 ++++-
Lib/sysconfig.py | 5 ++++-
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py
index ff0b131df2..2013efaa8b 100644
--- a/Lib/distutils/sysconfig.py
+++ b/Lib/distutils/sysconfig.py
@@ -356,7 +356,10 @@ def parse_makefile(fn, g=None):
done[n] = item = ""
if found:
after = value[m.end():]
@ -13,10 +27,11 @@ diff -r 39b9b05c3085 Lib/distutils/sysconfig.py
if "$" in after:
notdone[name] = value
else:
diff -r 39b9b05c3085 Lib/sysconfig.py
--- a/Lib/sysconfig.py Wed Apr 10 00:27:23 2013 +0200
+++ b/Lib/sysconfig.py Wed Apr 10 10:14:18 2013 +0200
@@ -296,7 +296,10 @@
diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py
index 8168e9c5a9..240bb6608a 100644
--- a/Lib/sysconfig.py
+++ b/Lib/sysconfig.py
@@ -294,7 +294,10 @@ def _parse_makefile(filename, vars=None):
if found:
after = value[m.end():]
@ -28,3 +43,6 @@ diff -r 39b9b05c3085 Lib/sysconfig.py
if "$" in after:
notdone[name] = value
else:
--
2.26.2

View file

@ -1,16 +1,24 @@
From e4690ff98ff84195368fbc10ac65b9d03e98c35b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
Date: Wed, 15 Aug 2018 15:36:29 +0200
Subject: [PATCH] 00189: Instead of bundled wheels, use our RPM packaged wheels
We keep them in /usr/share/python-wheels
---
Lib/ensurepip/__init__.py | 31 ++++++++++++++++++++++---------
1 file changed, 22 insertions(+), 9 deletions(-)
diff --git a/Lib/ensurepip/__init__.py b/Lib/ensurepip/__init__.py
index 4748ba4..fc02255 100644
index 09c572db71..6dc34e6240 100644
--- a/Lib/ensurepip/__init__.py
+++ b/Lib/ensurepip/__init__.py
@@ -1,16 +1,31 @@
@@ -1,3 +1,5 @@
+import distutils.version
+import glob
import os
import os.path
-import pkgutil
import sys
import tempfile
import pkgutil
@@ -7,10 +9,24 @@ import tempfile
__all__ = ["version", "bootstrap"]
@ -37,7 +45,8 @@ index 4748ba4..fc02255 100644
_PROJECTS = [
("setuptools", _SETUPTOOLS_VERSION),
@@ -94,12 +105,9 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
@@ -93,13 +109,10 @@ def _bootstrap(*, root=None, upgrade=False, user=False,
# additional paths that need added to sys.path
additional_paths = []
for project, version in _PROJECTS:
- wheel_name = "{}-{}-py2.py3-none-any.whl".format(project, version)
@ -54,3 +63,6 @@ index 4748ba4..fc02255 100644
additional_paths.append(os.path.join(tmpdir, wheel_name))
--
2.26.2

View file

@ -1,11 +1,26 @@
From b001d1d5f19eb2be1c89fdbb46b592200d6042fb Mon Sep 17 00:00:00 2001
From: Michal Cyprian <m.cyprian@gmail.com>
Date: Mon, 26 Jun 2017 16:32:56 +0200
Subject: [PATCH] 00251: Change user install 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 pip and distutils install into separate location.
Fedora Change: https://fedoraproject.org/wiki/Changes/Making_sudo_pip_safe
---
Lib/distutils/command/install.py | 15 +++++++++++++--
Lib/site.py | 9 ++++++++-
2 files changed, 21 insertions(+), 3 deletions(-)
diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py
index 0258d3d..4ebf50a 100644
index 4b969bf809..fa0cde25e3 100644
--- a/Lib/distutils/command/install.py
+++ b/Lib/distutils/command/install.py
@@ -418,8 +418,19 @@ class install(Command):
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 is set to sys.prefix + /local/
@ -21,16 +36,16 @@ index 0258d3d..4ebf50a 100644
+
+ self.prefix = os.path.normpath(sys.prefix) + addition
+ self.exec_prefix = os.path.normpath(sys.exec_prefix) + addition
else:
if self.exec_prefix is None:
diff --git a/Lib/site.py b/Lib/site.py
index 0fc9200..c95202e 100644
index 58115f1c08..dca42616d8 100644
--- a/Lib/site.py
+++ b/Lib/site.py
@@ -322,7 +322,14 @@ def getsitepackages(prefixes=None):
@@ -326,7 +326,14 @@ def getsitepackages(prefixes=None):
return sitepackages
def addsitepackages(known_paths, prefixes=None):
- """Add site-packages to sys.path"""
+ """Add site-packages to sys.path
@ -44,3 +59,6 @@ index 0fc9200..c95202e 100644
for sitedir in getsitepackages(prefixes):
if os.path.isdir(sitedir):
addsitedir(sitedir, known_paths)
--
2.26.2

View file

@ -1,5 +1,36 @@
From 0944f5b62e3227e2330312011a5f7ddfa7ad86f9 Mon Sep 17 00:00:00 2001
From: Nick Coghlan <ncoghlan@redhat.com>
Date: Fri, 19 Jun 2020 17:02:52 +0200
Subject: [PATCH] 00262: PEP538 - Coerce legacy C locale
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Backport of PEP 538: Coercing the legacy C locale to a UTF-8 based locale
https://www.python.org/dev/peps/pep-0538/
Fedora Change: https://fedoraproject.org/wiki/Changes/python3_c.utf-8_locale
Original proposal: https://bugzilla.redhat.com/show_bug.cgi?id=1404918
Co-Authored-By: Nick Coghlan <ncoghlan@redhat.com>
Co-Authored-By: Charalampos Stratakis <cstratak@redhat.com>
Co-Authored-By: Iryna Shcherbina <ishcherb@redhat.com>
Co-Authored-By: Miro Hrončok <miro@hroncok.cz>
---
Doc/using/cmdline.rst | 39 +++
Lib/test/support/script_helper.py | 56 +++--
Lib/test/test_c_locale_coercion.py | 371 +++++++++++++++++++++++++++++
Lib/test/test_cmd_line.py | 1 +
Lib/test/test_sys.py | 1 +
Modules/main.c | 6 +-
Programs/_testembed.c | 1 +
Programs/python.c | 37 +++
Python/pylifecycle.c | 196 ++++++++++++++-
configure.ac | 34 +++
10 files changed, 708 insertions(+), 34 deletions(-)
create mode 100644 Lib/test/test_c_locale_coercion.py
diff --git a/Doc/using/cmdline.rst b/Doc/using/cmdline.rst
index d14793a..65aa3ad 100644
index d14793a108..65aa3ad0f5 100644
--- a/Doc/using/cmdline.rst
+++ b/Doc/using/cmdline.rst
@@ -728,6 +728,45 @@ conflict.
@ -49,7 +80,7 @@ index d14793a..65aa3ad 100644
~~~~~~~~~~~~~~~~~~~~
diff --git a/Lib/test/support/script_helper.py b/Lib/test/support/script_helper.py
index 507dc48..c3cb720 100644
index 507dc48848..c3cb720be1 100644
--- a/Lib/test/support/script_helper.py
+++ b/Lib/test/support/script_helper.py
@@ -56,8 +56,35 @@ def interpreter_requires_environment():
@ -124,7 +155,7 @@ index 507dc48..c3cb720 100644
def assert_python_ok(*args, **env_vars):
diff --git a/Lib/test/test_c_locale_coercion.py b/Lib/test/test_c_locale_coercion.py
new file mode 100644
index 0000000..635c98f
index 0000000000..635c98face
--- /dev/null
+++ b/Lib/test/test_c_locale_coercion.py
@@ -0,0 +1,371 @@
@ -500,7 +531,7 @@ index 0000000..635c98f
+if __name__ == "__main__":
+ test_main()
diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py
index 38156b4..5922ed9 100644
index 38156b4926..5922ed917c 100644
--- a/Lib/test/test_cmd_line.py
+++ b/Lib/test/test_cmd_line.py
@@ -153,6 +153,7 @@ class CmdLineTest(unittest.TestCase):
@ -512,7 +543,7 @@ index 38156b4..5922ed9 100644
b'import locale; '
b'print(ascii("' + undecodable + b'"), '
diff --git a/Lib/test/test_sys.py b/Lib/test/test_sys.py
index 7866a5c..b41239a 100644
index 7866a5c005..b41239ab7a 100644
--- a/Lib/test/test_sys.py
+++ b/Lib/test/test_sys.py
@@ -680,6 +680,7 @@ class SysModuleTest(unittest.TestCase):
@ -524,7 +555,7 @@ index 7866a5c..b41239a 100644
'import sys',
'def dump(name):',
diff --git a/Modules/main.c b/Modules/main.c
index 585d696..96d8be4 100644
index 585d6965dd..96d8be4685 100644
--- a/Modules/main.c
+++ b/Modules/main.c
@@ -107,7 +107,11 @@ static const char usage_6[] =
@ -541,7 +572,7 @@ index 585d696..96d8be4 100644
static int
usage(int exitcode, const wchar_t* program)
diff --git a/Programs/_testembed.c b/Programs/_testembed.c
index 813cf30..2a64092 100644
index 813cf307bd..2a640926c0 100644
--- a/Programs/_testembed.c
+++ b/Programs/_testembed.c
@@ -1,4 +1,5 @@
@ -551,7 +582,7 @@ index 813cf30..2a64092 100644
#include <stdio.h>
diff --git a/Programs/python.c b/Programs/python.c
index a7afbc7..03f8295 100644
index a7afbc774b..03f8295045 100644
--- a/Programs/python.c
+++ b/Programs/python.c
@@ -15,6 +15,21 @@ wmain(int argc, wchar_t **argv)
@ -623,7 +654,7 @@ index a7afbc7..03f8295 100644
for (i = 0; i < argc; i++) {
PyMem_RawFree(argv_copy2[i]);
diff --git a/Python/pylifecycle.c b/Python/pylifecycle.c
index ecfdfee..4fee178 100644
index 0ebf9c7029..0b985bf78b 100644
--- a/Python/pylifecycle.c
+++ b/Python/pylifecycle.c
@@ -167,6 +167,7 @@ Py_SetStandardStreamEncoding(const char *encoding, const char *errors)
@ -839,7 +870,7 @@ index ecfdfee..4fee178 100644
#endif
if ((p = Py_GETENV("PYTHONDEBUG")) && *p != '\0')
@@ -1247,12 +1433,8 @@ initstdio(void)
@@ -1250,12 +1436,8 @@ initstdio(void)
}
}
if (!errors && !(pythonioencoding && *pythonioencoding)) {
@ -855,10 +886,10 @@ index ecfdfee..4fee178 100644
}
diff --git a/configure.ac b/configure.ac
index 3f2459a..7444486 100644
index 7bf4c6fb4c..f764536d65 100644
--- a/configure.ac
+++ b/configure.ac
@@ -3360,6 +3360,40 @@ then
@@ -3417,6 +3417,40 @@ then
fi
AC_MSG_RESULT($with_pymalloc)
@ -899,3 +930,6 @@ index 3f2459a..7444486 100644
# Check for Valgrind support
AC_MSG_CHECKING([for --with-valgrind])
AC_ARG_WITH([valgrind],
--
2.26.2

View file

@ -1,6 +1,37 @@
diff -up Python-3.5.0/configure.ac.than Python-3.5.0/configure.ac
--- Python-3.5.0/configure.ac.than 2015-11-13 11:51:32.039560172 -0500
+++ Python-3.5.0/configure.ac 2015-11-13 11:52:11.670168157 -0500
From 39519cb038959c4c3d021e73b4b74278d022c84f Mon Sep 17 00:00:00 2001
From: Petr Viktorin <pviktori@redhat.com>
Date: Mon, 28 Aug 2017 17:16:46 +0200
Subject: [PATCH] 00274: Upstream uses Debian-style architecture naming, change
to match Fedora
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Co-authored-by: Petr Viktorin <pviktori@redhat.com>
Co-authored-by: Miro Hrončok <miro@hroncok.cz>
Co-authored-by: Tomas Orsava <torsava@redhat.com>
---
config.sub | 2 +-
configure.ac | 16 ++++++++--------
2 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/config.sub b/config.sub
index 40ea5dfe11..c51e98ba2a 100755
--- a/config.sub
+++ b/config.sub
@@ -1045,7 +1045,7 @@ case $basic_machine in
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo "$basic_machine" | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
diff --git a/configure.ac b/configure.ac
index f764536d65..f2c455c8d9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -788,9 +788,9 @@ cat >> conftest.c <<EOF
alpha-linux-gnu
# elif defined(__ARM_EABI__) && defined(__ARM_PCS_VFP)
@ -22,7 +53,7 @@ diff -up Python-3.5.0/configure.ac.than Python-3.5.0/configure.ac
# else
# error unknown platform triplet
# endif
@@ -820,7 +820,7 @@ cat >> conftest.c <<EOF
@@ -820,22 +820,22 @@ cat >> conftest.c <<EOF
# elif _MIPS_SIM == _ABIN32
mips64-linux-gnuabin32
# elif _MIPS_SIM == _ABI64
@ -31,8 +62,11 @@ diff -up Python-3.5.0/configure.ac.than Python-3.5.0/configure.ac
# else
# error unknown platform triplet
# endif
@@ -830,9 +830,9 @@ cat >> conftest.c <<EOF
powerpc-linux-gnuspe
# elif defined(__or1k__)
or1k-linux-gnu
# elif defined(__powerpc__) && defined(__SPE__)
- powerpc-linux-gnuspe
+ ppc-linux-gnuspe
# elif defined(__powerpc64__)
# if defined(__LITTLE_ENDIAN__)
- powerpc64le-linux-gnu
@ -42,17 +76,11 @@ diff -up Python-3.5.0/configure.ac.than Python-3.5.0/configure.ac
+ ppc64-linux-gnu
# endif
# elif defined(__powerpc__)
powerpc-linux-gnu
diff --git a/config.sub b/config.sub
index 40ea5df..932128b 100755
--- a/config.sub
+++ b/config.sub
@@ -1045,7 +1045,7 @@ case $basic_machine in
;;
ppc64) basic_machine=powerpc64-unknown
;;
- ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ppc64-* | ppc64p7-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
;;
ppc64le | powerpc64little)
basic_machine=powerpc64le-unknown
- powerpc-linux-gnu
+ ppc-linux-gnu
# elif defined(__s390x__)
s390x-linux-gnu
# elif defined(__s390__)
--
2.26.2

View file

@ -1,5 +1,19 @@
From 350592aecc1c62c4f4ef9f8ebc3394095c974c00 Mon Sep 17 00:00:00 2001
From: Charalampos Stratakis <cstratak@redhat.com>
Date: Fri, 19 Jun 2020 17:06:08 +0200
Subject: [PATCH] 00292: Restore PyExc_RecursionErrorInst symbol
Restore the public PyExc_RecursionErrorInst symbol that was removed
from the 3.6.4 release upstream.
Reported upstream: https://bugs.python.org/issue30697
---
Include/pyerrors.h | 2 ++
Objects/exceptions.c | 32 ++++++++++++++++++++++++++++++++
PC/python3.def | 1 +
3 files changed, 35 insertions(+)
diff --git a/Include/pyerrors.h b/Include/pyerrors.h
index c28c1373f82..8c1dbc5047b 100644
index 44f20303c2..8b5c2748de 100644
--- a/Include/pyerrors.h
+++ b/Include/pyerrors.h
@@ -219,6 +219,8 @@ PyAPI_DATA(PyObject *) PyExc_IOError;
@ -11,18 +25,11 @@ index c28c1373f82..8c1dbc5047b 100644
/* Predefined warning categories */
PyAPI_DATA(PyObject *) PyExc_Warning;
PyAPI_DATA(PyObject *) PyExc_UserWarning;
diff --git a/Misc/NEWS.d/next/C API/2017-12-20-15-23-06.bpo-30697.v9FmgG.rst b/Misc/NEWS.d/next/C API/2017-12-20-15-23-06.bpo-30697.v9FmgG.rst
new file mode 100644
index 00000000000..28f74ad4f30
--- /dev/null
+++ b/Misc/NEWS.d/next/C API/2017-12-20-15-23-06.bpo-30697.v9FmgG.rst
@@ -0,0 +1 @@
+Restore PyExc_RecursionErrorInst in 3.6
diff --git a/Objects/exceptions.c b/Objects/exceptions.c
index df4899372a5..271e293e325 100644
index 6f3b986d32..76bb1a4697 100644
--- a/Objects/exceptions.c
+++ b/Objects/exceptions.c
@@ -2430,6 +2430,12 @@ SimpleExtendsException(PyExc_Warning, ResourceWarning,
@@ -2434,6 +2434,12 @@ SimpleExtendsException(PyExc_Warning, ResourceWarning,
@ -35,7 +42,7 @@ index df4899372a5..271e293e325 100644
#define PRE_INIT(TYPE) \
if (!(_PyExc_ ## TYPE.tp_flags & Py_TPFLAGS_READY)) { \
if (PyType_Ready(&_PyExc_ ## TYPE) < 0) \
@@ -2691,11 +2697,37 @@ _PyExc_Init(PyObject *bltinmod)
@@ -2695,11 +2701,37 @@ _PyExc_Init(PyObject *bltinmod)
ADD_ERRNO(TimeoutError, ETIMEDOUT);
preallocate_memerrors();
@ -74,7 +81,7 @@ index df4899372a5..271e293e325 100644
Py_CLEAR(errnomap);
}
diff --git a/PC/python3.def b/PC/python3.def
index 4fc4a6814ee..ff70718fc37 100644
index 4fc4a6814e..ff70718fc3 100644
--- a/PC/python3.def
+++ b/PC/python3.def
@@ -224,6 +224,7 @@ EXPORTS
@ -85,3 +92,6 @@ index 4fc4a6814ee..ff70718fc37 100644
PyExc_ReferenceError=python36.PyExc_ReferenceError DATA
PyExc_ResourceWarning=python36.PyExc_ResourceWarning DATA
PyExc_RuntimeError=python36.PyExc_RuntimeError DATA
--
2.26.2

View file

@ -1,5 +1,25 @@
From 8c79d1eeb61fdb3e9bc58be70a8a9050fe83096f Mon Sep 17 00:00:00 2001
From: Christian Heimes <christian@python.org>
Date: Fri, 19 Jun 2020 17:13:03 +0200
Subject: [PATCH] 00294: Define TLS cipher suite on build time
Define TLS cipher suite on build time depending
on the OpenSSL default cipher suite selection.
Fixed upstream on CPython's 3.7 branch:
https://bugs.python.org/issue31429
See also: https://bugzilla.redhat.com/show_bug.cgi?id=1489816
Co-Authored-By: Christian Heimes <christian@python.org>
Co-Authored-By: Charalampos Stratakis <cstratak@redhat.com>
---
Lib/ssl.py | 48 ++------------------------------------------
Lib/test/test_ssl.py | 16 ++++++++++++++-
Modules/_ssl.c | 35 +++++++++++++++++++++++++++++++-
configure.ac | 36 +++++++++++++++++++++++++++++++++
4 files changed, 87 insertions(+), 48 deletions(-)
diff --git a/Lib/ssl.py b/Lib/ssl.py
index 58d3e93..0114387 100644
index 58d3e93922..0114387c57 100644
--- a/Lib/ssl.py
+++ b/Lib/ssl.py
@@ -116,6 +116,7 @@ except ImportError:
@ -79,7 +99,7 @@ index 58d3e93..0114387 100644
if cafile or capath or cadata:
context.load_verify_locations(cafile, capath, cadata)
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
index 74adebc..510bb09 100644
index 74adebc0fb..510bb09501 100644
--- a/Lib/test/test_ssl.py
+++ b/Lib/test/test_ssl.py
@@ -19,6 +19,7 @@ import weakref
@ -120,7 +140,7 @@ index 74adebc..510bb09 100644
def test_get_ciphers(self):
ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1)
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
index 7365630..ec366f0 100644
index 7365630a5e..ec366f019d 100644
--- a/Modules/_ssl.c
+++ b/Modules/_ssl.c
@@ -238,6 +238,31 @@ SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *s)
@ -180,7 +200,7 @@ index 7365630..ec366f0 100644
PY_SSL_ERROR_ZERO_RETURN);
PyModule_AddIntConstant(m, "SSL_ERROR_WANT_READ",
diff --git a/configure.ac b/configure.ac
index f986875..c071ec3 100644
index f2c455c8d9..619aa215e9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -5663,6 +5663,42 @@ if test "$have_getrandom" = yes; then
@ -226,3 +246,6 @@ index f986875..c071ec3 100644
# generate output files
AC_CONFIG_FILES(Makefile.pre Modules/Setup.config Misc/python.pc Misc/python-config.sh)
AC_CONFIG_FILES([Modules/ld_so_aix], [chmod +x Modules/ld_so_aix])
--
2.26.2

View file

@ -1,34 +1,28 @@
commit 5044c889dfced2f43e2cccb673d889a4882f6b3b
Author: Miss Islington (bot) <31488909+miss-islington@users.noreply.github.com>
Date: Wed Dec 4 12:29:22 2019 -0800
From 7da16b28ff5817714a565f7f5c51cccee1e25818 Mon Sep 17 00:00:00 2001
From: Victor Stinner <vstinner@python.org>
Date: Fri, 19 Jun 2020 17:16:05 +0200
Subject: [PATCH] 00343: Fix test_faulthandler on GCC 10
bpo-38965: Fix faulthandler._stack_overflow() on GCC 10 (GH-17467)
bpo-38965: Fix faulthandler._stack_overflow() on GCC 10
Fixed upstream and backported from the 3.7 branch:
https://bugs.python.org/issue38965
https://github.com/python/cpython/commit/f4a21d3b239bf4f4e4e2a8a5936b9b040645b246
Use the "volatile" keyword to prevent tail call optimization
on any compiler, rather than relying on compiler specific pragma.
(cherry picked from commit 8b787964e0a647caa0558b7c29ae501470d727d9)
Co-authored-by: Victor Stinner <vstinner@python.org>
commit ac827edc493d3ac3f5b9b0cc353df1d4b418a9aa
Author: Victor Stinner <vstinner@redhat.com>
Date: Wed Aug 14 23:35:27 2019 +0200
bpo-21131: Fix faulthandler.register(chain=True) stack (GH-15276)
faulthandler now allocates a dedicated stack of SIGSTKSZ*2 bytes,
instead of just SIGSTKSZ bytes. Calling the previous signal handler
in faulthandler signal handler uses more than SIGSTKSZ bytes of stack
memory on some platforms.
bpo-21131: Fix faulthandler.register(chain=True) stack (GH-15276)
https://bugs.python.org/issue21131
https://github.com/python/cpython/commit/ac827edc493d3ac3f5b9b0cc353df1d4b418a9aa
---
Modules/faulthandler.c | 22 +++++++++++-----------
1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
index 890c645..fac662a 100644
index 890c64577c..fac662afc3 100644
--- a/Modules/faulthandler.c
+++ b/Modules/faulthandler.c
@@ -1091,18 +1091,14 @@ faulthandler_fatal_error_py(PyObject *self, PyObject *args)
#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
#define FAULTHANDLER_STACK_OVERFLOW
-#ifdef __INTEL_COMPILER
- /* Issue #23654: Turn off ICC's tail call optimization for the
- * stack_overflow generator. ICC turns the recursive tail call into
@ -63,3 +57,6 @@ index 890c645..fac662a 100644
stack.ss_sp = PyMem_Malloc(stack.ss_size);
if (stack.ss_sp != NULL) {
err = sigaltstack(&stack, &old_stack);
--
2.26.2

View file

@ -13,11 +13,11 @@ 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}.10
#global prerel ...
%global general_version %{pybasever}.11
%global prerel rc1
%global upstream_version %{general_version}%{?prerel}
Version: %{general_version}%{?prerel:~%{prerel}}
Release: 5%{?dist}
Release: 1%{?dist}
License: Python
@ -1529,6 +1529,9 @@ CheckPython optimized
# ======================================================
%changelog
* Fri Jun 19 2020 Petr Viktorin <pviktori@redhat.com> - 3.6.11-1
- Update to 3.6.11rc1
* Thu May 28 2020 Victor Stinner <vstinner@python.org> - 3.6.10-5
- Fix python3-config --configdir (rhbz#1772988).

View file

@ -1,2 +1,2 @@
SHA512 (Python-3.6.10.tar.xz) = 26147099e1f1a0ffc85febad26e18e991f019599a150887ea0b925e34663fad8e03b3c2a941e2770c1a63960695e173ef32709572c9361e7f2cb862ccf75b28a
SHA512 (Python-3.6.10.tar.xz.asc) = f63df08b6449cfee015eeb42657023d5c8464c0dd9a6b5d31978902a46ccebc975f7641f7a8f81d76135e564dc73bc567f449232e857b8b38ca0db16bdb30456
SHA512 (Python-3.6.11rc1.tar.xz) = 5e33bd05f688f50dfbf47ed8893668ccd9a353dee8d785a179770cfbd2b0227eac4d338d3c4fca51d78add370118f0911d70fa26604f95f4179b366a87a69b68
SHA512 (Python-3.6.11rc1.tar.xz.asc) = ee3b7a25abd53e15fe72b38bfb965aa5fe885b4be176cb132ebff0c841f0af8a35d03015adde704a2fb7111a5ea3f46548996e734ab1cf7d86f7220e08e2d7db