sync with master branch to backport some fixes
- Use 1024bit DH key in test_ssl (Matej Stuchlik) - Use -O0 when compiling -debug build (Matej Stuchlik) - Update pip version variable to the version we actually ship (Matej Stuchlik) - Fixed undefined behaviour in faulthandler which caused test to hang on x86_64 (http://bugs.python.org/issue23433) (Matej Stuchlik)
This commit is contained in:
parent
cb053c7ab8
commit
db8996cc76
41
00202-fix-undefined-behaviour-in-faulthandler.patch
Normal file
41
00202-fix-undefined-behaviour-in-faulthandler.patch
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Victor Stinner <victor.stinner@gmail.com>
|
||||||
|
# Date 1423661015 -3600
|
||||||
|
# Node ID 689092296ad31951f8f919fc06b49450e648e93d
|
||||||
|
# Parent 645f3d750be139ce0198e15e221da07b22289a92
|
||||||
|
Issue #23433: Fix faulthandler._stack_overflow()
|
||||||
|
|
||||||
|
Fix undefined behaviour: don't compare pointers. Use Py_uintptr_t type instead
|
||||||
|
of void*. It fixes test_faulthandler on Fedora 22 which now uses GCC 5.
|
||||||
|
|
||||||
|
diff --git a/Modules/faulthandler.c b/Modules/faulthandler.c
|
||||||
|
--- a/Modules/faulthandler.c
|
||||||
|
+++ b/Modules/faulthandler.c
|
||||||
|
@@ -911,12 +911,12 @@ faulthandler_fatal_error_py(PyObject *se
|
||||||
|
}
|
||||||
|
|
||||||
|
#if defined(HAVE_SIGALTSTACK) && defined(HAVE_SIGACTION)
|
||||||
|
-static void*
|
||||||
|
-stack_overflow(void *min_sp, void *max_sp, size_t *depth)
|
||||||
|
+static Py_uintptr_t
|
||||||
|
+stack_overflow(Py_uintptr_t min_sp, Py_uintptr_t max_sp, size_t *depth)
|
||||||
|
{
|
||||||
|
/* allocate 4096 bytes on the stack at each call */
|
||||||
|
unsigned char buffer[4096];
|
||||||
|
- void *sp = &buffer;
|
||||||
|
+ Py_uintptr_t sp = (Py_uintptr_t)&buffer;
|
||||||
|
*depth += 1;
|
||||||
|
if (sp < min_sp || max_sp < sp)
|
||||||
|
return sp;
|
||||||
|
@@ -929,7 +929,8 @@ static PyObject *
|
||||||
|
faulthandler_stack_overflow(PyObject *self)
|
||||||
|
{
|
||||||
|
size_t depth, size;
|
||||||
|
- char *sp = (char *)&depth, *stop;
|
||||||
|
+ Py_uintptr_t sp = (Py_uintptr_t)&depth;
|
||||||
|
+ Py_uintptr_t stop;
|
||||||
|
|
||||||
|
depth = 0;
|
||||||
|
stop = stack_overflow(sp - STACK_OVERFLOW_MAX_SIZE,
|
||||||
|
|
11
00203-disable-threading-test-koji.patch
Normal file
11
00203-disable-threading-test-koji.patch
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
diff -up Python-3.4.3/Lib/test/test_threading.py.mstuchli Python-3.4.3/Lib/test/test_threading.py
|
||||||
|
--- Python-3.4.3/Lib/test/test_threading.py.mstuchli 2015-03-10 10:00:42.917355215 +0100
|
||||||
|
+++ Python-3.4.3/Lib/test/test_threading.py 2015-03-10 10:00:47.735373842 +0100
|
||||||
|
@@ -988,6 +988,7 @@ class ThreadingExceptionTests(BaseTestCa
|
||||||
|
self.assertIn("ZeroDivisionError", err)
|
||||||
|
self.assertNotIn("Unhandled exception", err)
|
||||||
|
|
||||||
|
+ @unittest.skip('Fails in Koji due to mishandled signals')
|
||||||
|
def test_print_exception_stderr_is_none_1(self):
|
||||||
|
script = r"""if True:
|
||||||
|
import sys
|
49
00204-increase-dh-keys-size.patch
Normal file
49
00204-increase-dh-keys-size.patch
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
|
||||||
|
# HG changeset patch
|
||||||
|
# User Benjamin Peterson <benjamin@python.org>
|
||||||
|
# Date 1427947446 14400
|
||||||
|
# Node ID 1ad7c0253abe1252128d61c3d0127d22144cb354
|
||||||
|
# Parent 47451f6e7e7528a6647dbdc435e9a9f5c13c0080
|
||||||
|
replace 512 bit dh key with a 2014 bit one (closes #23844)
|
||||||
|
|
||||||
|
Patch by Cédric Krier.
|
||||||
|
|
||||||
|
diff --git a/Lib/test/dh1024.pem b/Lib/test/dh1024.pem
|
||||||
|
new file mode 100644
|
||||||
|
--- /dev/null
|
||||||
|
+++ b/Lib/test/dh1024.pem
|
||||||
|
@@ -0,0 +1,7 @@
|
||||||
|
+-----BEGIN DH PARAMETERS-----
|
||||||
|
+MIGHAoGBAIbzw1s9CT8SV5yv6L7esdAdZYZjPi3qWFs61CYTFFQnf2s/d09NYaJt
|
||||||
|
+rrvJhIzWavqnue71qXCf83/J3nz3FEwUU/L0mGyheVbsSHiI64wUo3u50wK5Igo0
|
||||||
|
+RNs/LD0irs7m0icZ//hijafTU+JOBiuA8zMI+oZfU7BGuc9XrUprAgEC
|
||||||
|
+-----END DH PARAMETERS-----
|
||||||
|
+
|
||||||
|
+Generated with: openssl dhparam -out dh1024.pem 1024
|
||||||
|
diff --git a/Lib/test/dh512.pem b/Lib/test/dh512.pem
|
||||||
|
deleted file mode 100644
|
||||||
|
--- a/Lib/test/dh512.pem
|
||||||
|
+++ /dev/null
|
||||||
|
@@ -1,9 +0,0 @@
|
||||||
|
------BEGIN DH PARAMETERS-----
|
||||||
|
-MEYCQQD1Kv884bEpQBgRjXyEpwpy1obEAxnIByl6ypUM2Zafq9AKUJsCRtMIPWak
|
||||||
|
-XUGfnHy9iUsiGSa6q6Jew1XpKgVfAgEC
|
||||||
|
------END DH PARAMETERS-----
|
||||||
|
-
|
||||||
|
-These are the 512 bit DH parameters from "Assigned Number for SKIP Protocols"
|
||||||
|
-(http://www.skip-vpn.org/spec/numbers.html).
|
||||||
|
-See there for how they were generated.
|
||||||
|
-Note that g is not a generator, but this is not a problem since p is a safe prime.
|
||||||
|
diff --git a/Lib/test/test_ssl.py b/Lib/test/test_ssl.py
|
||||||
|
--- a/Lib/test/test_ssl.py
|
||||||
|
+++ b/Lib/test/test_ssl.py
|
||||||
|
@@ -64,7 +64,7 @@ BADKEY = data_file("badkey.pem")
|
||||||
|
NOKIACERT = data_file("nokia.pem")
|
||||||
|
NULLBYTECERT = data_file("nullbytecert.pem")
|
||||||
|
|
||||||
|
-DHFILE = data_file("dh512.pem")
|
||||||
|
+DHFILE = data_file("dh1024.pem")
|
||||||
|
BYTES_DHFILE = os.fsencode(DHFILE)
|
||||||
|
|
||||||
|
|
||||||
|
|
34
python3.spec
34
python3.spec
@ -140,7 +140,7 @@
|
|||||||
Summary: Version 3 of the Python programming language aka Python 3000
|
Summary: Version 3 of the Python programming language aka Python 3000
|
||||||
Name: python3
|
Name: python3
|
||||||
Version: %{pybasever}.2
|
Version: %{pybasever}.2
|
||||||
Release: 5%{?dist}
|
Release: 6%{?dist}
|
||||||
License: Python
|
License: Python
|
||||||
Group: Development/Languages
|
Group: Development/Languages
|
||||||
|
|
||||||
@ -722,6 +722,16 @@ Patch200: 00200-gettext-plural-fix.patch
|
|||||||
# Note: Backported from scl
|
# Note: Backported from scl
|
||||||
Patch201: 00201-fix-memory-leak-in-gdbm.patch
|
Patch201: 00201-fix-memory-leak-in-gdbm.patch
|
||||||
|
|
||||||
|
# 00202 #
|
||||||
|
# Fixes undefined behaviour in faulthandler which caused test to hang on x86_64
|
||||||
|
# http://bugs.python.org/issue23433
|
||||||
|
Patch202: 00202-fix-undefined-behaviour-in-faulthandler.patch
|
||||||
|
|
||||||
|
# test_threading fails in koji dues to it's handling of signals
|
||||||
|
Patch203: 00203-disable-threading-test-koji.patch
|
||||||
|
|
||||||
|
# openssl requires DH keys to be > 768bits
|
||||||
|
Patch204: 00204-increase-dh-keys-size.patch
|
||||||
|
|
||||||
# (New patches go here ^^^)
|
# (New patches go here ^^^)
|
||||||
#
|
#
|
||||||
@ -902,6 +912,11 @@ for f in md5module.c sha1module.c sha256module.c sha512module.c; do
|
|||||||
rm Modules/$f
|
rm Modules/$f
|
||||||
done
|
done
|
||||||
|
|
||||||
|
%if 0%{with_rewheel}
|
||||||
|
%global pip_version 7.0.3
|
||||||
|
sed -r -i s/'_PIP_VERSION = "[0-9.]+"'/'_PIP_VERSION = "%{pip_version}"'/ Lib/ensurepip/__init__.py
|
||||||
|
%endif
|
||||||
|
|
||||||
#
|
#
|
||||||
# Apply patches:
|
# Apply patches:
|
||||||
#
|
#
|
||||||
@ -1004,6 +1019,9 @@ done
|
|||||||
%patch196 -p1
|
%patch196 -p1
|
||||||
# 00197: upstream as of Python 3.4.2
|
# 00197: upstream as of Python 3.4.2
|
||||||
%patch199 -p1
|
%patch199 -p1
|
||||||
|
%patch202 -p1
|
||||||
|
%patch203 -p1
|
||||||
|
%patch204 -p1
|
||||||
|
|
||||||
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
|
# Currently (2010-01-15), http://docs.python.org/library is for 2.6, and there
|
||||||
# are many differences between 2.6 and the Python 3 library.
|
# are many differences between 2.6 and the Python 3 library.
|
||||||
@ -1121,7 +1139,8 @@ BuildPython debug \
|
|||||||
%else
|
%else
|
||||||
"--with-pydebug --with-count-allocs --with-call-profile --without-ensurepip" \
|
"--with-pydebug --with-count-allocs --with-call-profile --without-ensurepip" \
|
||||||
%endif
|
%endif
|
||||||
false
|
false \
|
||||||
|
-O0
|
||||||
%endif # with_debug_build
|
%endif # with_debug_build
|
||||||
|
|
||||||
BuildPython optimized \
|
BuildPython optimized \
|
||||||
@ -1194,7 +1213,8 @@ make install DESTDIR=%{buildroot} INSTALL="install -p"
|
|||||||
# Install the "debug" build first, so that we can move some files aside
|
# Install the "debug" build first, so that we can move some files aside
|
||||||
%if 0%{?with_debug_build}
|
%if 0%{?with_debug_build}
|
||||||
InstallPython debug \
|
InstallPython debug \
|
||||||
%{py_INSTSONAME_debug}
|
%{py_INSTSONAME_debug} \
|
||||||
|
-O0
|
||||||
%endif # with_debug_build
|
%endif # with_debug_build
|
||||||
|
|
||||||
# Now the optimized build:
|
# Now the optimized build:
|
||||||
@ -1892,6 +1912,14 @@ rm -fr %{buildroot}
|
|||||||
# ======================================================
|
# ======================================================
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Jul 09 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.4.2-6
|
||||||
|
- sync with master branch to backport some fixes
|
||||||
|
- Use 1024bit DH key in test_ssl (Matej Stuchlik)
|
||||||
|
- Use -O0 when compiling -debug build (Matej Stuchlik)
|
||||||
|
- Update pip version variable to the version we actually ship (Matej Stuchlik)
|
||||||
|
- Fixed undefined behaviour in faulthandler which caused test to hang on x86_64
|
||||||
|
(http://bugs.python.org/issue23433) (Matej Stuchlik)
|
||||||
|
|
||||||
* Mon Jun 29 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.4.2-5
|
* Mon Jun 29 2015 Thomas Spura <tomspur@fedoraproject.org> - 3.4.2-5
|
||||||
- python3-devel: Require python-macros for version independant macros such as
|
- python3-devel: Require python-macros for version independant macros such as
|
||||||
python_provide. See fpc#281 and fpc#534.
|
python_provide. See fpc#281 and fpc#534.
|
||||||
|
Loading…
Reference in New Issue
Block a user