Update to 3.6.5
Rebased patches: 102, 111, 262 Removed patches due to being upstreamed: 264, 298 Update pip version to 9.0.3
This commit is contained in:
parent
8e08331a37
commit
111d8abb6c
|
@ -96,7 +96,7 @@ index f698927..bc977b5 100644
|
|||
@@ -248,8 +248,8 @@ class HelperFunctionsTests(unittest.TestCase):
|
||||
self.assertEqual(dirs[1], wanted)
|
||||
elif os.sep == '/':
|
||||
# OS X non-framwework builds, Linux, FreeBSD, etc
|
||||
# OS X non-framework builds, Linux, FreeBSD, etc
|
||||
- self.assertEqual(len(dirs), 1)
|
||||
- wanted = os.path.join('xoxo', 'lib',
|
||||
+ self.assertEqual(len(dirs), 2)
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
diff --git a/Makefile.pre.in b/Makefile.pre.in
|
||||
index 70e5927..04c8e3d 100644
|
||||
index 4b093e3..1088435 100644
|
||||
--- a/Makefile.pre.in
|
||||
+++ b/Makefile.pre.in
|
||||
@@ -556,7 +556,7 @@ clinic: $(BUILDPYTHON) $(srcdir)/Modules/_blake2/blake2s_impl.c
|
||||
$(RUNSHARED) $(PYTHON_FOR_BUILD) ./Tools/clinic/clinic.py --make
|
||||
@@ -543,7 +543,7 @@ clinic: check-clean-src $(srcdir)/Modules/_blake2/blake2s_impl.c
|
||||
$(PYTHON_FOR_REGEN) ./Tools/clinic/clinic.py --make
|
||||
|
||||
# Build the interpreter
|
||||
-$(BUILDPYTHON): Programs/python.o $(LIBRARY) $(LDLIBRARY) $(PY3LIBRARY)
|
||||
|
@ -11,7 +11,7 @@ index 70e5927..04c8e3d 100644
|
|||
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/python.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
|
||||
|
||||
platform: $(BUILDPYTHON) pybuilddir.txt
|
||||
@@ -601,18 +601,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
|
||||
@@ -588,18 +588,6 @@ sharedmods: $(BUILDPYTHON) pybuilddir.txt Modules/_math.o
|
||||
$(PYTHON_FOR_BUILD) $(srcdir)/setup.py $$quiet build
|
||||
|
||||
|
||||
|
@ -30,7 +30,7 @@ index 70e5927..04c8e3d 100644
|
|||
libpython$(LDVERSION).so: $(LIBRARY_OBJS)
|
||||
if test $(INSTSONAME) != $(LDLIBRARY); then \
|
||||
$(BLDSHARED) -Wl,-h$(INSTSONAME) -o $(INSTSONAME) $(LIBRARY_OBJS) $(MODLIBS) $(SHLIBS) $(LIBC) $(LIBM) $(LDLAST); \
|
||||
@@ -702,7 +690,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.dist
|
||||
@@ -689,7 +677,7 @@ Modules/Setup: $(srcdir)/Modules/Setup.dist
|
||||
echo "-----------------------------------------------"; \
|
||||
fi
|
||||
|
||||
|
@ -39,7 +39,7 @@ index 70e5927..04c8e3d 100644
|
|||
$(LINKCC) $(PY_LDFLAGS) $(LINKFORSHARED) -o $@ Programs/_testembed.o $(BLDLIBRARY) $(LIBS) $(MODLIBS) $(SYSLIBS) $(LDLAST)
|
||||
|
||||
############################################################################
|
||||
@@ -1382,18 +1370,6 @@ libainstall: all python-config
|
||||
@@ -1425,18 +1413,6 @@ libainstall: @DEF_MAKE_RULE@ python-config
|
||||
else true; \
|
||||
fi; \
|
||||
done
|
||||
|
|
|
@ -542,18 +542,6 @@ diff --git a/Lib/test/test_cmd_line.py b/Lib/test/test_cmd_line.py
|
|||
index ae2bcd4..0a302ff 100644
|
||||
--- a/Lib/test/test_cmd_line.py
|
||||
+++ b/Lib/test/test_cmd_line.py
|
||||
@@ -9,8 +9,9 @@ import sys
|
||||
import subprocess
|
||||
import tempfile
|
||||
from test.support import script_helper, is_android
|
||||
-from test.support.script_helper import (spawn_python, kill_python, assert_python_ok,
|
||||
- assert_python_failure)
|
||||
+from test.support.script_helper import (
|
||||
+ spawn_python, kill_python, assert_python_ok, assert_python_failure
|
||||
+)
|
||||
|
||||
|
||||
# XXX (ncoghlan): Move to script_helper and make consistent with run_python
|
||||
@@ -151,6 +152,7 @@ class CmdLineTest(unittest.TestCase):
|
||||
env = os.environ.copy()
|
||||
# Use C locale to get ascii for the locale encoding
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
diff --git a/Lib/ctypes/test/test_structures.py b/Lib/ctypes/test/test_structures.py
|
||||
index 3eded77..ad7859a 100644
|
||||
--- a/Lib/ctypes/test/test_structures.py
|
||||
+++ b/Lib/ctypes/test/test_structures.py
|
||||
@@ -392,6 +392,7 @@ class StructureTestCase(unittest.TestCase):
|
||||
(1, 0, 0, 0, 0, 0))
|
||||
self.assertRaises(TypeError, lambda: Z(1, 2, 3, 4, 5, 6, 7))
|
||||
|
||||
+ @unittest.skip('Fails on aarch64: http://bugs.python.org/issue29804')
|
||||
def test_pass_by_value(self):
|
||||
# This should mirror the structure in Modules/_ctypes/_ctypes_test.c
|
||||
class X(Structure):
|
|
@ -1,16 +0,0 @@
|
|||
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
|
||||
index d203cdd..c128dae 100644
|
||||
--- a/Lib/test/test_ssl.py
|
||||
+++ b/Lib/test/test_ssl.py
|
||||
@@ -3256,8 +3256,9 @@ if _have_threads:
|
||||
except ssl.SSLError as e:
|
||||
stats = e
|
||||
|
||||
- if expected is None and IS_OPENSSL_1_1:
|
||||
- # OpenSSL 1.1.0 raises handshake error
|
||||
+ if (expected is None and IS_OPENSSL_1_1
|
||||
+ and ssl.OPENSSL_VERSION_INFO < (1, 1, 0, 6)):
|
||||
+ # OpenSSL 1.1.0 to 1.1.0e raises handshake error
|
||||
self.assertIsInstance(stats, ssl.SSLError)
|
||||
else:
|
||||
msg = "failed trying %s (s) and %s (c).\n" \
|
|
@ -1,99 +0,0 @@
|
|||
diff --git a/Lib/test/test_asyncio/test_events.py b/Lib/test/test_asyncio/test_events.py
|
||||
index 492a84a2313..9746678607c 100644
|
||||
--- a/Lib/test/test_asyncio/test_events.py
|
||||
+++ b/Lib/test/test_asyncio/test_events.py
|
||||
@@ -1980,19 +1980,26 @@ def test_subprocess_terminate(self):
|
||||
|
||||
@unittest.skipIf(sys.platform == 'win32', "Don't have SIGHUP")
|
||||
def test_subprocess_send_signal(self):
|
||||
- prog = os.path.join(os.path.dirname(__file__), 'echo.py')
|
||||
-
|
||||
- connect = self.loop.subprocess_exec(
|
||||
- functools.partial(MySubprocessProtocol, self.loop),
|
||||
- sys.executable, prog)
|
||||
- transp, proto = self.loop.run_until_complete(connect)
|
||||
- self.assertIsInstance(proto, MySubprocessProtocol)
|
||||
- self.loop.run_until_complete(proto.connected)
|
||||
-
|
||||
- transp.send_signal(signal.SIGHUP)
|
||||
- self.loop.run_until_complete(proto.completed)
|
||||
- self.assertEqual(-signal.SIGHUP, proto.returncode)
|
||||
- transp.close()
|
||||
+ # bpo-31034: Make sure that we get the default signal handler (killing
|
||||
+ # the process). The parent process may have decided to ignore SIGHUP,
|
||||
+ # and signal handlers are inherited.
|
||||
+ old_handler = signal.signal(signal.SIGHUP, signal.SIG_DFL)
|
||||
+ try:
|
||||
+ prog = os.path.join(os.path.dirname(__file__), 'echo.py')
|
||||
+
|
||||
+ connect = self.loop.subprocess_exec(
|
||||
+ functools.partial(MySubprocessProtocol, self.loop),
|
||||
+ sys.executable, prog)
|
||||
+ transp, proto = self.loop.run_until_complete(connect)
|
||||
+ self.assertIsInstance(proto, MySubprocessProtocol)
|
||||
+ self.loop.run_until_complete(proto.connected)
|
||||
+
|
||||
+ transp.send_signal(signal.SIGHUP)
|
||||
+ self.loop.run_until_complete(proto.completed)
|
||||
+ self.assertEqual(-signal.SIGHUP, proto.returncode)
|
||||
+ transp.close()
|
||||
+ finally:
|
||||
+ signal.signal(signal.SIGHUP, old_handler)
|
||||
|
||||
def test_subprocess_stderr(self):
|
||||
prog = os.path.join(os.path.dirname(__file__), 'echo2.py')
|
||||
diff --git a/Lib/test/test_asyncio/test_subprocess.py b/Lib/test/test_asyncio/test_subprocess.py
|
||||
index 2e14a8a9735..e8822c36698 100644
|
||||
--- a/Lib/test/test_asyncio/test_subprocess.py
|
||||
+++ b/Lib/test/test_asyncio/test_subprocess.py
|
||||
@@ -166,25 +166,32 @@ def test_terminate(self):
|
||||
|
||||
@unittest.skipIf(sys.platform == 'win32', "Don't have SIGHUP")
|
||||
def test_send_signal(self):
|
||||
- code = 'import time; print("sleeping", flush=True); time.sleep(3600)'
|
||||
- args = [sys.executable, '-c', code]
|
||||
- create = asyncio.create_subprocess_exec(*args,
|
||||
- stdout=subprocess.PIPE,
|
||||
- loop=self.loop)
|
||||
- proc = self.loop.run_until_complete(create)
|
||||
-
|
||||
- @asyncio.coroutine
|
||||
- def send_signal(proc):
|
||||
- # basic synchronization to wait until the program is sleeping
|
||||
- line = yield from proc.stdout.readline()
|
||||
- self.assertEqual(line, b'sleeping\n')
|
||||
+ # bpo-31034: Make sure that we get the default signal handler (killing
|
||||
+ # the process). The parent process may have decided to ignore SIGHUP,
|
||||
+ # and signal handlers are inherited.
|
||||
+ old_handler = signal.signal(signal.SIGHUP, signal.SIG_DFL)
|
||||
+ try:
|
||||
+ code = 'import time; print("sleeping", flush=True); time.sleep(3600)'
|
||||
+ args = [sys.executable, '-c', code]
|
||||
+ create = asyncio.create_subprocess_exec(*args,
|
||||
+ stdout=subprocess.PIPE,
|
||||
+ loop=self.loop)
|
||||
+ proc = self.loop.run_until_complete(create)
|
||||
|
||||
- proc.send_signal(signal.SIGHUP)
|
||||
- returncode = (yield from proc.wait())
|
||||
- return returncode
|
||||
-
|
||||
- returncode = self.loop.run_until_complete(send_signal(proc))
|
||||
- self.assertEqual(-signal.SIGHUP, returncode)
|
||||
+ @asyncio.coroutine
|
||||
+ def send_signal(proc):
|
||||
+ # basic synchronization to wait until the program is sleeping
|
||||
+ line = yield from proc.stdout.readline()
|
||||
+ self.assertEqual(line, b'sleeping\n')
|
||||
+
|
||||
+ proc.send_signal(signal.SIGHUP)
|
||||
+ returncode = (yield from proc.wait())
|
||||
+ return returncode
|
||||
+
|
||||
+ returncode = self.loop.run_until_complete(send_signal(proc))
|
||||
+ self.assertEqual(-signal.SIGHUP, returncode)
|
||||
+ finally:
|
||||
+ signal.signal(signal.SIGHUP, old_handler)
|
||||
|
||||
def prepare_broken_pipe_test(self):
|
||||
# buffer large enough to feed the whole pipe buffer
|
|
@ -1,58 +0,0 @@
|
|||
From 8c2d4cf092c5f0335e7982392a33927579c4d512 Mon Sep 17 00:00:00 2001
|
||||
From: Dong-hee Na <donghee.na92@gmail.com>
|
||||
Date: Wed, 26 Jul 2017 21:11:25 +0900
|
||||
Subject: [PATCH] [3.6] bpo-30119: fix ftplib.FTP.putline() to throw an error
|
||||
for a illegal command (#1214) (#2886)
|
||||
|
||||
---
|
||||
Lib/ftplib.py | 2 ++
|
||||
Lib/test/test_ftplib.py | 6 +++++-
|
||||
Misc/NEWS.d/next/Library/2017-07-26-15-15-00.bpo-30119.DZ6C_S.rst | 2 ++
|
||||
3 files changed, 9 insertions(+), 1 deletion(-)
|
||||
create mode 100644 Misc/NEWS.d/next/Library/2017-07-26-15-15-00.bpo-30119.DZ6C_S.rst
|
||||
|
||||
diff --git a/Lib/ftplib.py b/Lib/ftplib.py
|
||||
index 8f36f537e8a..a02e595cb02 100644
|
||||
--- a/Lib/ftplib.py
|
||||
+++ b/Lib/ftplib.py
|
||||
@@ -186,6 +186,8 @@ def sanitize(self, s):
|
||||
|
||||
# Internal: send one line to the server, appending CRLF
|
||||
def putline(self, line):
|
||||
+ if '\r' in line or '\n' in line:
|
||||
+ raise ValueError('an illegal newline character should not be contained')
|
||||
line = line + CRLF
|
||||
if self.debugging > 1:
|
||||
print('*put*', self.sanitize(line))
|
||||
diff --git a/Lib/test/test_ftplib.py b/Lib/test/test_ftplib.py
|
||||
index 12fabc5e8be..a561e9efa03 100644
|
||||
--- a/Lib/test/test_ftplib.py
|
||||
+++ b/Lib/test/test_ftplib.py
|
||||
@@ -484,6 +484,9 @@ def test_sanitize(self):
|
||||
self.assertEqual(self.client.sanitize('PASS 12345'), repr('PASS *****'))
|
||||
|
||||
def test_exceptions(self):
|
||||
+ self.assertRaises(ValueError, self.client.sendcmd, 'echo 40\r\n0')
|
||||
+ self.assertRaises(ValueError, self.client.sendcmd, 'echo 40\n0')
|
||||
+ self.assertRaises(ValueError, self.client.sendcmd, 'echo 40\r0')
|
||||
self.assertRaises(ftplib.error_temp, self.client.sendcmd, 'echo 400')
|
||||
self.assertRaises(ftplib.error_temp, self.client.sendcmd, 'echo 499')
|
||||
self.assertRaises(ftplib.error_perm, self.client.sendcmd, 'echo 500')
|
||||
@@ -492,7 +495,8 @@ def test_exceptions(self):
|
||||
|
||||
def test_all_errors(self):
|
||||
exceptions = (ftplib.error_reply, ftplib.error_temp, ftplib.error_perm,
|
||||
- ftplib.error_proto, ftplib.Error, OSError, EOFError)
|
||||
+ ftplib.error_proto, ftplib.Error, OSError,
|
||||
+ EOFError)
|
||||
for x in exceptions:
|
||||
try:
|
||||
raise x('exception not included in all_errors set')
|
||||
diff --git a/Misc/NEWS.d/next/Library/2017-07-26-15-15-00.bpo-30119.DZ6C_S.rst b/Misc/NEWS.d/next/Library/2017-07-26-15-15-00.bpo-30119.DZ6C_S.rst
|
||||
new file mode 100644
|
||||
index 00000000000..a37d3703842
|
||||
--- /dev/null
|
||||
+++ b/Misc/NEWS.d/next/Library/2017-07-26-15-15-00.bpo-30119.DZ6C_S.rst
|
||||
@@ -0,0 +1,2 @@
|
||||
+ftplib.FTP.putline() now throws ValueError on commands that contains CR or
|
||||
+LF. Patch by Dong-hee Na.
|
|
@ -1,43 +0,0 @@
|
|||
From 54849962eacc38f4e6c6f8a72ae258b3e7c2ecd5 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Stinner <victor.stinner@gmail.com>
|
||||
Date: Thu, 5 Oct 2017 15:05:30 +0200
|
||||
Subject: [PATCH] bpo-31178: Mock os.waitpid() in test_subprocess
|
||||
|
||||
Fix test_exception_errpipe_bad_data() and
|
||||
test_exception_errpipe_normal() of test_subprocess: mock os.waitpid()
|
||||
to avoid calling the real os.waitpid(0, 0) which is an unexpected
|
||||
side effect of the test.
|
||||
---
|
||||
Lib/test/test_subprocess.py | 12 ++++++++----
|
||||
1 file changed, 8 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py
|
||||
index 00dc37bc2c7..3ba5c028517 100644
|
||||
--- a/Lib/test/test_subprocess.py
|
||||
+++ b/Lib/test/test_subprocess.py
|
||||
@@ -1559,8 +1559,10 @@ def proper_error(*args):
|
||||
|
||||
fork_exec.side_effect = proper_error
|
||||
|
||||
- with self.assertRaises(IsADirectoryError):
|
||||
- self.PopenNoDestructor(["non_existent_command"])
|
||||
+ with mock.patch("subprocess.os.waitpid",
|
||||
+ side_effect=ChildProcessError):
|
||||
+ with self.assertRaises(IsADirectoryError):
|
||||
+ self.PopenNoDestructor(["non_existent_command"])
|
||||
|
||||
@mock.patch("subprocess._posixsubprocess.fork_exec")
|
||||
def test_exception_errpipe_bad_data(self, fork_exec):
|
||||
@@ -1577,8 +1579,10 @@ def bad_error(*args):
|
||||
|
||||
fork_exec.side_effect = bad_error
|
||||
|
||||
- with self.assertRaises(subprocess.SubprocessError) as e:
|
||||
- self.PopenNoDestructor(["non_existent_command"])
|
||||
+ with mock.patch("subprocess.os.waitpid",
|
||||
+ side_effect=ChildProcessError):
|
||||
+ with self.assertRaises(subprocess.SubprocessError) as e:
|
||||
+ self.PopenNoDestructor(["non_existent_command"])
|
||||
|
||||
self.assertIn(repr(error_data), str(e.exception))
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
diff --git a/Modules/getpath.c b/Modules/getpath.c
|
||||
index c4055be..1258fcd 100644
|
||||
--- a/Modules/getpath.c
|
||||
+++ b/Modules/getpath.c
|
||||
@@ -735,7 +735,7 @@ calculate_path(void)
|
||||
bufsz += wcslen(zip_path) + 1;
|
||||
bufsz += wcslen(exec_prefix) + 1;
|
||||
|
||||
- buf = PyMem_New(wchar_t, bufsz);
|
||||
+ buf = PyMem_RawMalloc(bufsz * sizeof(wchar_t));
|
||||
if (buf == NULL) {
|
||||
Py_FatalError(
|
||||
"Not enough memory for dynamic PYTHONPATH");
|
|
@ -1,60 +0,0 @@
|
|||
diff --git a/Modules/_ssl.c b/Modules/_ssl.c
|
||||
index df8c6a7d96d8..e8cffef14de0 100644
|
||||
--- a/Modules/_ssl.c
|
||||
+++ b/Modules/_ssl.c
|
||||
@@ -55,6 +55,11 @@ static PySocketModule_APIObject PySocketModule;
|
||||
#include <sys/poll.h>
|
||||
#endif
|
||||
|
||||
+#ifndef MS_WINDOWS
|
||||
+/* inet_pton */
|
||||
+#include <arpa/inet.h>
|
||||
+#endif
|
||||
+
|
||||
/* Don't warn about deprecated functions */
|
||||
#ifdef __GNUC__
|
||||
#pragma GCC diagnostic ignored "-Wdeprecated-declarations"
|
||||
@@ -667,8 +672,41 @@ newPySSLSocket(PySSLContext *sslctx, PySocketSockObject *sock,
|
||||
SSL_set_mode(self->ssl, mode);
|
||||
|
||||
#if HAVE_SNI
|
||||
- if (server_hostname != NULL)
|
||||
- SSL_set_tlsext_host_name(self->ssl, server_hostname);
|
||||
+ if (server_hostname != NULL) {
|
||||
+/* Don't send SNI for IP addresses. We cannot simply use inet_aton() and
|
||||
+ * inet_pton() here. inet_aton() may be linked weakly and inet_pton() isn't
|
||||
+ * available on all platforms. Use OpenSSL's IP address parser. It's
|
||||
+ * available since 1.0.2 and LibreSSL since at least 2.3.0. */
|
||||
+ int send_sni = 1;
|
||||
+#if OPENSSL_VERSION_NUMBER >= 0x10200000L
|
||||
+ ASN1_OCTET_STRING *ip = a2i_IPADDRESS(server_hostname);
|
||||
+ if (ip == NULL) {
|
||||
+ send_sni = 1;
|
||||
+ ERR_clear_error();
|
||||
+ } else {
|
||||
+ send_sni = 0;
|
||||
+ ASN1_OCTET_STRING_free(ip);
|
||||
+ }
|
||||
+#elif defined(HAVE_INET_PTON)
|
||||
+#ifdef ENABLE_IPV6
|
||||
+ char packed[Py_MAX(sizeof(struct in_addr), sizeof(struct in6_addr))];
|
||||
+#else
|
||||
+ char packed[sizeof(struct in_addr)];
|
||||
+#endif /* ENABLE_IPV6 */
|
||||
+ if (inet_pton(AF_INET, server_hostname, packed)) {
|
||||
+ send_sni = 0;
|
||||
+#ifdef ENABLE_IPV6
|
||||
+ } else if(inet_pton(AF_INET6, server_hostname, packed)) {
|
||||
+ send_sni = 0;
|
||||
+#endif /* ENABLE_IPV6 */
|
||||
+ } else {
|
||||
+ send_sni = 1;
|
||||
+ }
|
||||
+#endif /* HAVE_INET_PTON */
|
||||
+ if (send_sni) {
|
||||
+ SSL_set_tlsext_host_name(self->ssl, server_hostname);
|
||||
+ }
|
||||
+ }
|
||||
#endif
|
||||
|
||||
/* If the socket is in non-blocking mode or timeout mode, set the BIO
|
28
python3.spec
28
python3.spec
|
@ -124,8 +124,8 @@ Summary: Version 3 of the Python programming language aka Python 3000
|
|||
Name: python3
|
||||
# WARNING When rebasing to a new Python version,
|
||||
# remember to update the python3-docs package as well
|
||||
Version: %{pybasever}.4
|
||||
Release: 6%{?dist}
|
||||
Version: %{pybasever}.5
|
||||
Release: 1%{?dist}
|
||||
License: Python
|
||||
Group: Development/Languages
|
||||
|
||||
|
@ -410,25 +410,12 @@ Patch243: 00243-fix-mips64-triplet.patch
|
|||
# Original proposal: https://bugzilla.redhat.com/show_bug.cgi?id=1404918
|
||||
Patch262: 00262-pep538_coerce_legacy_c_locale.patch
|
||||
|
||||
# 00264 #
|
||||
# test_pass_by_value was added in Python 3.6.1 and on aarch64
|
||||
# it is catching an error that was there, but wasn't tested before.
|
||||
# Therefore skipping the test on aarch64 until fixed upstream.
|
||||
# Reported upstream: http://bugs.python.org/issue29804
|
||||
Patch264: 00264-skip-test-failing-on-aarch64.patch
|
||||
|
||||
# 00292 #
|
||||
# Restore the public PyExc_RecursionErrorInst symbol that was removed
|
||||
# from the 3.6.4 release upstream.
|
||||
# Reported upstream: https://bugs.python.org/issue30697
|
||||
Patch292: 00292-restore-PyExc_RecursionErrorInst-symbol.patch
|
||||
|
||||
# 00298 #
|
||||
# The SSL module no longer sends IP addresses in SNI TLS extension on
|
||||
# platforms with OpenSSL 1.0.2+ or inet_pton.
|
||||
# Fixed upstream: https://bugs.python.org/issue32185
|
||||
Patch298: 00298-do-not-send-IP-in-SNI-TLS-extension.patch
|
||||
|
||||
# 00301 #
|
||||
# Tools/scripts/pathfix.py: Add -n option for no backup~
|
||||
# See: https://bugzilla.redhat.com/show_bug.cgi?id=1546990
|
||||
|
@ -667,7 +654,7 @@ rm -r Modules/zlib || exit 1
|
|||
#done
|
||||
|
||||
%if 0%{with_rewheel}
|
||||
%global pip_version 9.0.1
|
||||
%global pip_version 9.0.3
|
||||
sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/ensurepip/__init__.py
|
||||
%endif
|
||||
|
||||
|
@ -706,13 +693,7 @@ sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/en
|
|||
%patch206 -p1
|
||||
%patch243 -p1
|
||||
%patch262 -p1
|
||||
|
||||
%ifarch aarch64
|
||||
%patch264 -p1
|
||||
%endif
|
||||
|
||||
%patch292 -p1
|
||||
%patch298 -p1
|
||||
%patch301 -p1
|
||||
|
||||
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
|
||||
|
@ -1675,6 +1656,9 @@ fi
|
|||
# ======================================================
|
||||
|
||||
%changelog
|
||||
* Thu Mar 29 2018 Charalampos Stratakis <cstratak@redhat.com> - 3.6.5-1
|
||||
- Update to 3.6.5
|
||||
|
||||
* Sat Mar 24 2018 Miro Hrončok <mhroncok@redhat.com> - 3.6.4-6
|
||||
- Fix broken macro invocation and broken building of C Python extensions
|
||||
Resolves: rhbz#1560103
|
||||
|
|
2
sources
2
sources
|
@ -1 +1 @@
|
|||
SHA512 (Python-3.6.4.tar.xz) = 09ba2103ac517ac4d262f00380c9aac836a53401ce252540c17fd821a3b92e1ddf32528d00772221eb3126b12cb95b62c3ac3e852f4951e6f2eb406c88c848a2
|
||||
SHA512 (Python-3.6.5.tar.xz) = 6b26fcd296b9bd8e67861eff10d14db7507711ddba947288d16d6def53135c39326b7f969c04bb2b2993f924d9e7ad3f5c5282a3915760bc0885cf0a8ea5eb51
|
||||
|
|
Loading…
Reference in New Issue