mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
python: Upgrade both python and python-native to 2.7.14
Rebased: - python/01-use-proper-tools-for-cross-build.patch - python/fix-makefile-for-ptest.patch - python/parallel-makeinst-create-bindir.patch Removed Upstreamed Patch: - python/Don-t-use-getentropy-on-Linux.patch Updated license checksum for changes in the copyright date. The license terms remain unchanged Added an extra do_compile item to create the native pgen that no longer gets compiled by default (From OE-Core rev: 9f2de4f9cf1eb6de75dc789bd0549f45c7a68c55) (From OE-Core rev: 00bdc9752e76fb66bb7eb8d6c3249aa031f14fdb) Signed-off-by: Derek Straka <derek@asterius.io> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> [Bug fix release only] CVE-2017-9233 CVE-2016-0718 CVE-2012-0876 CVE-2016-4472 Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
a47d077ff4
commit
5a353c4210
|
|
@ -39,6 +39,12 @@ do_configure_append() {
|
|||
autoreconf --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi
|
||||
}
|
||||
|
||||
# Regenerate all of the generated files
|
||||
# This ensures that pgen and friends get created during the compile phase
|
||||
do_compile_prepend() {
|
||||
oe_runmake regen-all
|
||||
}
|
||||
|
||||
do_install() {
|
||||
oe_runmake 'DESTDIR=${D}' install
|
||||
install -d ${D}${bindir}/${PN}
|
||||
|
|
@ -5,12 +5,12 @@ SECTION = "devel/python"
|
|||
# bump this on every change in contrib/python/generate-manifest-2.7.py
|
||||
INC_PR = "r1"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=6b60258130e4ed10d3101517eb5b9385"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=f741e51de91d4eeea5930b9c3c7fa69d"
|
||||
|
||||
SRC_URI = "http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz"
|
||||
|
||||
SRC_URI[md5sum] = "53b43534153bb2a0363f08bae8b9d990"
|
||||
SRC_URI[sha256sum] = "35d543986882f78261f97787fd3e06274bfa6df29fac9b4a94f73930ff98f731"
|
||||
SRC_URI[md5sum] = "1f6db41ad91d9eb0a6f0c769b8613c5b"
|
||||
SRC_URI[sha256sum] = "71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66"
|
||||
|
||||
# python recipe is actually python 2.x
|
||||
# also, exclude pre-releases for both python 2.x and 3.x
|
||||
|
|
|
|||
|
|
@ -9,6 +9,9 @@ Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
|
|||
Rebased for python-2.7.9
|
||||
Signed-off-by: Alejandro Hernandez <alejandro.hernandez@linux.intel.com>
|
||||
|
||||
Rebased for python-2.7.14
|
||||
Signed-off-by: Derek Straka <derek@asterius.io>
|
||||
|
||||
Index: Python-2.7.13/Makefile.pre.in
|
||||
===================================================================
|
||||
--- Python-2.7.13.orig/Makefile.pre.in
|
||||
|
|
@ -30,14 +33,14 @@ Index: Python-2.7.13/Makefile.pre.in
|
|||
|
||||
# Create build directory and generate the sysconfig build-time data there.
|
||||
# pybuilddir.txt contains the name of the build dir and is used for
|
||||
@@ -681,7 +682,7 @@ Modules/pwdmodule.o: $(srcdir)/Modules/p
|
||||
|
||||
$(GRAMMAR_H): @GENERATED_COMMENT@ $(GRAMMAR_INPUT) $(PGEN)
|
||||
@@ -663,7 +663,7 @@
|
||||
# Regenerate Include/graminit.h and Python/graminit.c
|
||||
# from Grammar/Grammar using pgen
|
||||
@$(MKDIR_P) Include
|
||||
- $(PGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
+ $(HOSTPGEN) $(GRAMMAR_INPUT) $(GRAMMAR_H) $(GRAMMAR_C)
|
||||
$(GRAMMAR_C): @GENERATED_COMMENT@ $(GRAMMAR_H)
|
||||
touch $(GRAMMAR_C)
|
||||
- $(PGEN) $(srcdir)/Grammar/Grammar \
|
||||
+ $(HOSTPGEN) $(srcdir)/Grammar/Grammar \
|
||||
$(srcdir)/Include/graminit.h \
|
||||
$(srcdir)/Python/graminit.c
|
||||
|
||||
@@ -1121,27 +1122,27 @@ libinstall: build_all $(srcdir)/Lib/$(PL
|
||||
$(DESTDIR)$(LIBDEST)/distutils/tests ; \
|
||||
|
|
|
|||
|
|
@ -1,41 +0,0 @@
|
|||
Upstream-Status: Backport
|
||||
|
||||
Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
|
||||
|
||||
From 905d1b30ac7cb0e31c57cec0533825c8f170b942 Mon Sep 17 00:00:00 2001
|
||||
From: Victor Stinner <victor.stinner@gmail.com>
|
||||
Date: Mon, 9 Jan 2017 11:10:41 +0100
|
||||
Subject: [PATCH] Don't use getentropy() on Linux
|
||||
|
||||
Issue #29188: Support glibc 2.24 on Linux: don't use getentropy() function but
|
||||
read from /dev/urandom to get random bytes, for example in os.urandom(). On
|
||||
Linux, getentropy() is implemented which getrandom() is blocking mode, whereas
|
||||
os.urandom() should not block.
|
||||
|
||||
(cherry picked from commit 2687486756721e39164fa9f597e468c35d495227)
|
||||
---
|
||||
Python/random.c | 11 +++++++++--
|
||||
1 file changed, 9 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/Python/random.c b/Python/random.c
|
||||
index b4bc1f3..f3f5d14 100644
|
||||
--- a/Python/random.c
|
||||
+++ b/Python/random.c
|
||||
@@ -94,8 +94,15 @@ win32_urandom(unsigned char *buffer, Py_ssize_t size, int raise)
|
||||
}
|
||||
|
||||
/* Issue #25003: Don't use getentropy() on Solaris (available since
|
||||
- * Solaris 11.3), it is blocking whereas os.urandom() should not block. */
|
||||
-#elif defined(HAVE_GETENTROPY) && !defined(sun)
|
||||
+ Solaris 11.3), it is blocking whereas os.urandom() should not block.
|
||||
+
|
||||
+ Issue #29188: Don't use getentropy() on Linux since the glibc 2.24
|
||||
+ implements it with the getrandom() syscall which can fail with ENOSYS,
|
||||
+ and this error is not supported in py_getentropy() and getrandom() is called
|
||||
+ with flags=0 which blocks until system urandom is initialized, which is not
|
||||
+ the desired behaviour to seed the Python hash secret nor for os.urandom():
|
||||
+ see the PEP 524 which was only implemented in Python 3.6. */
|
||||
+#elif defined(HAVE_GETENTROPY) && !defined(sun) && !defined(linux)
|
||||
#define PY_GETENTROPY 1
|
||||
|
||||
/* Fill buffer with size pseudo-random bytes generated by getentropy().
|
||||
|
|
@ -15,7 +15,7 @@ diff -ruN a/Makefile.pre.in b/Makefile.pre.in
|
|||
+TESTOPTS= -l -v $(EXTRATESTOPTS)
|
||||
TESTPROG= $(srcdir)/Lib/test/regrtest.py
|
||||
-TESTPYTHON= $(RUNSHARED) ./$(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS)
|
||||
-test: all platform
|
||||
-test: @DEF_MAKE_RULE@ platform
|
||||
- -find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
|
||||
+TESTPYTHON= $(RUNSHARED) $(BUILDPYTHON) -Wd -3 -E -tt $(TESTPYTHONOPTS)
|
||||
+test: build-test
|
||||
|
|
@ -26,8 +26,8 @@ diff -ruN a/Makefile.pre.in b/Makefile.pre.in
|
|||
-$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
|
||||
$(TESTPYTHON) $(TESTPROG) $(TESTOPTS)
|
||||
|
||||
+build-test: all platform
|
||||
+build-test: @DEF_MAKE_RULE@ platform
|
||||
+
|
||||
testall: all platform
|
||||
testall: @DEF_MAKE_RULE@ platform
|
||||
-find $(srcdir)/Lib -name '*.py[co]' -print | xargs rm -f
|
||||
$(TESTPYTHON) $(srcdir)/Lib/compileall.py
|
||||
|
|
|
|||
|
|
@ -8,12 +8,12 @@ Upstream-Status: Pending
|
|||
|
||||
--- Python-2.7.3.orig/Makefile.pre.in
|
||||
+++ Python-2.7.3/Makefile.pre.in
|
||||
@@ -1008,7 +1008,7 @@ LIBPL= $(LIBP)/config
|
||||
@@ -1187,7 +1187,7 @@
|
||||
LIBPC= $(LIBDIR)/pkgconfig
|
||||
|
||||
libainstall: all python-config
|
||||
|
||||
libainstall: @DEF_MAKE_RULE@ python-config
|
||||
- @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC); \
|
||||
+ @for i in $(LIBDIR) $(LIBP) $(LIBPL) $(LIBPC) $(BINDIR); \
|
||||
do \
|
||||
if test ! -d $(DESTDIR)$$i; then \
|
||||
echo "Creating directory $$i"; \
|
||||
do \
|
||||
if test ! -d $(DESTDIR)$$i; then \
|
||||
echo "Creating directory $$i"; \
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ SRC_URI += "\
|
|||
file://parallel-makeinst-create-bindir.patch \
|
||||
file://use_sysroot_ncurses_instead_of_host.patch \
|
||||
file://add-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch \
|
||||
file://Don-t-use-getentropy-on-Linux.patch \
|
||||
file://pass-missing-libraries-to-Extension-for-mul.patch \
|
||||
file://support_SOURCE_DATE_EPOCH_in_py_compile_2.7.patch \
|
||||
"
|
||||
Loading…
Reference in New Issue
Block a user