]> code.ossystems Code Review - openembedded-core.git/commitdiff
python: Upgrade both python and python-native to 2.7.14
authorDerek Straka <derek@asterius.io>
Fri, 26 Jan 2018 19:25:31 +0000 (14:25 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Thu, 13 Sep 2018 09:55:13 +0000 (10:55 +0100)
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)

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>
meta/recipes-devtools/python/python-native_2.7.14.bb [moved from meta/recipes-devtools/python/python-native_2.7.13.bb with 92% similarity]
meta/recipes-devtools/python/python.inc
meta/recipes-devtools/python/python/01-use-proper-tools-for-cross-build.patch
meta/recipes-devtools/python/python/Don-t-use-getentropy-on-Linux.patch [deleted file]
meta/recipes-devtools/python/python/fix-makefile-for-ptest.patch
meta/recipes-devtools/python/python/parallel-makeinst-create-bindir.patch
meta/recipes-devtools/python/python_2.7.14.bb [moved from meta/recipes-devtools/python/python_2.7.13.bb with 99% similarity]

similarity index 92%
rename from meta/recipes-devtools/python/python-native_2.7.13.bb
rename to meta/recipes-devtools/python/python-native_2.7.14.bb
index 7edf15348920c137ea3dbd3159ff1353a7cbd48d..8fe4bcac16cd16c7eac5ca07906ed51071720a56 100644 (file)
@@ -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}
index b40f551ab39fda69f19c4ea37d7ec755f826acba..979b601bf1b22e5283b924b84dff8b7777d7cf5f 100644 (file)
@@ -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
index 366ce3e400a7f8a93cf3c0b8435d39e8388206f5..e795a74b911b14e4e3f53df48d1a8eaca6b2a9f1 100644 (file)
@@ -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 ; \
diff --git a/meta/recipes-devtools/python/python/Don-t-use-getentropy-on-Linux.patch b/meta/recipes-devtools/python/python/Don-t-use-getentropy-on-Linux.patch
deleted file mode 100644 (file)
index 38e5377..0000000
+++ /dev/null
@@ -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().
index 669112dab0ba18a82cc2f8a29655f92c7959c22b..90dcd57c0488d0eadaa0a1e7e2dcfbab610403ec 100644 (file)
@@ -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
index 951cb466ffed6844a6f21edff1a523d24c6abc0b..abab41e95771ccd8188fbf530c061b7d84ccc007 100644 (file)
@@ -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"; \
similarity index 99%
rename from meta/recipes-devtools/python/python_2.7.13.bb
rename to meta/recipes-devtools/python/python_2.7.14.bb
index 754c029097f97fb775c88a51c7757ad64fc691d1..e814ff74f705791c89ee3ecfd41b74ff373b29a8 100644 (file)
@@ -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 \
 "