<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">Am 07.09.2018 um 16:55 schrieb Jens Rehsack &lt;<a href="mailto:sno@NetBSD.org" class="">sno@NetBSD.org</a>&gt;:<br class=""><div><blockquote type="cite" class=""><br class="Apple-interchange-newline"><div class=""><div class="">Update python3 to recent 3.7.0 release.<br class=""><br class="">Details about new features and bug-fixes can be taken from<br class="">* <a href="https://docs.python.org/3/whatsnew/3.7.html" class="">https://docs.python.org/3/whatsnew/3.7.html</a><br class="">* <a href="https://docs.python.org/3/whatsnew/3.6.html" class="">https://docs.python.org/3/whatsnew/3.6.html</a><br class=""><br class="">Instead of using a common inc with python2 and override most of<br class="">it's settings, introduce a dedicated python3.inc.<br class=""><br class="">Remove patches when they were fixed upstream and rebase the<br class="">remaining ones. If necessary, the patches are adopted to<br class="">keep the idea when upstream code was changed.<br class=""><br class="">Open TODO: track patches in a -STABLE rebased git branch for<br class="">easier rebasing or upstream submitting.<br class=""><br class="">Enhancement requests for Yocto project<br class="">* <a href="https://bugzilla.yoctoproject.org/show_bug.cgi?id=12375" class="">https://bugzilla.yoctoproject.org/show_bug.cgi?id=12375</a><br class="">* <a href="https://bugzilla.yoctoproject.org/show_bug.cgi?id=12901" class="">https://bugzilla.yoctoproject.org/show_bug.cgi?id=12901</a><br class="">are solved by this.<br class=""><br class="">Signed-off-by: Jens Rehsack &lt;<a href="mailto:sno@netbsd.org" class="">sno@netbsd.org</a>&gt;<br class="">---<br class=""> meta/classes/python3-dir.bbclass &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;6 +-<br class=""> .../python/python3-native_3.5.5.bb &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| 112 ------<br class=""> .../python/python3-native_3.7.0.bb &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;74 ++++<br class=""> meta/recipes-devtools/python/python3.inc &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;80 ++++<br class=""> ...hell-version-of-python-config-that-w.patch | &nbsp;21 +-<br class=""> ..._sysconfigdata.py-to-initialize-dist.patch | &nbsp;66 ----<br class=""> .../python3/0001-cross-compile-support.patch &nbsp;| &nbsp;66 ++--<br class=""> ...d-target-to-split-profile-generation.patch | &nbsp;40 --<br class=""> .../python3/03-fix-tkinter-detection.patch &nbsp;&nbsp;&nbsp;| &nbsp;12 +-<br class=""> .../python3/030-fixup-include-dirs.patch &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;9 -<br class=""> .../080-distutils-dont_adjust_files.patch &nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;4 +-<br class=""> .../python/python3/150-fix-setupterm.patch &nbsp;&nbsp;&nbsp;| &nbsp;17 -<br class=""> ...GS-for-extensions-when-cross-compili.patch | &nbsp;53 ++-<br class=""> .../python3/avoid-ncursesw-include-path.patch | &nbsp;18 +-<br class=""> .../python3/avoid_warning_about_tkinter.patch | &nbsp;18 +-<br class=""> .../python3/configure.ac-fix-LIBPL.patch &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;21 +-<br class=""> ...ssing-libraries-to-Extension-for-mul.patch | &nbsp;26 +-<br class=""> .../python/python3/python-3.3-multilib.patch &nbsp;| 241 ++++++------<br class=""> .../python/python3/python3-manifest.json &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;&nbsp;2 +-<br class=""> ...CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch | &nbsp;17 +-<br class=""> .../python/python3/regen-all.patch &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;25 --<br class=""> ...port_SOURCE_DATE_EPOCH_in_py_compile.patch | &nbsp;36 +-<br class=""> .../python3/sysroot-include-headers.patch &nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;23 +-<br class=""> .../python3/uuid_when_cross_compiling.patch &nbsp;&nbsp;| &nbsp;22 ++<br class=""> meta/recipes-devtools/python/python3_3.5.5.bb | 346 ------------------<br class=""> meta/recipes-devtools/python/python3_3.7.0.bb | 316 ++++++++++++++++<br class=""> 26 files changed, 783 insertions(+), 888 deletions(-)<br class=""> delete mode 100644 meta/recipes-devtools/python/python3-native_3.5.5.bb<br class=""> create mode 100644 meta/recipes-devtools/python/python3-native_3.7.0.bb<br class=""> create mode 100644 meta/recipes-devtools/python/python3.inc<br class=""> delete mode 100644 meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch<br class=""> delete mode 100644 meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch<br class=""> delete mode 100644 meta/recipes-devtools/python/python3/150-fix-setupterm.patch<br class=""> delete mode 100644 meta/recipes-devtools/python/python3/regen-all.patch<br class=""> create mode 100644 meta/recipes-devtools/python/python3/uuid_when_cross_compiling.patch<br class=""> delete mode 100644 meta/recipes-devtools/python/python3_3.5.5.bb<br class=""> create mode 100644 meta/recipes-devtools/python/python3_3.7.0.bb<br class=""><br class="">diff --git a/meta/classes/python3-dir.bbclass b/meta/classes/python3-dir.bbclass<br class="">index 06bb046d9c..26d2b6668b 100644<br class="">--- a/meta/classes/python3-dir.bbclass<br class="">+++ b/meta/classes/python3-dir.bbclass<br class="">@@ -1,4 +1,8 @@<br class="">-PYTHON_BASEVERSION = "3.5"<br class="">+PYTHON_BASEVERSION = "3.7"<br class="">+# [d][m]<br class="">+# d: py_debug<br class="">+# m: my_malloc<br class="">+# u: wide-char unicode<br class=""> PYTHON_ABI = "m"<br class=""> PYTHON_DIR = "python${PYTHON_BASEVERSION}"<br class=""> PYTHON_PN = "python3"<br class="">diff --git a/meta/recipes-devtools/python/python3-native_3.5.5.bb b/meta/recipes-devtools/python/python3-native_3.5.5.bb<br class="">deleted file mode 100644<br class="">index 3098027d80..0000000000<br class="">--- a/meta/recipes-devtools/python/python3-native_3.5.5.bb<br class="">+++ /dev/null<br class="">@@ -1,112 +0,0 @@<br class="">-require recipes-devtools/python/python.inc<br class="">-<br class="">-PR = "${INC_PR}.0"<br class="">-PYTHON_MAJMIN = "3.5"<br class="">-DISTRO_SRC_URI ?= "<a href="file://sitecustomize.py" class="">file://sitecustomize.py</a>"<br class="">-DISTRO_SRC_URI_linuxstdbase = ""<br class="">-SRC_URI = "<a href="http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" class="">http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz</a> \<br class="">-<a href="file://12-distutils-prefix-is-inside-staging-area.patch" class="">file://12-distutils-prefix-is-inside-staging-area.patch</a> \<br class="">-<a href="file://python-config.patch" class="">file://python-config.patch</a> \<br class="">-<a href="file://0001-cross-compile-support.patch" class="">file://0001-cross-compile-support.patch</a> \<br class="">-<a href="file://030-fixup-include-dirs.patch" class="">file://030-fixup-include-dirs.patch</a> \<br class="">-<a href="file://070-dont-clean-ipkg-install.patch" class="">file://070-dont-clean-ipkg-install.patch</a> \<br class="">-<a href="file://080-distutils-dont_adjust_files.patch" class="">file://080-distutils-dont_adjust_files.patch</a> \<br class="">-<a href="file://130-readline-setup.patch" class="">file://130-readline-setup.patch</a> \<br class="">-<a href="file://150-fix-setupterm.patch" class="">file://150-fix-setupterm.patch</a> \<br class="">-<a href="file://python-3.3-multilib.patch" class="">file://python-3.3-multilib.patch</a> \<br class="">-<a href="file://03-fix-tkinter-detection.patch" class="">file://03-fix-tkinter-detection.patch</a> \<br class="">-<a href="file://avoid_warning_about_tkinter.patch" class="">file://avoid_warning_about_tkinter.patch</a> \<br class="">-<a href="file://shutil-follow-symlink-fix.patch" class="">file://shutil-follow-symlink-fix.patch</a> \<br class="">-<a href="file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch" class="">file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch</a> \<br class="">-<a href="file://sysroot-include-headers.patch" class="">file://sysroot-include-headers.patch</a> \<br class="">-<a href="file://unixccompiler.patch" class="">file://unixccompiler.patch</a> \<br class="">-${DISTRO_SRC_URI} \<br class="">-<a href="file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch" class="">file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch</a> \<br class="">-<a href="file://setup.py-check-cross_compiling-when-get-FLAGS.patch" class="">file://setup.py-check-cross_compiling-when-get-FLAGS.patch</a> \<br class="">-<a href="file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch" class="">file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch</a> \<br class="">-<a href="file://support_SOURCE_DATE_EPOCH_in_py_compile.patch" class="">file://support_SOURCE_DATE_EPOCH_in_py_compile.patch</a> \<br class="">-<a href="file://regen-all.patch" class="">file://regen-all.patch</a> \<br class="">-"<br class="">-<br class="">-SRC_URI[md5sum] = "f3763edf9824d5d3a15f5f646083b6e0"<br class="">-SRC_URI[sha256sum] = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009"<br class="">-<br class="">-LIC_FILES_CHKSUM = "<a href="file://LICENSE;md5=b6ec515b22618f55fa07276b897bacea" class="">file://LICENSE;md5=b6ec515b22618f55fa07276b897bacea</a>"<br class="">-<br class="">-# exclude pre-releases for both python 2.x and 3.x<br class="">-UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P&lt;pver&gt;\d+(\.\d+)+).tar"<br class="">-<br class="">-S = "${WORKDIR}/Python-${PV}"<br class="">-<br class="">-EXTRANATIVEPATH += "bzip2-native"<br class="">-DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native gdbm-native"<br class="">-<br class="">-inherit native<br class="">-<br class="">-EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --without-ensurepip"<br class="">-<br class="">-EXTRA_OEMAKE = '\<br class="">- &nbsp;LIBC="" \<br class="">- &nbsp;STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \<br class="">- &nbsp;STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \<br class="">- &nbsp;LIB=${baselib} \<br class="">- &nbsp;ARCH=${TARGET_ARCH} \<br class="">-'<br class="">-<br class="">-# No ctypes option for python 3<br class="">-PYTHONLSBOPTS = ""<br class="">-<br class="">-do_configure_append() {<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>autoreconf --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e 's,#define HAVE_GETRANDOM 1,/\* #undef HAVE_GETRANDOM \*/,' ${B}/pyconfig.h<br class="">-}<br class="">-<br class="">-# Regenerate all of the generated files<br class="">-# This ensures that pgen and friends get created during the compile phase<br class="">-#<br class="">-do_compile_prepend() {<br class="">- &nbsp;&nbsp;&nbsp;# Assuming <a href="https://bugs.python.org/issue33080" class="">https://bugs.python.org/issue33080</a> has been addressed in Makefile.<br class="">- &nbsp;&nbsp;&nbsp;oe_runmake regen-all<br class="">-}<br class="">-<br class="">-do_install() {<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${libdir}/pkgconfig<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>oe_runmake 'DESTDIR=${D}' install<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>if [ -e ${WORKDIR}/sitecustomize.py ]; then<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${bindir}/${PN}<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0755 Parser/pgen ${D}${bindir}/${PN}<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># Make sure we use /usr/bin/env python<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>done<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Add a symlink to the native Python so that scripts can just invoke<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# "nativepython" and get the right one without needing absolute paths<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (these often end up too long for the #! parser in the kernel as the<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# buffer is 128 bytes long).<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ln -s python3-native/python3 ${D}${bindir}/nativepython3<br class="">-}<br class="">-<br class="">-python(){<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;# Read JSON manifest<br class="">- &nbsp;&nbsp;&nbsp;import json<br class="">- &nbsp;&nbsp;&nbsp;pythondir = d.getVar('THISDIR',True)<br class="">- &nbsp;&nbsp;&nbsp;with open(pythondir+'/python3/python3-manifest.json') as manifest_file:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;python_manifest=json.load(manifest_file)<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;rprovides = d.getVar('RPROVIDES').split()<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;# Hardcoded since it cant be python3-native-foo, should be python3-foo-native<br class="">- &nbsp;&nbsp;&nbsp;pn = 'python3'<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;for key in python_manifest:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pypackage = pn + '-' + key + '-native'<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if pypackage not in rprovides:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rprovides.append(pypackage)<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;d.setVar('RPROVIDES', ' '.join(rprovides))<br class="">-}<br class="">diff --git a/meta/recipes-devtools/python/python3-native_3.7.0.bb b/meta/recipes-devtools/python/python3-native_3.7.0.bb<br class="">new file mode 100644<br class="">index 0000000000..fdbc9888b9<br class="">--- /dev/null<br class="">+++ b/meta/recipes-devtools/python/python3-native_3.7.0.bb<br class="">@@ -0,0 +1,74 @@<br class="">+require recipes-devtools/python/python3.inc<br class="">+<br class="">+SRC_URI += "\<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///12-distutils-prefix-is-inside-staging-area.patch" class="">file://12-distutils-prefix-is-inside-staging-area.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///0001-Do-not-use-the-shell-version-of-python-config-that-w.patch" class="">file://0001-Do-not-use-the-shell-version-of-python-config-that-w.patch</a> \<br class="">+"<br class="">+<br class="">+EXTRANATIVEPATH += "bzip2-native"<br class="">+DEPENDS = "openssl-native libffi-native bzip2-replacement-native zlib-native readline-native sqlite3-native gdbm-native"<br class="">+<br class="">+inherit native<br class="">+<br class="">+EXTRA_OECONF_append = " --bindir=${bindir}/${PN} --without-ensurepip"<br class="">+<br class="">+EXTRA_OEMAKE = '\<br class="">+ &nbsp;LIBC="" \<br class="">+ &nbsp;STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \<br class="">+ &nbsp;STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \<br class="">+ &nbsp;LIB=${baselib} \<br class="">+ &nbsp;ARCH=${TARGET_ARCH} \<br class="">+'<br class="">+<br class="">+# No ctypes option for python 3<br class="">+PYTHONLSBOPTS = ""<br class="">+<br class="">+# Regenerate all of the generated files<br class="">+# This ensures that pgen and friends get created during the compile phase<br class="">+#<br class="">+do_compile_prepend() {<br class="">+ &nbsp;&nbsp;&nbsp;# Assuming <a href="https://bugs.python.org/issue33080" class="">https://bugs.python.org/issue33080</a> has been addressed in Makefile.<br class="">+ &nbsp;&nbsp;&nbsp;oe_runmake regen-all<br class="">+}<br class="">+<br class="">+do_install() {<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${libdir}/pkgconfig<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>oe_runmake 'DESTDIR=${D}' install<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>if [ -e ${WORKDIR}/sitecustomize.py ]; then<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${bindir}/${PN}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0755 Parser/pgen ${D}${bindir}/${PN}<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># Make sure we use /usr/bin/env python<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e '1s|^#!.*|#!/usr/bin/env python3|' $PYTHSCRIPT<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>done<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Add a symlink to the native Python so that scripts can just invoke<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# "nativepython" and get the right one without needing absolute paths<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (these often end up too long for the #! parser in the kernel as the<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# buffer is 128 bytes long).<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ln -s python3-native/python3 ${D}${bindir}/nativepython3<br class="">+}<br class="">+<br class="">+python(){<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;# Read JSON manifest<br class="">+ &nbsp;&nbsp;&nbsp;import json<br class="">+ &nbsp;&nbsp;&nbsp;pythondir = d.getVar('THISDIR',True)<br class="">+ &nbsp;&nbsp;&nbsp;with open(pythondir+'/python3/python3-manifest.json') as manifest_file:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;python_manifest=json.load(manifest_file)<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;rprovides = d.getVar('RPROVIDES').split()<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;# Hardcoded since it cant be python3-native-foo, should be python3-foo-native<br class="">+ &nbsp;&nbsp;&nbsp;pn = 'python3'<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;for key in python_manifest:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pypackage = pn + '-' + key + '-native'<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if pypackage not in rprovides:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rprovides.append(pypackage)<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;d.setVar('RPROVIDES', ' '.join(rprovides))<br class="">+}<br class="">diff --git a/meta/recipes-devtools/python/python3.inc b/meta/recipes-devtools/python/python3.inc<br class="">new file mode 100644<br class="">index 0000000000..44070fdbf7<br class="">--- /dev/null<br class="">+++ b/meta/recipes-devtools/python/python3.inc<br class="">@@ -0,0 +1,80 @@<br class="">+SUMMARY = "The Python Programming Language"<br class="">+HOMEPAGE = "<a href="http://www.python.org" class="">http://www.python.org</a>"<br class="">+LICENSE = "PSFv2"<br class="">+SECTION = "devel/python"<br class="">+# bump this on every change in contrib/python/generate-manifest-2.7.py<br class="">+INC_PR = "r1"<br class="">+<br class="">+PR = "${INC_PR}.0"<br class="">+PYTHON_MAJMIN = "3.7"<br class="">+DISTRO_SRC_URI ?= "<a href="file://sitecustomize.py" class="">file://sitecustomize.py</a>"<br class="">+DISTRO_SRC_URI_linuxstdbase = ""<br class="">+SRC_URI = "<a href="http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" class="">http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///python-config.patch" class="">file://python-config.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///python-3.3-multilib.patch" class="">file://python-3.3-multilib.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///03-fix-tkinter-detection.patch" class="">file://03-fix-tkinter-detection.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///avoid_warning_about_tkinter.patch" class="">file://avoid_warning_about_tkinter.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///unixccompiler.patch" class="">file://unixccompiler.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///sysroot-include-headers.patch" class="">file://sysroot-include-headers.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///shutil-follow-symlink-fix.patch" class="">file://shutil-follow-symlink-fix.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///sysconfig.py-add-_PYTHON_PROJECT_SRC.patch" class="">file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///setup.py-check-cross_compiling-when-get-FLAGS.patch" class="">file://setup.py-check-cross_compiling-when-get-FLAGS.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///0001-cross-compile-support.patch" class="">file://0001-cross-compile-support.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///030-fixup-include-dirs.patch" class="">file://030-fixup-include-dirs.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///070-dont-clean-ipkg-install.patch" class="">file://070-dont-clean-ipkg-install.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///080-distutils-dont_adjust_files.patch" class="">file://080-distutils-dont_adjust_files.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///130-readline-setup.patch" class="">file://130-readline-setup.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch" class="">file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;${DISTRO_SRC_URI} \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///support_SOURCE_DATE_EPOCH_in_py_compile.patch" class="">file://support_SOURCE_DATE_EPOCH_in_py_compile.patch</a> \<br class="">+"<br class="">+<br class="">+SRC_URI[md5sum] = "eb8c2a6b1447d50813c02714af4681f3"<br class="">+SRC_URI[sha256sum] = "0382996d1ee6aafe59763426cf0139ffebe36984474d0ec4126dd1c40a8b3549"<br class="">+<br class="">+LIC_FILES_CHKSUM = "<a href="file://LICENSE;md5=f257cc14f81685691652a3d3e1b5d754" class="">file://LICENSE;md5=f257cc14f81685691652a3d3e1b5d754</a>"<br class="">+<br class="">+# exclude pre-releases for both python 2.x and 3.x<br class="">+UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P&lt;pver&gt;\d+(\.\d+)+).tar"<br class="">+<br class="">+S = "${WORKDIR}/Python-${PV}"<br class="">+<br class="">+CVE_PRODUCT = "python"<br class="">+<br class="">+inherit autotools pkgconfig python3-dir<br class="">+<br class="">+EXTRA_OECONF = "\<br class="">+ &nbsp;--with-pymalloc \<br class="">+ &nbsp;--without-cxx-main \<br class="">+ &nbsp;--enable-shared \<br class="">+ &nbsp;--<a href="mailto:enable-ipv6=${@bb.utils.contains" class="">enable-ipv6=${@bb.utils.contains</a>('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)} \<br class="">+ &nbsp;ac_cv_header_bluetooth_bluetooth_h=no ac_cv_header_bluetooth_h=no \<br class="">+ &nbsp;${PYTHONLSBOPTS} \<br class="">+"<br class="">+<br class="">+do_configure_prepend() {<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>libdirleaf="$(echo ${libdir} | sed -e 's:${prefix}/::')"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e "s:SEDMELIBLEAF:${libdirleaf}:g" \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${S}/configure.ac<br class="">+}<br class="">+<br class="">+do_install_prepend() {<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>MAKESETTINGS="$(egrep '^(ABIFLAGS|MULTIARCH)=' ${B}/Makefile | sed -E -e 's/[[:space:]]//g' -e 's/=/="/' -e 's/$/"/')"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>eval ${MAKESETTINGS}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>if test "${ABIFLAGS}" != "${PYTHON_ABI}"; then<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;die "do_install: configure determined ABIFLAGS '${ABIFLAGS}' != '${PYTHON_ABI}' from python3-dir.bbclass"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>if test "x${BUILD_OS}" = "x${TARGET_OS}"; then<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span># no cross-compile at all<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>_PYTHON_SYSCONFIGDATA_NAME=${PYTHON_ABI}_${TARGET_OS}_${MULTIARCH}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>else<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span># at the very moment, it's the only available target<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>_PYTHON_SYSCONFIGDATA_NAME=${PYTHON_ABI}_linux_${MULTIARCH}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+}<br class="">+<br class="">+do_install_append () {<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e 's:${HOSTTOOLS_DIR}/install:install:g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${HOSTTOOLS_DIR}/mkdir:mkdir:g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${D}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata_${_PYTHON_SYSCONFIGDATA_NAME}.py<br class="">+}<br class="">diff --git a/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch b/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch<br class="">index 8ea3f03fe0..aac34533ef 100644<br class="">--- a/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch<br class="">+++ b/meta/recipes-devtools/python/python3/0001-Do-not-use-the-shell-version-of-python-config-that-w.patch<br class="">@@ -14,25 +14,22 @@ Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" class="">alex.kanavin@gmail.com</a>&gt;<br class=""> &nbsp;1 file changed, 3 insertions(+), 6 deletions(-)<br class=""><br class=""> diff --git a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-index 236f005..5c4337f 100644<br class="">+index 31b4bcabb3..7da6d6941e 100644<br class=""> --- a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class=""> +++ b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-@@ -1348,12 +1348,9 @@ python-config: $(srcdir)/Misc/<a href="http://python-config.in" class="">python-config.in</a> Misc/python-config.sh<br class="">+@@ -1415,12 +1415,9 @@ python-config: $(srcdir)/Misc/<a href="http://python-config.in" class="">python-config.in</a> Misc/python-config.sh<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>sed -e "s,@EXENAME@,$(BINDIR)/python$(LDVERSION)$(EXE)," &lt; $(srcdir)/Misc/<a href="http://python-config.in" class="">python-config.in</a> &gt;python-config.py<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span># Replace makefile compat. variable references with shell script compat. ones; $(VAR) -&gt; ${VAR}<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>@ # Replace makefile compat. variable references with shell script compat. ones; $(VAR) -&gt; ${VAR}<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>LC_ALL=C sed -e 's,\$$(\([A-Za-z0-9_]*\)),\$$\{\1\},g' &lt; Misc/python-config.sh &gt;python-config<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span># On Darwin, always use the python version of the script, the shell<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span># version doesn't use the compiler customizations that are provided<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span># in python (_osx_support.py).<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>if test `uname -s` = Darwin; then \<br class="">+-<span class="Apple-tab-span" style="white-space:pre">        </span>@ # On Darwin, always use the python version of the script, the shell<br class="">+-<span class="Apple-tab-span" style="white-space:pre">        </span>@ # version doesn't use the compiler customizations that are provided<br class="">+-<span class="Apple-tab-span" style="white-space:pre">        </span>@ # in python (_osx_support.py).<br class="">+-<span class="Apple-tab-span" style="white-space:pre">        </span>@if test `uname -s` = Darwin; then \<br class=""> -<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>cp python-config.py python-config; \<br class=""> -<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">-+<span class="Apple-tab-span" style="white-space:pre">        </span># In OpenEmbedded, always use the python version of the script, the shell<br class="">-+<span class="Apple-tab-span" style="white-space:pre">        </span># version is broken in multiple ways, and doesn't return correct directories<br class="">++<span class="Apple-tab-span" style="white-space:pre">        </span>@ # In OpenEmbedded, always use the python version of the script, the shell<br class="">++<span class="Apple-tab-span" style="white-space:pre">        </span>@ # version is broken in multiple ways, and doesn't return correct directories<br class=""> +<span class="Apple-tab-span" style="white-space:pre">        </span>cp python-config.py python-config<br class=""><br class=""><br class=""> &nbsp;# Install the include files<br class="">--- <br class="">-2.11.0<br class="">-<br class="">diff --git a/meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch b/meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch<br class="">deleted file mode 100644<br class="">index d1c92e9eed..0000000000<br class="">--- a/meta/recipes-devtools/python/python3/0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch<br class="">+++ /dev/null<br class="">@@ -1,66 +0,0 @@<br class="">-From bcddbf40c7f1b80336268cdddacc17369fb0ccea Mon Sep 17 00:00:00 2001<br class="">-From: Libin Dang &lt;<a href="mailto:libin.dang@windriver.com" class="">libin.dang@windriver.com</a>&gt;<br class="">-Date: Tue, 11 Apr 2017 14:12:15 +0800<br class="">-Subject: [PATCH] Issue #21272: Use _sysconfigdata.py to initialize<br class="">- distutils.sysconfig<br class="">-<br class="">-Backport upstream commit<br class="">-<a href="https://github.com/python/cpython/commit/409482251b06fe75c4ee56e85ffbb4b23d934159" class="">https://github.com/python/cpython/commit/409482251b06fe75c4ee56e85ffbb4b23d934159</a><br class="">-<br class="">-Upstream-Status: Backport<br class="">-<br class="">-Signed-off-by: Li Zhou &lt;<a href="mailto:li.zhou@windriver.com" class="">li.zhou@windriver.com</a>&gt;<br class="">----<br class="">- Lib/distutils/sysconfig.py | 35 ++++-------------------------------<br class="">- 1 file changed, 4 insertions(+), 31 deletions(-)<br class="">-<br class="">-diff --git a/Lib/distutils/sysconfig.py b/Lib/distutils/sysconfig.py<br class="">-index 6d5cfd0..9925d24 100644<br class="">---- a/Lib/distutils/sysconfig.py<br class="">-+++ b/Lib/distutils/sysconfig.py<br class="">-@@ -424,38 +424,11 @@ _config_vars = None<br class="">- <br class="">- def _init_posix():<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;"""Initialize the module as appropriate for POSIX systems."""<br class="">-- &nbsp;&nbsp;&nbsp;g = {}<br class="">-- &nbsp;&nbsp;&nbsp;# load the installed Makefile:<br class="">-- &nbsp;&nbsp;&nbsp;try:<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filename = get_makefile_filename()<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parse_makefile(filename, g)<br class="">-- &nbsp;&nbsp;&nbsp;except OSError as msg:<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my_msg = "invalid Python installation: unable to open %s" % filename<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if hasattr(msg, "strerror"):<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my_msg = my_msg + " (%s)" % msg.strerror<br class="">--<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise DistutilsPlatformError(my_msg)<br class="">--<br class="">-- &nbsp;&nbsp;&nbsp;# load the installed pyconfig.h:<br class="">-- &nbsp;&nbsp;&nbsp;try:<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;filename = get_config_h_filename()<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;with open(filename) as file:<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;parse_config_h(file, g)<br class="">-- &nbsp;&nbsp;&nbsp;except OSError as msg:<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my_msg = "invalid Python installation: unable to open %s" % filename<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if hasattr(msg, "strerror"):<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my_msg = my_msg + " (%s)" % msg.strerror<br class="">--<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;raise DistutilsPlatformError(my_msg)<br class="">--<br class="">-- &nbsp;&nbsp;&nbsp;# On AIX, there are wrong paths to the linker scripts in the Makefile<br class="">-- &nbsp;&nbsp;&nbsp;# -- these paths are relative to the Python source, but when installed<br class="">-- &nbsp;&nbsp;&nbsp;# the scripts are in another directory.<br class="">-- &nbsp;&nbsp;&nbsp;if python_build:<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;g['LDSHARED'] = g['BLDSHARED']<br class="">--<br class="">-+ &nbsp;&nbsp;&nbsp;# _sysconfigdata is generated at build time, see the sysconfig module<br class="">-+ &nbsp;&nbsp;&nbsp;from _sysconfigdata import build_time_vars<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;global _config_vars<br class="">-- &nbsp;&nbsp;&nbsp;_config_vars = g<br class="">-+ &nbsp;&nbsp;&nbsp;_config_vars = {}<br class="">-+ &nbsp;&nbsp;&nbsp;_config_vars.update(build_time_vars)<br class="">- <br class="">- <br class="">- def _init_nt():<br class="">--- <br class="">-1.8.3.1<br class="">-<br class="">diff --git a/meta/recipes-devtools/python/python3/0001-cross-compile-support.patch b/meta/recipes-devtools/python/python3/0001-cross-compile-support.patch<br class="">index 7cd7e3b490..a87b86015b 100644<br class="">--- a/meta/recipes-devtools/python/python3/0001-cross-compile-support.patch<br class="">+++ b/meta/recipes-devtools/python/python3/0001-cross-compile-support.patch<br class="">@@ -1,4 +1,4 @@<br class="">-From ecde3ea170999a9ef734e8af4d7c25be5ba81697 Mon Sep 17 00:00:00 2001<br class="">+From 6ad4d2101b5d67bb2de166829879a5b1a0f1c18f Mon Sep 17 00:00:00 2001<br class=""> From: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" class="">alex.kanavin@gmail.com</a>&gt;<br class=""> Date: Fri, 31 Mar 2017 15:42:46 +0300<br class=""> Subject: [PATCH] cross-compile support<br class="">@@ -8,7 +8,7 @@ python instead of in-tree tools<br class=""><br class=""> -Khem<br class=""><br class="">-Rebased on 3.5.4<br class="">+Rebased on 3.7.0<br class=""><br class=""> Upstream-Status: Inappropriate[Configuration Specific]<br class=""> Signed-off-by: Alexander Kanavin &lt;<a href="mailto:alex.kanavin@gmail.com" class="">alex.kanavin@gmail.com</a>&gt;<br class="">@@ -18,53 +18,53 @@ Signed-off-by: Derek Straka &lt;<a href="mailto:derek@asterius.io" class="">derek@asterius.io</a>&gt;<br class=""> &nbsp;1 file changed, 8 insertions(+), 6 deletions(-)<br class=""><br class=""> diff --git a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-index 144c1f8629..f252ac2417 100644<br class="">+index d60d48e5f9..31b4bcabb3 100644<br class=""> --- a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class=""> +++ b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-@@ -223,6 +223,7 @@ LIBOBJS=<span class="Apple-tab-span" style="white-space:pre">        </span>@LIBOBJS@<br class="">-<br class="">+@@ -233,6 +233,7 @@ LIBOBJS=<span class="Apple-tab-span" style="white-space:pre">        </span>@LIBOBJS@<br class="">+ <br class=""> &nbsp;PYTHON=<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>python$(EXE)<br class=""> &nbsp;BUILDPYTHON=<span class="Apple-tab-span" style="white-space:pre">        </span>python$(BUILDEXE)<br class=""> +HOSTPYTHON= &nbsp;&nbsp;&nbsp;$(BUILDPYTHON)<br class="">-<br class="">+ <br class=""> &nbsp;PYTHON_FOR_REGEN=@PYTHON_FOR_REGEN@<br class="">- PYTHON_FOR_BUILD=@PYTHON_FOR_BUILD@<br class="">-@@ -277,6 +278,7 @@ LIBFFI_INCLUDEDIR=<span class="Apple-tab-span" style="white-space:pre">        </span>@LIBFFI_INCLUDEDIR@<br class="">+ UPDATE_FILE=@PYTHON_FOR_REGEN@ $(srcdir)/Tools/scripts/update_file.py<br class="">+@@ -285,6 +286,7 @@ LIBFFI_INCLUDEDIR=<span class="Apple-tab-span" style="white-space:pre">        </span>@LIBFFI_INCLUDEDIR@<br class=""> &nbsp;##########################################################################<br class=""> &nbsp;# Parser<br class=""> &nbsp;PGEN=<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>Parser/pgen$(EXE)<br class=""> +HOSTPGEN=<span class="Apple-tab-span" style="white-space:pre">        </span>$(PGEN)$(EXE)<br class="">-<br class="">- PSRCS=<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>\<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>Parser/acceler.c \<br class="">-@@ -478,7 +480,7 @@ build_all_generate_profile:<br class="">-<br class="">+ <br class="">+ POBJS=<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>\<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>Parser/acceler.o \<br class="">+@@ -501,7 +503,7 @@ build_all_generate_profile:<br class="">+ <br class=""> &nbsp;run_profile_task:<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>: # FIXME: can't run for a cross build<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>@ # FIXME: can't run for a cross build<br class=""> -<span class="Apple-tab-span" style="white-space:pre">        </span>$(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK) || true<br class=""> +<span class="Apple-tab-span" style="white-space:pre">        </span>$(LLVM_PROF_FILE) $(RUNSHARED) $(HOSTPYTHON) $(PROFILE_TASK) || true<br class="">-<br class="">+ <br class=""> &nbsp;build_all_merge_profile:<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>$(LLVM_PROF_MERGER)<br class="">-@@ -772,7 +774,7 @@ regen-grammar: $(PGEN)<br class="">+@@ -796,7 +798,7 @@ regen-grammar: $(PGEN)<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span># Regenerate Include/graminit.h and Python/graminit.c<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span># from Grammar/Grammar using pgen<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>@$(MKDIR_P) Include<br class=""> -<span class="Apple-tab-span" style="white-space:pre">        </span>$(PGEN) $(srcdir)/Grammar/Grammar \<br class=""> +<span class="Apple-tab-span" style="white-space:pre">        </span>$(HOSTPGEN) $(srcdir)/Grammar/Grammar \<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>$(srcdir)/Include/graminit.h \<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>$(srcdir)/Python/graminit.c<br class="">-<br class="">-@@ -978,7 +980,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Programs/python.o: $(PYTHON_HEADERS)<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>$(srcdir)/Include/graminit.h.new \<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>$(srcdir)/Python/graminit.c.new<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>$(UPDATE_FILE) $(srcdir)/Include/graminit.h $(srcdir)/Include/graminit.h.new<br class="">+@@ -1034,7 +1036,7 @@ $(LIBRARY_OBJS) $(MODOBJS) Programs/python.o: $(PYTHON_HEADERS)<br class=""> &nbsp;######################################################################<br class="">-<br class="">+ <br class=""> &nbsp;TESTOPTS=<span class="Apple-tab-span" style="white-space:pre">        </span>$(EXTRATESTOPTS)<br class=""> -TESTPYTHON=<span class="Apple-tab-span" style="white-space:pre">        </span>$(RUNSHARED) ./$(BUILDPYTHON) $(TESTPYTHONOPTS)<br class=""> +TESTPYTHON=<span class="Apple-tab-span" style="white-space:pre">        </span>$(RUNSHARED) $(HOSTPYTHON) $(TESTPYTHONOPTS)<br class=""> &nbsp;TESTRUNNER=<span class="Apple-tab-span" style="white-space:pre">        </span>$(TESTPYTHON) $(srcdir)/Tools/scripts/run_tests.py<br class="">- TESTTIMEOUT=<span class="Apple-tab-span" style="white-space:pre">        </span>3600<br class="">-<br class="">-@@ -1470,7 +1472,7 @@ frameworkinstallstructure:<span class="Apple-tab-span" style="white-space:pre">        </span>$(LDLIBRARY)<br class="">+ TESTTIMEOUT=<span class="Apple-tab-span" style="white-space:pre">        </span>1200<br class="">+ <br class="">+@@ -1536,7 +1538,7 @@ frameworkinstallstructure:<span class="Apple-tab-span" style="white-space:pre">        </span>$(LDLIBRARY)<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>fi; \<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>done<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>$(LN) -fsn include/python$(LDVERSION) $(DESTDIR)$(prefix)/Headers<br class="">@@ -73,24 +73,24 @@ index 144c1f8629..f252ac2417 100644<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>$(LN) -fsn $(VERSION) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Versions/Current<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>$(LN) -fsn Versions/Current/$(PYTHONFRAMEWORK) $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/$(PYTHONFRAMEWORK)<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>$(LN) -fsn Versions/Current/Headers $(DESTDIR)$(PYTHONFRAMEWORKINSTALLDIR)/Headers<br class="">-@@ -1543,7 +1545,7 @@ Python/dtoa.o: Python/dtoa.c<br class="">-<br class="">+@@ -1609,7 +1611,7 @@ Python/dtoa.o: Python/dtoa.c<br class="">+ <br class=""> &nbsp;# Run reindent on the library<br class=""> &nbsp;reindent:<br class=""> -<span class="Apple-tab-span" style="white-space:pre">        </span>./$(BUILDPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib<br class=""> +<span class="Apple-tab-span" style="white-space:pre">        </span>$(HOSTPYTHON) $(srcdir)/Tools/scripts/reindent.py -r $(srcdir)/Lib<br class="">-<br class="">+ <br class=""> &nbsp;# Rerun configure with the same options as it was run last time,<br class=""> &nbsp;# provided the config.status script exists<br class="">-@@ -1678,7 +1680,7 @@ funny:<br class="">-<br class="">+@@ -1744,7 +1746,7 @@ funny:<br class="">+ <br class=""> &nbsp;# Perform some verification checks on any modified files.<br class=""> &nbsp;patchcheck: @DEF_MAKE_RULE@<br class=""> -<span class="Apple-tab-span" style="white-space:pre">        </span>$(RUNSHARED) ./$(BUILDPYTHON) $(srcdir)/Tools/scripts/patchcheck.py<br class=""> +<span class="Apple-tab-span" style="white-space:pre">        </span>$(RUNSHARED) $(HOSTPYTHON) $(srcdir)/Tools/scripts/patchcheck.py<br class="">-<br class="">+ <br class=""> &nbsp;# Dependencies<br class="">-<br class="">---<br class="">-2.11.0<br class="">+ <br class="">+-- <br class="">+2.17.1<br class=""><br class="">diff --git a/meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch b/meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch<br class="">deleted file mode 100644<br class="">index bb01c5bcb4..0000000000<br class="">--- a/meta/recipes-devtools/python/python3/0002-Makefile-add-target-to-split-profile-generation.patch<br class="">+++ /dev/null<br class="">@@ -1,40 +0,0 @@<br class="">-From 98586d6dc598e40b8b821b0dde57599e188a7ca4 Mon Sep 17 00:00:00 2001<br class="">-From: Anuj Mittal &lt;<a href="mailto:anuj.mittal@intel.com" class="">anuj.mittal@intel.com</a>&gt;<br class="">-Date: Tue, 7 Aug 2018 16:43:17 +0800<br class="">-Subject: [PATCH 2/2] Makefile: add target to split profile generation<br class="">-<br class="">-We don't want to have profile task invoked from here and want to use<br class="">-qemu-user instead. Split the profile-opt task so qemu can be invoked<br class="">-once binaries have been built with instrumentation and then we can go<br class="">-ahead and build again using the profile data generated.<br class="">-<br class="">-Upstream-Status: Inappropriate [OE-specific]<br class="">-<br class="">-Signed-off-by: Anuj Mittal &lt;<a href="mailto:anuj.mittal@intel.com" class="">anuj.mittal@intel.com</a>&gt;<br class="">----<br class="">- <a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> | 6 ++----<br class="">- 1 file changed, 2 insertions(+), 4 deletions(-)<br class="">-<br class="">-diff --git a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-index 84bc3ff..017a2c4 100644<br class="">---- a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-+++ b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-@@ -469,13 +469,11 @@ profile-opt:<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) profile-removal<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) build_all_generate_profile<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) profile-removal<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>@echo "Running code to generate profile data (this can take a while):"<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) run_profile_task<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) build_all_merge_profile<br class="">-+<br class="">-+clean_and_use_profile:<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>@echo "Rebuilding with profile guided optimizations:"<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) clean<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) build_all_use_profile<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) profile-removal<br class="">- <br class="">- build_all_generate_profile:<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)"<br class="">--- <br class="">-2.17.1<br class="">-<br class="">diff --git a/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch b/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch<br class="">index fddfd2b2f6..b916d04d05 100644<br class="">--- a/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch<br class="">+++ b/meta/recipes-devtools/python/python3/03-fix-tkinter-detection.patch<br class="">@@ -4,11 +4,11 @@ Upstream-Status: Inappropriate [embedded specific]<br class=""> # will not be found.<br class=""> # Signed-Off: Michael 'Mickey' Lauer &lt;<a href="mailto:mickey@vanille.de" class="">mickey@vanille.de</a>&gt;<br class=""><br class="">-Index: Python-3.3.0rc2/setup.py<br class="">-===================================================================<br class="">---- Python-3.3.0rc2.orig/setup.py<span class="Apple-tab-span" style="white-space:pre">        </span>2012-09-20 15:24:14.009124003 -0700<br class="">-+++ Python-3.3.0rc2/setup.py<span class="Apple-tab-span" style="white-space:pre">        </span>2012-09-20 15:25:08.449124963 -0700<br class="">-@@ -1620,7 +1620,7 @@<br class="">+diff --git a/setup.py b/setup.py<br class="">+index 37c5dd58a6..7f0e4d1010 100644<br class="">+--- a/setup.py<br class="">++++ b/setup.py<br class="">+@@ -1803,7 +1803,7 @@ class PyBuildExt(build_ext):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;dotversion = dotversion[:-1] + '.' + dotversion[-1]<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcl_include_sub = []<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tk_include_sub = []<br class="">@@ -17,7 +17,7 @@ Index: Python-3.3.0rc2/setup.py<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tcl_include_sub += [dir + os.sep + "tcl" + dotversion]<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tk_include_sub += [dir + os.sep + "tk" + dotversion]<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tk_include_sub += tcl_include_sub<br class="">-@@ -1639,22 +1639,6 @@<br class="">+@@ -1822,22 +1822,6 @@ class PyBuildExt(build_ext):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if dir not in include_dirs:<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include_dirs.append(dir)<br class=""><br class="">diff --git a/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch b/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch<br class="">index 6beac7b805..c12f11c6e7 100644<br class="">--- a/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch<br class="">+++ b/meta/recipes-devtools/python/python3/030-fixup-include-dirs.patch<br class="">@@ -22,12 +22,3 @@ Index: Python-3.3.2/setup.py<br class=""><br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Add paths specified in the environment variables LDFLAGS and<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# CPPFLAGS for header and library files.<br class="">-@@ -480,7 +481,7 @@ class PyBuildExt(build_ext):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for directory in reversed(options.dirs):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add_dir_to_list(dir_list, directory)<br class="">- <br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if os.path.normpath(sys.base_prefix) != '/usr' \<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not cross_compiling and os.path.normpath(sys.base_prefix) != '/usr' \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;and not sysconfig.get_config_var('PYTHONFRAMEWORK'):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# OSX note: Don't add LIBDIR and INCLUDEDIR to building a framework<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# (PYTHONFRAMEWORK is set) to avoid # linking problems when<br class="">diff --git a/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch b/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch<br class="">index b96419a638..1bd6e56117 100644<br class="">--- a/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch<br class="">+++ b/meta/recipes-devtools/python/python3/080-distutils-dont_adjust_files.patch<br class="">@@ -14,11 +14,11 @@ Upstream-Status: Inappropriate [Embedded-Specific]<br class=""><br class=""><br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def copy_scripts(self):<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"""Copy each script listed in 'self.scripts'; if it's marked as a<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r"""Copy each script listed in 'self.scripts'; if it's marked as a<br class=""> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Python script in the Unix way (first line matches 'first_line_re',<br class=""> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ie. starts with "\#!" and contains "python"), then adjust the first<br class=""> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;line to refer to the current Python interpreter as we copy.<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"""Copy each script listed in 'self.scripts'<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;r"""Copy each script listed in 'self.scripts'<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"""<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.mkpath(self.build_dir)<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;outfiles = []<br class="">diff --git a/meta/recipes-devtools/python/python3/150-fix-setupterm.patch b/meta/recipes-devtools/python/python3/150-fix-setupterm.patch<br class="">deleted file mode 100644<br class="">index 78d7c78670..0000000000<br class="">--- a/meta/recipes-devtools/python/python3/150-fix-setupterm.patch<br class="">+++ /dev/null<br class="">@@ -1,17 +0,0 @@<br class="">-Fix warning with newer compiler<br class="">-<br class="">--Khem<br class="">-<br class="">-Upstream-Status: Pending<br class="">-<br class="">---- a/Modules/_cursesmodule.c<br class="">-+++ b/Modules/_cursesmodule.c<br class="">-@@ -116,7 +116,7 @@ char *PyCursesVersion = "2.2";<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;#defines many common symbols (such as "lines") which breaks the<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;curses module in other ways. &nbsp;So the code will just specify<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;explicit prototypes here. */<br class="">--extern int setupterm(char *,int,int *);<br class="">-+//extern int setupterm(char *,int,int *);<br class="">- #ifdef __sgi<br class="">- #include &lt;term.h&gt;<br class="">- #endif<br class="">diff --git a/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch b/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch<br class="">index ae74ef531d..35b849e399 100644<br class="">--- a/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch<br class="">+++ b/meta/recipes-devtools/python/python3/Use-correct-CFLAGS-for-extensions-when-cross-compili.patch<br class="">@@ -9,6 +9,11 @@ profile-optimized build.<br class=""><br class=""> Upstream-Status: Pending<br class=""><br class="">+2018-08:<br class="">+ &nbsp;* Rebased <a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> for 3.7<br class="">+ &nbsp;* Remove patch for setup.py in favor of upstream fix<br class="">+ &nbsp;-- Jens<br class="">+<br class=""> Signed-off-by: Markus Lehtonen &lt;<a href="mailto:markus.lehtonen@linux.intel.com" class="">markus.lehtonen@linux.intel.com</a>&gt;<br class=""> ---<br class=""> &nbsp;<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> | 4 ++--<br class="">@@ -16,41 +21,31 @@ Signed-off-by: Markus Lehtonen &lt;<a href="mailto:markus.lehtonen@linux.intel.com" class="">markus.lehtonen@linux.intel.com</a>&gt;<br class=""> &nbsp;2 files changed, 4 insertions(+), 3 deletions(-)<br class=""><br class=""> diff --git a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-index e2d5d3d..84bc3ff 100644<br class="">+index 4c23c0e411..0871c98f29 100644<br class=""> --- a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class=""> +++ b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-@@ -478,7 +478,7 @@ profile-opt:<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) profile-removal<br class="">+@@ -497,6 +497,7 @@ profile-run-stamp:<br class=""><br class=""> &nbsp;build_all_generate_profile:<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)"<br class="">-+<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG) @LTOFLAGS@" LIBS="$(LIBS)"<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_GEN_FLAG)" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"<br class="">++<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_GEN_FLAG)" LDFLAGS="$(LDFLAGS) $(PGO_PROF_GEN_FLAG)" LIBS="$(LIBS)"<br class=""><br class=""> &nbsp;run_profile_task:<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>: # FIXME: can't run for a cross build<br class="">-@@ -488,7 +488,7 @@ build_all_merge_profile:<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>$(LLVM_PROF_MERGER)<br class="">- <br class="">- build_all_use_profile:<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_USE_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) @LTOFLAGS@"<br class="">-+<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_USE_FLAG) @LTOFLAGS@" LDFLAGS="$(LDFLAGS) @LTOFLAGS@"<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>@ # FIXME: can't run for a cross build<br class="">+@@ -510,14 +511,14 @@ build_all_merge_profile:<br class="">+ profile-opt: profile-run-stamp<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>@echo "Rebuilding with profile guided optimizations:"<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>-rm -f profile-clean-stamp<br class="">+-<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(PGO_PROF_USE_FLAG)" LDFLAGS="$(LDFLAGS)"<br class="">++<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS_NODIST="$(CFLAGS) $(EXTRA_CFLAGS) $(PGO_PROF_USE_FLAG)" LDFLAGS="$(LDFLAGS)"<br class=""><br class=""> &nbsp;# Compile and run with gcov<br class=""> &nbsp;.PHONY=coverage coverage-lcov coverage-report<br class="">-diff --git a/setup.py b/setup.py<br class="">-index add3346..65e83b1 100644<br class="">---- a/setup.py<br class="">-+++ b/setup.py<br class="">-@@ -263,7 +263,8 @@ class PyBuildExt(build_ext):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# compilers<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if compiler is not None:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cross_compiling:<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(ccshared,cflags) = (os.environ.get('CCSHARED') or '', os.environ.get('CFLAGS') or '')<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(ccshared,cflags) = (os.environ.get('CCSHARED') or '',<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(os.environ.get('CFLAGS') or '') + ' ' + sysconfig.get_config_var('PY_CFLAGS_NODIST'))<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(ccshared,cflags) = sysconfig.get_config_vars('CCSHARED','CFLAGS')<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;args['compiler_so'] = compiler + ' ' + ccshared + ' ' + cflags<br class="">--- <br class="">-2.17.1<br class="">-<br class="">+ coverage:<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>@echo "Building with support for coverage checking:"<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) clean profile-removal<br class="">+-<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS="$(CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"<br class="">++<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) @DEF_MAKE_RULE@ CFLAGS="$(CFLAGS) $(EXTRA_CFLAGS) -O0 -pg -fprofile-arcs -ftest-coverage" LIBS="$(LIBS) -lgcov"<br class="">+ <br class="">+ coverage-lcov:<br class="">+ <span class="Apple-tab-span" style="white-space:pre">        </span>@echo "Creating Coverage HTML report with LCOV:"<br class="">diff --git a/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch b/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch<br class="">index f29ae53371..7e1dc4ef5b 100644<br class="">--- a/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch<br class="">+++ b/meta/recipes-devtools/python/python3/avoid-ncursesw-include-path.patch<br class="">@@ -6,16 +6,16 @@ hardcoded locations for include paths<br class=""><br class=""> Signed-off-by: Khem Raj &lt;<a href="mailto:raj.khem@gmail.com" class="">raj.khem@gmail.com</a>&gt;<br class=""><br class="">-Index: Python-3.4.2/configure.ac<br class="">-===================================================================<br class="">---- Python-3.4.2.orig/configure.ac<br class="">-+++ Python-3.4.2/configure.ac<br class="">-@@ -4434,7 +4434,7 @@ fi<br class="">- <br class="">+diff --git a/configure.ac b/configure.ac<br class="">+index 2b8aa4d592..1f5bf4b4b0 100644<br class="">+--- a/configure.ac<br class="">++++ b/configure.ac<br class="">+@@ -4976,7 +4976,7 @@ fi<br class=""> &nbsp;# first curses header check<br class=""> &nbsp;ac_save_cppflags="$CPPFLAGS"<br class="">--CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"<br class="">-+CPPFLAGS="$CPPFLAGS -I=/usr/include/ncursesw"<br class="">+ if test "$cross_compiling" = no; then<br class="">+- &nbsp;CPPFLAGS="$CPPFLAGS -I/usr/include/ncursesw"<br class="">++ &nbsp;CPPFLAGS="$CPPFLAGS -I=/usr/include/ncursesw"<br class="">+ fi<br class=""><br class=""> &nbsp;AC_CHECK_HEADERS(curses.h ncurses.h)<br class="">- <br class="">diff --git a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch b/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch<br class="">index a3cc48c9a4..ebdd64b7b5 100644<br class="">--- a/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch<br class="">+++ b/meta/recipes-devtools/python/python3/avoid_warning_about_tkinter.patch<br class="">@@ -5,13 +5,17 @@ Avoid a warning by not adding this module to missing variable.<br class=""> Upstream-Status: Inappropriate [distribution]<br class=""><br class=""> Also simply disable the tk module since its not in DEPENDS.<br class="">+<br class="">+2018-08: Rebased for 3.7.0<br class="">+ &nbsp;-- Jens<br class="">+<br class=""> Signed-off-by: Andrei Gherzan &lt;<a href="mailto:andrei@gherzan.ro" class="">andrei@gherzan.ro</a>&gt;<br class=""><br class="">-Index: Python-3.5.3/setup.py<br class="">-===================================================================<br class="">---- Python-3.5.3.orig/setup.py<br class="">-+++ Python-3.5.3/setup.py<br class="">-@@ -1558,10 +1558,12 @@ class PyBuildExt(build_ext):<br class="">+diff --git a/setup.py b/setup.py<br class="">+index 37c5dd58a6..0321245761 100644<br class="">+--- a/setup.py<br class="">++++ b/setup.py<br class="">+@@ -1608,10 +1608,12 @@ class PyBuildExt(build_ext):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.extensions.extend(exts)<br class=""><br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Call the method for detecting whether _tkinter can be compiled<br class="">@@ -25,5 +29,5 @@ Index: Python-3.5.3/setup.py<br class=""> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#if '_tkinter' not in [e.name for e in self.extensions]:<br class=""> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# &nbsp;&nbsp;&nbsp;missing.append('_tkinter')<br class=""><br class="">- ## &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Uncomment these lines if you want to play with xxmodule.c<br class="">- ## &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ext = Extension('xx', ['xxmodule.c'])<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Build the _uuid module if possible<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"])<br class="">diff --git a/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch b/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch<br class="">index 97214f9aa4..689baf00ad 100644<br class="">--- a/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch<br class="">+++ b/meta/recipes-devtools/python/python3/configure.ac-fix-LIBPL.patch<br class="">@@ -7,24 +7,27 @@ Use LIBDIR rather than prefix/lib, so that it would work when lib64.<br class=""><br class=""> Upstream-Status: Pending<br class=""><br class="">+2018-08: rebased and adopted for 3.7<br class="">+ &nbsp;-- Jens<br class="">+<br class=""> Signed-off-by: Robert Yang &lt;<a href="mailto:liezhi.yang@windriver.com" class="">liezhi.yang@windriver.com</a>&gt;<br class=""> ---<br class=""> &nbsp;configure.ac | &nbsp;&nbsp;&nbsp;2 +-<br class=""> &nbsp;1 file changed, 1 insertion(+), 1 deletion(-)<br class=""><br class=""> diff --git a/configure.ac b/configure.ac<br class="">-index 63aef8e..aefb27f 100644<br class="">+index 2b8aa4d592..0da15fbbdf 100644<br class=""> --- a/configure.ac<br class=""> +++ b/configure.ac<br class="">-@@ -4366,7 +4366,7 @@ AC_MSG_RESULT($LDVERSION)<br class="">- <br class="">+@@ -4674,9 +4674,9 @@ AC_MSG_RESULT($LDVERSION)<br class=""> &nbsp;dnl define LIBPL after ABIFLAGS and LDVERSION is defined.<br class=""> &nbsp;AC_SUBST(PY_ENABLE_SHARED)<br class="">--LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"<br class="">-+LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}"<br class="">+ if test x$PLATFORM_TRIPLET = x; then<br class="">+- &nbsp;LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}"<br class="">++ &nbsp;LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}"<br class="">+ else<br class="">+- &nbsp;LIBPL='$(prefix)'"/lib/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"<br class="">++ &nbsp;LIBPL='$(LIBDIR)'"/python${VERSION}/config-${LDVERSION}-${PLATFORM_TRIPLET}"<br class="">+ fi<br class=""> &nbsp;AC_SUBST(LIBPL)<br class=""><br class="">- # Check whether right shifting a negative integer extends the sign bit<br class="">--- <br class="">-1.7.9.5<br class="">-<br class="">diff --git a/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch b/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch<br class="">index 5c3af6b626..1ce4defe95 100644<br class="">--- a/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch<br class="">+++ b/meta/recipes-devtools/python/python3/pass-missing-libraries-to-Extension-for-mul.patch<br class="">@@ -47,16 +47,19 @@ And the semaphore issue also caused multiprocessing.Queue().put() hung.<br class=""><br class=""> Upstream-Status: Submitted [<a href="https://github.com/python/cpython/pull/2999" class="">https://github.com/python/cpython/pull/2999</a>]<br class=""><br class="">+2018-08: rebased for 3.7<br class="">+ &nbsp;-- Jens<br class="">+<br class=""> Signed-off-by: Hongxu Jia &lt;<a href="mailto:hongxu.jia@windriver.com" class="">hongxu.jia@windriver.com</a>&gt;<br class=""> ---<br class=""> &nbsp;setup.py | 7 +++++--<br class=""> &nbsp;1 file changed, 5 insertions(+), 2 deletions(-)<br class=""><br class=""> diff --git a/setup.py b/setup.py<br class="">-index 4f0f522..d05707d 100644<br class="">+index a97a7559ca..633eba8f1e 100644<br class=""> --- a/setup.py<br class=""> +++ b/setup.py<br class="">-@@ -1606,8 +1606,10 @@ class PyBuildExt(build_ext):<br class="">+@@ -1580,8 +1580,10 @@ class PyBuildExt(build_ext):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif host_platform.startswith('netbsd'):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;macros = dict()<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries = []<br class="">@@ -69,14 +72,11 @@ index 4f0f522..d05707d 100644<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;macros = dict()<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries = ['rt']<br class=""><br class="">-@@ -1626,6 +1628,7 @@ class PyBuildExt(build_ext):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if sysconfig.get_config_var('WITH_THREAD'):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exts.append ( Extension('_multiprocessing', multiprocessing_srcs,<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define_macros=list(macros.items()),<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries=libraries,<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include_dirs=["Modules/_multiprocessing"]))<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;missing.append('_multiprocessing')<br class="">--- <br class="">-2.7.4<br class="">-<br class="">+@@ -1599,6 +1601,7 @@ class PyBuildExt(build_ext):<br class="">+ <br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;exts.append ( Extension('_multiprocessing', multiprocessing_srcs,<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;define_macros=list(macros.items()),<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries=libraries,<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include_dirs=["Modules/_multiprocessing"]))<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# End multiprocessing<br class="">+ <br class="">diff --git a/meta/recipes-devtools/python/python3/python-3.3-multilib.patch b/meta/recipes-devtools/python/python3/python-3.3-multilib.patch<br class="">index cc35dc1617..d5bafbfba1 100644<br class="">--- a/meta/recipes-devtools/python/python3/python-3.3-multilib.patch<br class="">+++ b/meta/recipes-devtools/python/python3/python-3.3-multilib.patch<br class="">@@ -4,7 +4,7 @@ Date: Tue, 14 May 2013 15:00:26 -0700<br class=""> Subject: [PATCH 01/13] get the sys.lib from python itself and do not use<br class=""> &nbsp;hardcoded value of 'lib'<br class=""><br class="">-02/2015 Rebased for 3.4.2<br class="">+08/2018 Rebased for 3.7.0<br class=""><br class=""> Upstream-Status: Pending<br class=""> Signed-off-by: Khem Raj &lt;<a href="mailto:raj.khem@gmail.com" class="">raj.khem@gmail.com</a>&gt;<br class="">@@ -25,12 +25,12 @@ Signed-off-by: Alejandro Hernandez &lt;<a href="mailto:alejandro.hernandez@linux.intel.com" class="">alejandro.hernandez@linux.intel.com</a>&gt;<br class=""> &nbsp;setup.py &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;| &nbsp;9 ++++-----<br class=""> &nbsp;12 files changed, 97 insertions(+), 23 deletions(-)<br class=""><br class="">-Index: Python-3.5.4/Include/pythonrun.h<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Include/pythonrun.h<br class="">-+++ Python-3.5.4/Include/pythonrun.h<br class="">-@@ -23,6 +23,9 @@ typedef struct {<br class="">- } PyCompilerFlags;<br class="">+diff --git a/Include/pythonrun.h b/Include/pythonrun.h<br class="">+index 6f0c6fc655..95a597b412 100644<br class="">+--- a/Include/pythonrun.h<br class="">++++ b/Include/pythonrun.h<br class="">+@@ -7,6 +7,9 @@<br class="">+ extern "C" {<br class=""> &nbsp;#endif<br class=""><br class=""> +PyAPI_FUNC(const char *) Py_GetArch(void);<br class="">@@ -39,10 +39,10 @@ Index: Python-3.5.4/Include/pythonrun.h<br class=""> &nbsp;#ifndef Py_LIMITED_API<br class=""> &nbsp;PyAPI_FUNC(int) PyRun_SimpleStringFlags(const char *, PyCompilerFlags *);<br class=""> &nbsp;PyAPI_FUNC(int) PyRun_AnyFileFlags(FILE *, const char *, PyCompilerFlags *);<br class="">-Index: Python-3.5.4/Lib/distutils/command/install.py<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Lib/distutils/command/install.py<br class="">-+++ Python-3.5.4/Lib/distutils/command/install.py<br class="">+diff --git a/Lib/distutils/command/install.py b/Lib/distutils/command/install.py<br class="">+index 0258d3deae..352fd8f792 100644<br class="">+--- a/Lib/distutils/command/install.py<br class="">++++ b/Lib/distutils/command/install.py<br class=""> @@ -19,6 +19,8 @@ from site import USER_BASE<br class=""> &nbsp;from site import USER_SITE<br class=""> &nbsp;HAS_USER_SITE = True<br class="">@@ -63,11 +63,11 @@ Index: Python-3.5.4/Lib/distutils/command/install.py<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'headers': '$base/include/python$py_version_short$abiflags/$dist_name',<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'scripts': '$base/bin',<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'data' &nbsp;&nbsp;: '$base',<br class="">-Index: Python-3.5.4/Lib/pydoc.py<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Lib/pydoc.py<br class="">-+++ Python-3.5.4/Lib/pydoc.py<br class="">-@@ -389,7 +389,7 @@ class Doc:<br class="">+diff --git a/Lib/pydoc.py b/Lib/pydoc.py<br class="">+index 8a6b27b16e..fc55893b18 100644<br class="">+--- a/Lib/pydoc.py<br class="">++++ b/Lib/pydoc.py<br class="">+@@ -399,7 +399,7 @@ class Doc:<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;docmodule = docclass = docroutine = docother = docproperty = docdata = fail<br class=""><br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;def getdocloc(self, object,<br class="">@@ -76,29 +76,30 @@ Index: Python-3.5.4/Lib/pydoc.py<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"python%d.%d" % &nbsp;sys.version_info[:2])):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"""Return the location of module docs or None"""<br class=""><br class="">-Index: Python-3.5.4/Lib/site.py<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Lib/site.py<br class="">-+++ Python-3.5.4/Lib/site.py<br class="">-@@ -303,12 +303,12 @@ def getsitepackages(prefixes=None):<br class="">+diff --git a/Lib/site.py b/Lib/site.py<br class="">+index ffd132b389..3ca8270d49 100644<br class="">+--- a/Lib/site.py<br class="">++++ b/Lib/site.py<br class="">+@@ -334,12 +334,12 @@ def getsitepackages(prefixes=None):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;seen.add(prefix)<br class=""><br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if os.sep == '/':<br class=""> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sitepackages.append(os.path.join(prefix, "lib",<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"python%d.%d" % sys.version_info[:2],<br class=""> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sitepackages.append(os.path.join(prefix, sys.lib,<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"python" + sys.version[:3],<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"python%d.%d" % sys.version_info[:2],<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"site-packages"))<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sitepackages.append(prefix)<br class=""> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sitepackages.append(os.path.join(prefix, "lib", "site-packages"))<br class=""> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sitepackages.append(os.path.join(prefix, sys.lib, "site-packages"))<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if sys.platform == "darwin":<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# for framework builds *only* we add the standard Apple<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# locations.<br class="">-Index: Python-3.5.4/Lib/sysconfig.py<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Lib/sysconfig.py<br class="">-+++ Python-3.5.4/Lib/sysconfig.py<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;return sitepackages<br class="">+ <br class="">+ def addsitepackages(known_paths, prefixes=None):<br class="">+diff --git a/Lib/sysconfig.py b/Lib/sysconfig.py<br class="">+index e0f9c18531..9869363977 100644<br class="">+--- a/Lib/sysconfig.py<br class="">++++ b/Lib/sysconfig.py<br class=""> @@ -20,10 +20,10 @@ __all__ = [<br class=""><br class=""> &nbsp;_INSTALL_SCHEMES = {<br class="">@@ -129,7 +130,7 @@ Index: Python-3.5.4/Lib/sysconfig.py<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'include': '{installed_base}/include/python',<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'platinclude': '{installed_base}/include/python',<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'scripts': '{base}/bin',<br class="">-@@ -61,10 +61,10 @@ _INSTALL_SCHEMES = {<br class="">+@@ -62,10 +62,10 @@ _INSTALL_SCHEMES = {<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'data': '{userbase}',<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;},<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'posix_user': {<br class="">@@ -144,28 +145,24 @@ Index: Python-3.5.4/Lib/sysconfig.py<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'include': '{userbase}/include/python{py_version_short}',<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'scripts': '{userbase}/bin',<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'data': '{userbase}',<br class="">-Index: Python-3.5.4/Lib/trace.py<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Lib/trace.py<br class="">-+++ Python-3.5.4/Lib/trace.py<br class="">-@@ -749,10 +749,10 @@ def main(argv=None):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# should I also call expanduser? (after all, could use $HOME)<br class="">+diff --git a/Lib/trace.py b/Lib/trace.py<br class="">+index 86b2101763..f3c32ec317 100755<br class="">+--- a/Lib/trace.py<br class="">++++ b/Lib/trace.py<br class="">+@@ -659,7 +659,7 @@ def main():<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;opts = parser.parse_args()<br class="">+ <br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;if opts.ignore_dir:<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel_path = 'lib', 'python{0.major}.{0.minor}'.format(sys.version_info)<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;rel_path = sys.lib, 'python{0.major}.{0.minor}'.format(sys.version_info)<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_prefix = os.path.join(sys.base_prefix, *rel_path)<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;_exec_prefix = os.path.join(sys.base_exec_prefix, *rel_path)<br class=""><br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s = s.replace("$prefix",<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sys.base_prefix, "lib",<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sys.base_prefix, sys.lib,<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"python" + sys.version[:3]))<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s = s.replace("$exec_prefix",<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sys.base_exec_prefix, "lib",<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sys.base_exec_prefix, sys.lib,<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"python" + sys.version[:3]))<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;s = os.path.normpath(s)<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ignore_dirs.append(s)<br class="">-Index: Python-3.5.4/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-===================================================================<br class="">---- Python-3.5.4.orig/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-+++ Python-3.5.4/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-@@ -109,6 +109,8 @@ CFLAGS_ALIASING=@CFLAGS_ALIASING@<br class="">+diff --git a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a> b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">+index 31b4bcabb3..713215e57d 100644<br class="">+--- a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">++++ b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">+@@ -114,6 +114,8 @@ CFLAGS_ALIASING=@CFLAGS_ALIASING@<br class=""><br class=""> &nbsp;# Machine-dependent subdirectories<br class=""> &nbsp;MACHDEP=<span class="Apple-tab-span" style="white-space:pre">        </span>@MACHDEP@<br class="">@@ -174,7 +171,7 @@ Index: Python-3.5.4/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class=""><br class=""> &nbsp;# Multiarch directory (may be empty)<br class=""> &nbsp;MULTIARCH=<span class="Apple-tab-span" style="white-space:pre">        </span>@MULTIARCH@<br class="">-@@ -128,7 +130,7 @@ LIBDIR=<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>@libdir@<br class="">+@@ -134,7 +136,7 @@ LIBDIR=<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>@libdir@<br class=""> &nbsp;MANDIR=<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>@mandir@<br class=""> &nbsp;INCLUDEDIR=<span class="Apple-tab-span" style="white-space:pre">        </span>@includedir@<br class=""> &nbsp;CONFINCLUDEDIR=<span class="Apple-tab-span" style="white-space:pre">        </span>$(exec_prefix)/include<br class="">@@ -183,7 +180,7 @@ Index: Python-3.5.4/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class=""> &nbsp;ABIFLAGS=<span class="Apple-tab-span" style="white-space:pre">        </span>@ABIFLAGS@<br class=""><br class=""> &nbsp;# Detailed destination directories<br class="">-@@ -731,6 +733,7 @@ Modules/getpath.o: $(srcdir)/Modules/get<br class="">+@@ -754,6 +756,7 @@ Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-DEXEC_PREFIX='"$(exec_prefix)"' \<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-DVERSION='"$(VERSION)"' \<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-DVPATH='"$(VPATH)"' \<br class="">@@ -191,8 +188,8 @@ Index: Python-3.5.4/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-o $@ $(srcdir)/Modules/getpath.c<br class=""><br class=""> &nbsp;Programs/python.o: $(srcdir)/Programs/python.c<br class="">-@@ -813,7 +816,7 @@ regen-opcode:<br class="">- Python/compile.o Python/symtable.o Python/ast.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h<br class="">+@@ -842,7 +845,7 @@ regen-opcode:<br class="">+ Python/compile.o Python/symtable.o Python/ast_unparse.o Python/ast.o: $(srcdir)/Include/graminit.h $(srcdir)/Include/Python-ast.h<br class=""><br class=""> &nbsp;Python/getplatform.o: $(srcdir)/Python/getplatform.c<br class=""> -<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>$(CC) -c $(PY_CORE_CFLAGS) -DPLATFORM='"$(MACHDEP)"' -o $@ $(srcdir)/Python/getplatform.c<br class="">@@ -200,11 +197,11 @@ Index: Python-3.5.4/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class=""><br class=""> &nbsp;Python/importdl.o: $(srcdir)/Python/importdl.c<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>$(CC) -c $(PY_CORE_CFLAGS) -I$(DLINCLDIR) -o $@ $(srcdir)/Python/importdl.c<br class="">-Index: Python-3.5.4/Modules/getpath.c<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Modules/getpath.c<br class="">-+++ Python-3.5.4/Modules/getpath.c<br class="">-@@ -105,6 +105,13 @@<br class="">+diff --git a/Modules/getpath.c b/Modules/getpath.c<br class="">+index 041cb14b4b..d52d1e1cdb 100644<br class="">+--- a/Modules/getpath.c<br class="">++++ b/Modules/getpath.c<br class="">+@@ -106,6 +106,13 @@ extern "C" {<br class=""> &nbsp;#error "PREFIX, EXEC_PREFIX, VERSION, and VPATH must be constant defined"<br class=""> &nbsp;#endif<br class=""><br class="">@@ -218,30 +215,22 @@ Index: Python-3.5.4/Modules/getpath.c<br class=""> &nbsp;#ifndef LANDMARK<br class=""> &nbsp;#define LANDMARK L"os.py"<br class=""> &nbsp;#endif<br class="">-@@ -113,6 +120,7 @@ static wchar_t prefix[MAXPATHLEN+1];<br class="">- static wchar_t exec_prefix[MAXPATHLEN+1];<br class="">- static wchar_t progpath[MAXPATHLEN+1];<br class="">- static wchar_t *module_search_path = NULL;<br class="">-+static wchar_t *lib_python = L"" LIB_PYTHON;<br class="">- <br class="">- /* Get file status. Encode the path to the locale encoding. */<br class="">- <br class="">-@@ -494,7 +502,7 @@ calculate_path(void)<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;_pythonpath = Py_DecodeLocale(PYTHONPATH, NULL);<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;_prefix = Py_DecodeLocale(PREFIX, NULL);<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;_exec_prefix = Py_DecodeLocale(EXEC_PREFIX, NULL);<br class="">-- &nbsp;&nbsp;&nbsp;lib_python = Py_DecodeLocale("lib/python" VERSION, NULL);<br class="">-+ &nbsp;&nbsp;&nbsp;lib_python = Py_DecodeLocale(LIB_PYTHON, NULL);<br class="">- <br class="">- &nbsp;&nbsp;&nbsp;&nbsp;if (!_pythonpath || !_prefix || !_exec_prefix || !lib_python) {<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_FatalError(<br class="">-Index: Python-3.5.4/Python/getplatform.c<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Python/getplatform.c<br class="">-+++ Python-3.5.4/Python/getplatform.c<br class="">+@@ -867,7 +874,7 @@ calculate_init(PyCalculatePath *calculate,<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;if (!calculate-&gt;prefix) {<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;}<br class="">+- &nbsp;&nbsp;&nbsp;calculate-&gt;lib_python = Py_DecodeLocale("lib/python" VERSION, &amp;len);<br class="">++ &nbsp;&nbsp;&nbsp;calculate-&gt;lib_python = Py_DecodeLocale(LIB_PYTHON, &amp;len);<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;if (!calculate-&gt;lib_python) {<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return DECODE_LOCALE_ERR("EXEC_PREFIX define", len);<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;}<br class="">+diff --git a/Python/getplatform.c b/Python/getplatform.c<br class="">+index 81a0f7ac53..bc7127ae3e 100644<br class="">+--- a/Python/getplatform.c<br class="">++++ b/Python/getplatform.c<br class=""> @@ -10,3 +10,23 @@ Py_GetPlatform(void)<br class=""> &nbsp;{<br class="">- <span class="Apple-tab-span" style="white-space:pre">        </span>return PLATFORM;<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;return PLATFORM;<br class=""> &nbsp;}<br class=""> +<br class=""> +#ifndef ARCH<br class="">@@ -263,11 +252,11 @@ Index: Python-3.5.4/Python/getplatform.c<br class=""> +{<br class=""> +<span class="Apple-tab-span" style="white-space:pre">        </span>return LIB;<br class=""> +}<br class="">-Index: Python-3.5.4/Python/sysmodule.c<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/Python/sysmodule.c<br class="">-+++ Python-3.5.4/Python/sysmodule.c<br class="">-@@ -1827,6 +1827,10 @@ _PySys_Init(void)<br class="">+diff --git a/Python/sysmodule.c b/Python/sysmodule.c<br class="">+index 177b830762..38112b831e 100644<br class="">+--- a/Python/sysmodule.c<br class="">++++ b/Python/sysmodule.c<br class="">+@@ -2324,6 +2324,10 @@ _PySys_BeginInit(PyObject **sysmod)<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyUnicode_FromString(Py_GetCopyright()));<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;SET_SYS_FROM_STRING("platform",<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyUnicode_FromString(Py_GetPlatform()));<br class="">@@ -275,16 +264,16 @@ Index: Python-3.5.4/Python/sysmodule.c<br class=""> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyUnicode_FromString(Py_GetArch()));<br class=""> + &nbsp;&nbsp;&nbsp;SET_SYS_FROM_STRING("lib",<br class=""> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyUnicode_FromString(Py_GetLib()));<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;SET_SYS_FROM_STRING("executable",<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyUnicode_FromWideChar(<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Py_GetProgramFullPath(), -1));<br class="">-Index: Python-3.5.4/configure.ac<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/configure.ac<br class="">-+++ Python-3.5.4/configure.ac<br class="">-@@ -885,6 +885,41 @@ PLATDIR=plat-$MACHDEP<br class="">- AC_SUBST(PLATDIR)<br class="">- AC_SUBST(PLATFORM_TRIPLET)<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;SET_SYS_FROM_STRING("maxsize",<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;PyLong_FromSsize_t(PY_SSIZE_T_MAX));<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;SET_SYS_FROM_STRING("float_info",<br class="">+diff --git a/configure.ac b/configure.ac<br class="">+index 5b66624d78..1c88696532 100644<br class="">+--- a/configure.ac<br class="">++++ b/configure.ac<br class="">+@@ -867,6 +867,41 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[]], [[]])],<br class="">+ LDFLAGS="$save_LDFLAGS"<br class="">+ AC_SUBST(NO_AS_NEEDED)<br class=""><br class=""> +AC_SUBST(ARCH)<br class=""> +AC_MSG_CHECKING(ARCH)<br class="">@@ -322,13 +311,13 @@ Index: Python-3.5.4/configure.ac<br class=""> +esac<br class=""> +AC_MSG_RESULT($LIB)<br class=""><br class="">- AC_MSG_CHECKING([for -Wl,--no-as-needed])<br class="">- save_LDFLAGS="$LDFLAGS"<br class="">-Index: Python-3.5.4/setup.py<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/setup.py<br class="">-+++ Python-3.5.4/setup.py<br class="">-@@ -494,7 +494,7 @@ class PyBuildExt(build_ext):<br class="">+ # checks for UNIX variants that set C preprocessor variables<br class="">+ AC_USE_SYSTEM_EXTENSIONS<br class="">+diff --git a/setup.py b/setup.py<br class="">+index 37c5dd58a6..b82b7177bc 100644<br class="">+--- a/setup.py<br class="">++++ b/setup.py<br class="">+@@ -541,7 +541,7 @@ class PyBuildExt(build_ext):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# directories (i.e. '.' and 'Include') must be first. &nbsp;See issue<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# 10520.<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not cross_compiling:<br class="">@@ -337,17 +326,16 @@ Index: Python-3.5.4/setup.py<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# only change this for cross builds for 3.3, issues on Mageia<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if cross_compiling:<br class="">-@@ -552,8 +552,7 @@ class PyBuildExt(build_ext):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# be assumed that no additional -I,-L directives are needed.<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not cross_compiling:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lib_dirs = self.compiler.library_dirs + [<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'/lib64', '/usr/lib64',<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'/lib', '/usr/lib',<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'/' + sys.lib, '/usr/' + sys.lib,<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc_dirs = self.compiler.include_dirs + ['/usr/include']<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br class="">-@@ -745,11 +744,11 @@ class PyBuildExt(build_ext):<br class="">+@@ -579,7 +579,7 @@ class PyBuildExt(build_ext):<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;add_dir_to_list(self.compiler.include_dirs,<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sysconfig.get_config_var("INCLUDEDIR"))<br class="">+ <br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system_lib_dirs = ['/lib64', '/usr/lib64', '/lib', '/usr/lib']<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system_lib_dirs = ['/' + sys.lib, '/usr/' + sys.lib]<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;system_include_dirs = ['/usr/include']<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# lib_dirs and inc_dirs are used to search for files;<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# if a file is found in one of those directories, it can<br class="">+@@ -836,11 +836,11 @@ class PyBuildExt(build_ext):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif curses_library:<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;readline_libs.append(curses_library)<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;elif self.compiler.find_library_file(lib_dirs +<br class="">@@ -361,3 +349,26 @@ Index: Python-3.5.4/setup.py<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;extra_link_args=readline_extra_link_args,<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;libraries=readline_libs) )<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br class="">+@@ -1054,8 +1054,7 @@ class PyBuildExt(build_ext):<br class="">+ <br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# check lib directories parallel to the location of the header<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db_dirs_to_check = [<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db_incdir.replace("include", 'lib64'),<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db_incdir.replace("include", 'lib'),<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;db_incdir.replace("include", sys.lib),<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br class="">+ <br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if host_platform != 'darwin':<br class="">+@@ -1166,10 +1165,8 @@ class PyBuildExt(build_ext):<br class="">+ <br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if sqlite_incdir:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlite_dirs_to_check = [<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sqlite_incdir, '..', 'lib64'),<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sqlite_incdir, '..', 'lib'),<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sqlite_incdir, '..', '..', 'lib64'),<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sqlite_incdir, '..', '..', 'lib'),<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sqlite_incdir, '..', sys.lib),<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.path.join(sqlite_incdir, '..', '..', sys.lib),<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlite_libfile = self.compiler.find_library_file(<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlite_dirs_to_check + lib_dirs, 'sqlite3')<br class="">diff --git a/meta/recipes-devtools/python/python3/python3-manifest.json b/meta/recipes-devtools/python/python3/python3-manifest.json<br class="">index 90a41fbf29..51e605f0d6 100644<br class="">--- a/meta/recipes-devtools/python/python3/python3-manifest.json<br class="">+++ b/meta/recipes-devtools/python/python3/python3-manifest.json<br class="">@@ -206,7 +206,7 @@<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/_collections_abc.py",<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/_markupbase.py",<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/_sitebuiltins.py",<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py",<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata*.py",<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/_weakrefset.py",<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/abc.py",<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"${libdir}/python${PYTHON_MAJMIN}/argparse.py",<br class="">diff --git a/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch b/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch<br class="">index a4f8bd4710..c6aa581b4c 100644<br class="">--- a/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch<br class="">+++ b/meta/recipes-devtools/python/python3/python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch<br class="">@@ -5,21 +5,24 @@ Subject: [PATCH] python3 use CROSSPYTHONPATH for PYTHON_FOR_BUILD<br class=""><br class=""> Upstream-Status: Inappropriate [Cross compile specific]<br class=""><br class="">+2018-08: Rebased and adopted for 3.7<br class="">+ &nbsp;-- Jens<br class="">+<br class=""> Signed-off-by: Jackie Huang &lt;<a href="mailto:jackie.huang@windriver.com" class="">jackie.huang@windriver.com</a>&gt;<br class=""> ---<br class=""> &nbsp;configure.ac | 2 +-<br class=""> &nbsp;1 file changed, 1 insertion(+), 1 deletion(-)<br class=""><br class="">-Index: Python-3.5.4/configure.ac<br class="">-===================================================================<br class="">---- Python-3.5.4.orig/configure.ac<br class="">-+++ Python-3.5.4/configure.ac<br class="">-@@ -73,7 +73,7 @@ if test "$cross_compiling" = yes; then<br class="">+diff --git a/configure.ac b/configure.ac<br class="">+index 2b8aa4d592..a361436f4f 100644<br class="">+--- a/configure.ac<br class="">++++ b/configure.ac<br class="">+@@ -75,7 +75,7 @@ if test "$cross_compiling" = yes; then<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;AC_MSG_ERROR([python$PACKAGE_VERSION interpreter not found])<br class=""> &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AC_MSG_RESULT($interp)<br class="">--<span class="Apple-tab-span" style="white-space:pre">        </span>PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt &amp;&amp; echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib:$(srcdir)/Lib/$(PLATDIR) '$interp<br class="">-+<span class="Apple-tab-span" style="white-space:pre">        </span>PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH) '$interp<br class="">+-<span class="Apple-tab-span" style="white-space:pre">        </span>PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(shell test -f pybuilddir.txt &amp;&amp; echo $(abs_builddir)/`cat pybuilddir.txt`:)$(srcdir)/Lib _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp<br class="">++<span class="Apple-tab-span" style="white-space:pre">        </span>PYTHON_FOR_BUILD='_PYTHON_PROJECT_BASE=$(abs_builddir) _PYTHON_HOST_PLATFORM=$(_PYTHON_HOST_PLATFORM) PYTHONPATH=$(CROSSPYTHONPATH) _PYTHON_SYSCONFIGDATA_NAME=_sysconfigdata_$(ABIFLAGS)_$(MACHDEP)_$(MULTIARCH) '$interp<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fi<br class=""> &nbsp;elif test "$cross_compiling" = maybe; then<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;AC_MSG_ERROR([Cross compiling required --host=HOST-TUPLE and --build=ARCH])<br class="">diff --git a/meta/recipes-devtools/python/python3/regen-all.patch b/meta/recipes-devtools/python/python3/regen-all.patch<br class="">deleted file mode 100644<br class="">index 36b9d9d919..0000000000<br class="">--- a/meta/recipes-devtools/python/python3/regen-all.patch<br class="">+++ /dev/null<br class="">@@ -1,25 +0,0 @@<br class="">-python3-native: run regen-importlib target correctly<br class="">-<br class="">-regen-importlib depends on other regen- targets, so we must be sure to<br class="">-run it after (most of) the others. &nbsp;In reality, we do not need to run it<br class="">-at all since "make" will invoke it, if necessary. &nbsp;We do not want to<br class="">-rely on that, though.<br class="">-<br class="">-Upstream-Status: Pending<br class="">-<br class="">-Signed-off-by: Joe Slater &lt;<a href="mailto:joe.slater@windriver.com" class="">joe.slater@windriver.com</a>&gt;<br class="">-<br class="">-<br class="">-<br class="">---- a/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-+++ b/<a href="http://Makefile.pre.in" class="">Makefile.pre.in</a><br class="">-@@ -709,7 +709,8 @@ regen-importlib: Programs/_freeze_import<br class="">- ############################################################################<br class="">- # Regenerate all generated files<br class="">- <br class="">--regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar regen-ast regen-importlib<br class="">-+regen-all: regen-opcode regen-opcode-targets regen-typeslots regen-grammar regen-ast<br class="">-+<span class="Apple-tab-span" style="white-space:pre">        </span>$(MAKE) regen-importlib<br class="">- <br class="">- ############################################################################<br class="">- # Special rules for object files<br class="">diff --git a/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch b/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch<br class="">index 32ecab9fec..058cfdbc2d 100644<br class="">--- a/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch<br class="">+++ b/meta/recipes-devtools/python/python3/support_SOURCE_DATE_EPOCH_in_py_compile.patch<br class="">@@ -36,12 +36,12 @@ The software will still work, but it will not use the .pyc file as it should.<br class=""> &nbsp;3 files changed, 27 insertions(+)<br class=""><br class=""> diff --git a/Doc/library/py_compile.rst b/Doc/library/py_compile.rst<br class="">-index 0af8fb1..841f3e8 100644<br class="">+index d720e01050..c8cc738f3d 100644<br class=""> --- a/Doc/library/py_compile.rst<br class=""> +++ b/Doc/library/py_compile.rst<br class="">-@@ -53,6 +53,10 @@ byte-code cache files in the directory containing the source code.<br class="">- &nbsp;&nbsp;&nbsp;:func:`compile` function. &nbsp;The default of ``-1`` selects the optimization<br class="">- &nbsp;&nbsp;&nbsp;level of the current interpreter.<br class="">+@@ -59,6 +59,10 @@ byte-code cache files in the directory containing the source code.<br class="">+ &nbsp;&nbsp;&nbsp;*invalidation_mode* will be forced to<br class="">+ &nbsp;&nbsp;&nbsp;:attr:`PycInvalidationMode.CHECKED_HASH`.<br class=""><br class=""> + &nbsp;&nbsp;If the SOURCE_DATE_EPOCH environment variable is set, the .py file mtime<br class=""> + &nbsp;&nbsp;and timestamp entry in .pyc file header, will be limited to this value.<br class="">@@ -51,27 +51,27 @@ index 0af8fb1..841f3e8 100644<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Changed default value of *cfile* to be :PEP:`3147`-compliant. &nbsp;Previous<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default was *file* + ``'c'`` (``'o'`` if optimization was enabled).<br class=""> diff --git a/Lib/py_compile.py b/Lib/py_compile.py<br class="">-index 11c5b50..62dcdc7 100644<br class="">+index 16dc0a011f..b7c28e4fdd 100644<br class=""> --- a/Lib/py_compile.py<br class=""> +++ b/Lib/py_compile.py<br class="">-@@ -137,6 +137,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;except FileExistsError:<br class="">+@@ -149,6 +149,10 @@ def compile(file, cfile=None, dfile=None, doraise=False, optimize=-1,<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pass<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;source_stats = loader.path_stats(file)<br class="">-+ &nbsp;&nbsp;&nbsp;sde = os.environ.get('SOURCE_DATE_EPOCH')<br class="">-+ &nbsp;&nbsp;&nbsp;if sde and source_stats['mtime'] &gt; int(sde):<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source_stats['mtime'] = int(sde)<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.utime(file, (source_stats['mtime'], source_stats['mtime']))<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;bytecode = importlib._bootstrap_external._code_to_bytecode(<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;if invalidation_mode == PycInvalidationMode.TIMESTAMP:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source_stats = loader.path_stats(file)<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sde = os.environ.get('SOURCE_DATE_EPOCH')<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if sde and source_stats['mtime'] &gt; int(sde):<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;source_stats['mtime'] = int(sde)<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;os.utime(file, (source_stats['mtime'], source_stats['mtime']))<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;bytecode = importlib._bootstrap_external._code_to_timestamp_pyc(<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;code, source_stats['mtime'], source_stats['size'])<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;mode = importlib._bootstrap_external._calc_mode(file)<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;else:<br class=""> diff --git a/Lib/test/test_py_compile.py b/Lib/test/test_py_compile.py<br class="">-index 4a6caa5..3d09963 100644<br class="">+index 8fc0b3308c..1445a14548 100644<br class=""> --- a/Lib/test/test_py_compile.py<br class=""> +++ b/Lib/test/test_py_compile.py<br class="">-@@ -98,6 +98,25 @@ def test_bad_coding(self):<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.assertFalse(os.path.exists(<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;importlib.util.cache_from_source(bad_coding)))<br class="">+@@ -110,6 +110,25 @@ class PyCompileTests(unittest.TestCase):<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;fp.read(), 'test', {})<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;self.assertEqual(flags, 0b11)<br class=""><br class=""> + &nbsp;&nbsp;&nbsp;def test_source_date_epoch(self):<br class=""> + &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;testtime = 123456789<br class="">diff --git a/meta/recipes-devtools/python/python3/sysroot-include-headers.patch b/meta/recipes-devtools/python/python3/sysroot-include-headers.patch<br class="">index 785b5567f2..d5983544c4 100644<br class="">--- a/meta/recipes-devtools/python/python3/sysroot-include-headers.patch<br class="">+++ b/meta/recipes-devtools/python/python3/sysroot-include-headers.patch<br class="">@@ -6,26 +6,27 @@ Should fix things like<br class=""> configure:6972: arm-angstrom-linux-gnueabi-gcc &nbsp;-march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a8 -DNDEBUG -fno-inline -D__SOFTFP__ --sysroot=/build/v2013.06/build/tmp-angstrom_v2013_06-eglibc/sysroots/beaglebone -c -O2 -pipe -g -feliminate-unused-debug-types &nbsp;-I/usr/include/ncursesw conftest.c &gt;&amp;5<br class=""> cc1: warning: include location "/usr/include/ncursesw" is unsafe for cross-compilation [-Wpoison-system-directories]<br class=""><br class="">+2018-08: Rebased to 3.7.0<br class="">+ &nbsp;-- Jens<br class=""><br class=""> Signed-off-by: Khem Raj<br class=""> Upstream-Status: Pending<br class=""><br class="">-<br class="">-Index: Python-3.3.2/setup.py<br class="">-===================================================================<br class="">---- Python-3.3.2.orig/setup.py<span class="Apple-tab-span" style="white-space:pre">        </span>2013-07-30 01:30:48.000000000 -0700<br class="">-+++ Python-3.3.2/setup.py<span class="Apple-tab-span" style="white-space:pre">        </span>2013-07-30 01:41:11.697862723 -0700<br class="">-@@ -1210,7 +1210,7 @@<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;panel_library = 'panel'<br class="">+diff --git a/setup.py b/setup.py<br class="">+index 37c5dd58a6..41e88a152b 100644<br class="">+--- a/setup.py<br class="">++++ b/setup.py<br class="">+@@ -1333,7 +1333,7 @@ class PyBuildExt(build_ext):<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if curses_library == 'ncursesw':<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses_defines.append(('HAVE_NCURSESW', '1'))<br class="">-- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses_includes.append('/usr/include/ncursesw')<br class="">-+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses_includes.append('=/usr/include/ncursesw')<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if not cross_compiling:<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses_includes.append('/usr/include/ncursesw')<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;curses_includes.append('=/usr/include/ncursesw')<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Bug 1464056: If _curses.so links with ncursesw,<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# _curses_panel.so must link with panelw.<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;panel_library = 'panelw'<br class="">-@@ -1819,7 +1819,7 @@<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if host_platform == 'darwin':<br class="">+@@ -1968,7 +1968,7 @@ class PyBuildExt(build_ext):<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# OS X 10.5 comes with libffi.dylib; the include files are<br class=""> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# in /usr/include/ffi<br class=""> - &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;inc_dirs.append('/usr/include/ffi')<br class="">diff --git a/meta/recipes-devtools/python/python3/uuid_when_cross_compiling.patch b/meta/recipes-devtools/python/python3/uuid_when_cross_compiling.patch<br class="">new file mode 100644<br class="">index 0000000000..76623ce9e7<br class="">--- /dev/null<br class="">+++ b/meta/recipes-devtools/python/python3/uuid_when_cross_compiling.patch<br class="">@@ -0,0 +1,22 @@<br class="">+Subject: [PATCH] util-linux uuid support<br class="">+<br class="">+Scan for uuid.h in include/uuid/ as well as in include/ to catch<br class="">+the uuid/uuid.h well supported but accidently not detected.<br class="">+<br class="">+Signed-off-by: Jens Rehsack &lt;<a href="mailto:sno@NetBSD.org" class="">sno@NetBSD.org</a>&gt;<br class="">+diff --git a/setup.py b/setup.py<br class="">+index a97a7559ca..01d8f24fdd 100644<br class="">+--- a/setup.py<br class="">++++ b/setup.py<br class="">+@@ -1596,8 +1596,9 @@ class PyBuildExt(build_ext):<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# &nbsp;&nbsp;&nbsp;missing.append('_tkinter')<br class="">+ <br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Build the _uuid module if possible<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid_incs = find_file("uuid.h", inc_dirs, ["/usr/include/uuid"])<br class="">+- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if uuid_incs is not None:<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid_incs = find_file("uuid.h", inc_dirs, [])<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid_uuid_incs = find_file("uuid/uuid.h", inc_dirs, [])<br class="">++ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if uuid_incs is not None or uuid_uuid_incs is not None:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if self.compiler.find_library_file(lib_dirs, 'uuid'):<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;uuid_libs = ['uuid']<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;else:<br class="">diff --git a/meta/recipes-devtools/python/python3_3.5.5.bb b/meta/recipes-devtools/python/python3_3.5.5.bb<br class="">deleted file mode 100644<br class="">index 9e31fa6f29..0000000000<br class="">--- a/meta/recipes-devtools/python/python3_3.5.5.bb<br class="">+++ /dev/null<br class="">@@ -1,346 +0,0 @@<br class="">-require recipes-devtools/python/python.inc<br class="">-<br class="">-DEPENDS = "python3-native libffi bzip2 gdbm openssl \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sqlite3 zlib virtual/libintl xz qemu-native \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qemu-helper-native virtual/crypt"<br class="">-<br class="">-PR = "${INC_PR}.0"<br class="">-PYTHON_MAJMIN = "3.5"<br class="">-PYTHON_BINABI = "${PYTHON_MAJMIN}m"<br class="">-DISTRO_SRC_URI ?= "<a href="file://sitecustomize.py" class="">file://sitecustomize.py</a>"<br class="">-DISTRO_SRC_URI_linuxstdbase = ""<br class="">-SRC_URI = "<a href="http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" class="">http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz</a> \<br class="">-<a href="file://python-config.patch" class="">file://python-config.patch</a> \<br class="">-<a href="file://0001-cross-compile-support.patch" class="">file://0001-cross-compile-support.patch</a> \<br class="">-<a href="file://030-fixup-include-dirs.patch" class="">file://030-fixup-include-dirs.patch</a> \<br class="">-<a href="file://070-dont-clean-ipkg-install.patch" class="">file://070-dont-clean-ipkg-install.patch</a> \<br class="">-<a href="file://080-distutils-dont_adjust_files.patch" class="">file://080-distutils-dont_adjust_files.patch</a> \<br class="">-<a href="file://130-readline-setup.patch" class="">file://130-readline-setup.patch</a> \<br class="">-<a href="file://150-fix-setupterm.patch" class="">file://150-fix-setupterm.patch</a> \<br class="">-<a href="file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch" class="">file://0001-h2py-Fix-issue-13032-where-it-fails-with-UnicodeDeco.patch</a> \<br class="">-<a href="file://tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch" class="">file://tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch</a> \<br class="">-<a href="file://support_SOURCE_DATE_EPOCH_in_py_compile.patch" class="">file://support_SOURCE_DATE_EPOCH_in_py_compile.patch</a> \<br class="">-${DISTRO_SRC_URI} \<br class="">-"<br class="">-<br class="">-SRC_URI += "\<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///03-fix-tkinter-detection.patch" class="">file://03-fix-tkinter-detection.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///avoid_warning_about_tkinter.patch" class="">file://avoid_warning_about_tkinter.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///cgi_py.patch" class="">file://cgi_py.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///host_include_contamination.patch" class="">file://host_include_contamination.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///python-3.3-multilib.patch" class="">file://python-3.3-multilib.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///shutil-follow-symlink-fix.patch" class="">file://shutil-follow-symlink-fix.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///sysroot-include-headers.patch" class="">file://sysroot-include-headers.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///unixccompiler.patch" class="">file://unixccompiler.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///avoid-ncursesw-include-path.patch" class="">file://avoid-ncursesw-include-path.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch" class="">file://python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///sysconfig.py-add-_PYTHON_PROJECT_SRC.patch" class="">file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///setup.py-check-cross_compiling-when-get-FLAGS.patch" class="">file://setup.py-check-cross_compiling-when-get-FLAGS.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///configure.ac-fix-LIBPL.patch" class="">file://configure.ac-fix-LIBPL.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch" class="">file://0001-Issue-21272-Use-_sysconfigdata.py-to-initialize-dist.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///pass-missing-libraries-to-Extension-for-mul.patch" class="">file://pass-missing-libraries-to-Extension-for-mul.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///Use-correct-CFLAGS-for-extensions-when-cross-compili.patch" class="">file://Use-correct-CFLAGS-for-extensions-when-cross-compili.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="file:///0002-Makefile-add-target-to-split-profile-generation.patch" class="">file://0002-Makefile-add-target-to-split-profile-generation.patch</a> \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"<br class="">-SRC_URI[md5sum] = "f3763edf9824d5d3a15f5f646083b6e0"<br class="">-SRC_URI[sha256sum] = "063d2c3b0402d6191b90731e0f735c64830e7522348aeb7ed382a83165d45009"<br class="">-<br class="">-LIC_FILES_CHKSUM = "<a href="file://LICENSE;md5=b6ec515b22618f55fa07276b897bacea" class="">file://LICENSE;md5=b6ec515b22618f55fa07276b897bacea</a>"<br class="">-<br class="">-# exclude pre-releases for both python 2.x and 3.x<br class="">-UPSTREAM_CHECK_REGEX = "[Pp]ython-(?P&lt;pver&gt;\d+(\.\d+)+).tar"<br class="">-<br class="">-S = "${WORKDIR}/Python-${PV}"<br class="">-<br class="">-inherit autotools multilib_header python3native pkgconfig update-alternatives qemu<br class="">-<br class="">-MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"<br class="">-<br class="">-ALTERNATIVE_${PN}-dev = "python-config"<br class="">-ALTERNATIVE_LINK_NAME[python-config] = "${bindir}/python${PYTHON_BINABI}-config"<br class="">-ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"<br class="">-<br class="">-CONFIGUREOPTS += " --with-system-ffi "<br class="">-<br class="">-CACHED_CONFIGUREVARS = "ac_cv_have_chflags=no \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_have_lchflags=no \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_have_long_long_format=yes \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_buggy_getaddrinfo=no \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_file__dev_ptmx=yes \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_file__dev_ptc=no \<br class="">-"<br class="">-<br class="">-TARGET_CC_ARCH += "-DNDEBUG -fno-inline"<br class="">-SDK_CC_ARCH += "-DNDEBUG -fno-inline"<br class="">-EXTRA_OEMAKE += "CROSS_COMPILE=yes"<br class="">-EXTRA_OECONF += "CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ --without-ensurepip --enable-optimizations"<br class="">-PYTHON3_PROFILE_TASK ?= "${S}/Tools/pybench/pybench.py -n 1"<br class="">-<br class="">-export CROSS_COMPILE = "${TARGET_PREFIX}"<br class="">-export _PYTHON_PROJECT_BASE = "${B}"<br class="">-export _PYTHON_PROJECT_SRC = "${S}"<br class="">-export CCSHARED = "-fPIC"<br class="">-<br class="">-# Fix cross compilation of different modules<br class="">-export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/:${B}/build/lib.linux-${TARGET_ARCH}-${PYTHON_MAJMIN}:${S}/Lib:${S}/Lib/plat-linux"<br class="">-<br class="">-# No ctypes option for python 3<br class="">-PYTHONLSBOPTS = ""<br class="">-<br class="">-PACKAGECONFIG ??= "readline"<br class="">-PACKAGECONFIG[readline] = ",,readline"<br class="">-<br class="">-do_configure_append() {<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>rm -f ${S}/Makefile.orig<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>autoreconf -Wcross --verbose --install --force --exclude=autopoint ../Python-${PV}/Modules/_ctypes/libffi<br class="">-}<br class="">-<br class="">-do_compile() {<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# regenerate platform specific files, because they depend on system headers<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd ${S}/Lib/plat-linux*<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;include=${STAGING_INCDIR} ${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${S}/Tools/scripts/h2py.py -i '(u_long)' \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/dlfcn.h \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/linux/cdrom.h \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/netinet/in.h \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/sys/types.h<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed -e 's,${STAGING_DIR_HOST},,g' -i *.py<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cd -<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># remove any bogus LD_LIBRARY_PATH<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e s,RUNSHARED=.*,RUNSHARED=, Makefile<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>if [ ! -f Makefile.orig ]; then<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile Makefile.orig<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e 's,^CONFIGURE_LDFLAGS=.*,CONFIGURE_LDFLAGS=-L. -L${STAGING_LIBDIR},g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,libdir=${libdir},libdir=${STAGING_LIBDIR},g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,libexecdir=${libexecdir},libexecdir=${STAGING_DIR_HOST}${libexecdir},g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,^LIBDIR=.*,LIBDIR=${STAGING_LIBDIR},g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,includedir=${includedir},includedir=${STAGING_INCDIR},g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>Makefile<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># save copy of it now, because if we do it in do_install and <br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># then call do_install twice we get Makefile.orig == Makefile.sysroot<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile Makefile.sysroot<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_LIBDIR=${STAGING_LIBDIR} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_INCDIR=${STAGING_INCDIR} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIB=${baselib} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ARCH=${TARGET_ARCH} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPT="${CFLAGS}" profile-opt<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cat &gt; pgo-image-qemuwrapper &lt;&lt; EOF<br class="">-#!/bin/sh<br class="">-set -x<br class="">-$qemu_binary "\$@"<br class="">-EOF<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chmod +x pgo-image-qemuwrapper<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./pgo-image-qemuwrapper ${B}/python ${PYTHON3_PROFILE_TASK} || true<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_LIBDIR=${STAGING_LIBDIR} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_INCDIR=${STAGING_INCDIR} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIB=${baselib} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ARCH=${TARGET_ARCH} \<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPT="${CFLAGS}" clean_and_use_profile<br class="">-}<br class="">-<br class="">-do_install() {<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># make install needs the original Makefile, or otherwise the inclues would<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># go to ${D}${STAGING...}/...<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile.orig Makefile<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${libdir}/pkgconfig<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${libdir}/python${PYTHON_MAJMIN}/config<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># rerun the build once again with original makefile this time<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># run install in a separate step to avoid compile/install race<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_LIBDIR=${STAGING_LIBDIR} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_INCDIR=${STAGING_INCDIR} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>LIB=${baselib} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>ARCH=${TARGET_ARCH} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>DESTDIR=${D} LIBDIR=${libdir} build_all_use_profile<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_LIBDIR=${STAGING_LIBDIR} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_INCDIR=${STAGING_INCDIR} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>LIB=${baselib} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>ARCH=${TARGET_ARCH} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>DESTDIR=${D} LIBDIR=${libdir} install<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># avoid conflict with 2to3 from Python 2<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>rm -f ${D}/${bindir}/2to3<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>if [ -e ${WORKDIR}/sitecustomize.py ]; then<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>oe_multilib_header python${PYTHON_BINABI}/pyconfig.h<br class="">-}<br class="">-<br class="">-do_install_append_class-nativesdk () {<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'<br class="">-}<br class="">-<br class="">-SSTATE_SCAN_FILES += "Makefile"<br class="">-PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"<br class="">-<br class="">-py_package_preprocess () {<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># copy back the old Makefile to fix target package<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># Remove references to buildmachine paths in target Makefile and _sysconfigdata<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's|${DEBUG_PREFIX_MAP}||g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${HOSTTOOLS_DIR}/::g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${RECIPE_SYSROOT_NATIVE}::g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${RECIPE_SYSROOT}::g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_MAJMIN}${PYTHON_ABI}/Makefile \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${bindir}/python${PYTHON_BINABI}-config<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span># Recompile _sysconfigdata after modifying it<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>cd ${PKGD}<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;&nbsp;-c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py')"<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;&nbsp;-c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py', optimize=1)"<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;&nbsp;-c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata.py', optimize=2)"<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>cd -<br class="">-<br class="">-<span class="Apple-tab-span" style="white-space:pre">        </span>mv ${PKGD}/${bindir}/python3.5m-config ${PKGD}/${bindir}/python3.5m-config-${MULTILIB_SUFFIX}<br class="">-}<br class="">-<br class="">-# manual dependency additions<br class="">-RPROVIDES_${PN}-modules = "${PN}"<br class="">-RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"<br class="">-RRECOMMENDS_${PN}-crypt = "openssl"<br class="">-RRECOMMENDS_${PN}-crypt_class-nativesdk = "nativesdk-openssl"<br class="">-<br class="">-FILES_${PN}-2to3 += "${bindir}/2to3-${PYTHON_MAJMIN}"<br class="">-FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"<br class="">-FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"<br class="">-<br class="">-PACKAGES =+ "${PN}-pyvenv"<br class="">-FILES_${PN}-pyvenv += "${bindir}/pyvenv-${PYTHON_MAJMIN} ${bindir}/pyvenv"<br class="">-<br class="">-# package libpython3<br class="">-PACKAGES =+ "libpython3 libpython3-staticdev"<br class="">-FILES_libpython3 = "${libdir}/libpython*.so.*"<br class="">-FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}/libpython${PYTHON_BINABI}.a"<br class="">-INSANE_SKIP_${PN}-dev += "dev-elf"<br class="">-<br class="">-# catch all the rest (unsorted)<br class="">-PACKAGES += "${PN}-misc"<br class="">-RDEPENDS_${PN}-misc += "${PN}-core ${PN}-email ${PN}-codecs"<br class="">-RDEPENDS_${PN}-modules += "${PN}-misc"<br class="">-FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}"<br class="">-<br class="">-# catch manpage<br class="">-PACKAGES += "${PN}-man"<br class="">-FILES_${PN}-man = "${datadir}/man"<br class="">-<br class="">-BBCLASSEXTEND = "nativesdk"<br class="">-<br class="">-RPROVIDES_${PN} += "${PN}-modules"<br class="">-<br class="">-# We want bytecode precompiled .py files (.pyc's) by default<br class="">-# but the user may set it on their own conf<br class="">-INCLUDE_PYCS ?= "1"<br class="">-<br class="">-python(){<br class="">- &nbsp;&nbsp;&nbsp;import json<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json')<br class="">- &nbsp;&nbsp;&nbsp;# This python changes the datastore based on the contents of a file, so mark<br class="">- &nbsp;&nbsp;&nbsp;# that dependency.<br class="">- &nbsp;&nbsp;&nbsp;bb.parse.mark_dependency(d, filename)<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;with open(filename) as manifest_file:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;python_manifest=json.load(manifest_file)<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;include_pycs = d.getVar('INCLUDE_PYCS')<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;packages = d.getVar('PACKAGES').split()<br class="">- &nbsp;&nbsp;&nbsp;pn = d.getVar('PN')<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;newpackages=[]<br class="">- &nbsp;&nbsp;&nbsp;for key in python_manifest:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pypackage= pn + '-' + key<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if pypackage not in packages:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# We need to prepend, otherwise python-misc gets everything<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# so we use a new variable<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newpackages.append(pypackage)<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# "Build" python's manifest FILES, RDEPENDS and SUMMARY<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.setVar('FILES_' + pypackage, '')<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for value in python_manifest[key]['files']:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.appendVar('FILES_' + pypackage, ' ' + value)<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span># Add cached files<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if include_pycs == '1':<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for value in python_manifest[key]['cached']:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.appendVar('FILES_' + pypackage, ' ' + value)<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.setVar('RDEPENDS_' + pypackage, '')<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for value in python_manifest[key]['rdepends']:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Make it work with or without $PN<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if '${PN}' in value:<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value=value.split('-')[1]<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)<br class="">- &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;# We need to ensure staticdev packages match for files first so we sort in reverse<br class="">- &nbsp;&nbsp;&nbsp;newpackages.sort(reverse=True)<br class="">- &nbsp;&nbsp;&nbsp;# Prepending so to avoid python-misc getting everything<br class="">- &nbsp;&nbsp;&nbsp;packages = newpackages + packages<br class="">- &nbsp;&nbsp;&nbsp;d.setVar('PACKAGES', ' '.join(packages))<br class="">- &nbsp;&nbsp;&nbsp;d.setVar('ALLOW_EMPTY_${PN}-modules', '1')<br class="">-}<br class="">-<br class="">-# Files needed to create a new manifest<br class="">-SRC_URI += "<a href="file://create_manifest3.py" class="">file://create_manifest3.py</a> <a href="file:///get_module_deps3.py" class="">file://get_module_deps3.py</a> <a href="file://python3-manifest.json" class="">file://python3-manifest.json</a>"<br class="">-<br class="">-do_create_manifest() {<br class="">- &nbsp;&nbsp;&nbsp;# This task should be run with every new release of Python.<br class="">- &nbsp;&nbsp;&nbsp;# We must ensure that PACKAGECONFIG enables everything when creating<br class="">- &nbsp;&nbsp;&nbsp;# a new manifest, this is to base our new manifest on a complete<br class="">- &nbsp;&nbsp;&nbsp;# native python build, containing all dependencies, otherwise the task<br class="">- &nbsp;&nbsp;&nbsp;# wont be able to find the required files.<br class="">- &nbsp;&nbsp;&nbsp;# e.g. BerkeleyDB is an optional build dependency so it may or may not<br class="">- &nbsp;&nbsp;&nbsp;# be present, we must ensure it is.<br class="">-<br class="">- &nbsp;&nbsp;&nbsp;cd ${WORKDIR}<br class="">- &nbsp;&nbsp;&nbsp;# This needs to be executed by python-native and NOT by HOST's python<br class="">- &nbsp;&nbsp;&nbsp;nativepython3 create_manifest3.py ${PYTHON_MAJMIN}<br class="">- &nbsp;&nbsp;&nbsp;cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json<br class="">-}<br class="">-<br class="">-# bitbake python -c create_manifest<br class="">-addtask do_create_manifest<br class="">-<br class="">-# Make sure we have native python ready when we create a new manifest<br class="">-do_create_manifest[depends] += "python3:do_prepare_recipe_sysroot"<br class="">-do_create_manifest[depends] += "python3:do_patch"<br class="">diff --git a/meta/recipes-devtools/python/python3_3.7.0.bb b/meta/recipes-devtools/python/python3_3.7.0.bb<br class="">new file mode 100644<br class="">index 0000000000..22e9799424<br class="">--- /dev/null<br class="">+++ b/meta/recipes-devtools/python/python3_3.7.0.bb<br class="">@@ -0,0 +1,316 @@<br class="">+require recipes-devtools/python/python3.inc<br class="">+<br class="">+DEPENDS = "libffi bzip2 gdbm openssl sqlite3 zlib xz \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;util-linux libtirpc libnsl2 virtual/libintl virtual/crypt"<br class="">+DEPENDS += "${@["qemu-native qemu-helper-native", ""][(bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 0, 1, d))]}"<br class="">+<br class="">+PYTHON_BINABI = "${PYTHON_MAJMIN}${PYTHON_ABI}"<br class="">+<br class="">+SRC_URI += "<a href="http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz" class="">http://www.python.org/ftp/python/${PV}/Python-${PV}.tar.xz</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch" class="">file://tweak-MULTIARCH-for-powerpc-linux-gnuspe.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///cgi_py.patch" class="">file://cgi_py.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///host_include_contamination.patch" class="">file://host_include_contamination.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///uuid_when_cross_compiling.patch" class="">file://uuid_when_cross_compiling.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///avoid-ncursesw-include-path.patch" class="">file://avoid-ncursesw-include-path.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch" class="">file://python3-use-CROSSPYTHONPATH-for-PYTHON_FOR_BUILD.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///configure.ac-fix-LIBPL.patch" class="">file://configure.ac-fix-LIBPL.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///pass-missing-libraries-to-Extension-for-mul.patch" class="">file://pass-missing-libraries-to-Extension-for-mul.patch</a> \<br class="">+ &nbsp;&nbsp;&nbsp;<a href="file:///Use-correct-CFLAGS-for-extensions-when-cross-compili.patch" class="">file://Use-correct-CFLAGS-for-extensions-when-cross-compili.patch</a> \<br class="">+"<br class="">+<br class="">+inherit multilib_header python3native update-alternatives qemu<br class="">+<br class="">+MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"<br class="">+<br class="">+ALTERNATIVE_${PN}-dev = "python-config"<br class="">+ALTERNATIVE_LINK_NAME[python-config] = "${bindir}/python${PYTHON_BINABI}-config"<br class="">+ALTERNATIVE_TARGET[python-config] = "${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}"<br class="">+<br class="">+CACHED_CONFIGUREVARS = "ac_cv_have_chflags=no \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_have_lchflags=no \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_have_long_long_format=yes \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_buggy_getaddrinfo=no \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_file__dev_ptmx=yes \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ac_cv_file__dev_ptc=no \<br class="">+"<br class="">+<br class="">+TARGET_CC_ARCH += "-DNDEBUG -fno-inline"<br class="">+SDK_CC_ARCH += "-DNDEBUG -fno-inline"<br class="">+EXTRA_OEMAKE += "CROSS_COMPILE=yes"<br class="">+EXTRA_OECONF += "CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ --without-ensurepip --enable-optimizations"<br class="">+PYTHON3_PROFILE_TASK ?= "${S}/Tools/pybench/pybench.py -n 1"<br class="">+<br class="">+export CROSS_COMPILE = "${TARGET_PREFIX}"<br class="">+export _PYTHON_PROJECT_BASE = "${B}"<br class="">+export _PYTHON_PROJECT_SRC = "${S}"<br class="">+export CCSHARED = "-fPIC"<br class="">+<br class="">+# Fix cross compilation of different modules<br class="">+export CROSSPYTHONPATH = "${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/:${B}/build/lib.linux-${TARGET_ARCH}-${PYTHON_MAJMIN}:${S}/Lib:${S}/Lib/plat-linux"<br class="">+<br class="">+# No ctypes option for python 3<br class="">+PYTHONLSBOPTS = ""<br class="">+<br class="">+PACKAGECONFIG ??= "readline"<br class="">+PACKAGECONFIG[readline] = ",,readline"<br class="">+<br class="">+do_compile() {<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# regenerate platform specific files, because they depend on system headers<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#cd ${S}/Lib/plat-linux*<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#include=${STAGING_INCDIR} ${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${S}/Tools/scripts/h2py.py -i '(u_long)' \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/dlfcn.h \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/linux/cdrom.h \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/netinet/in.h \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;${STAGING_INCDIR}/sys/types.h<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#sed -e 's,${STAGING_DIR_HOST},,g' -i *.py<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#cd -<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># remove any bogus LD_LIBRARY_PATH<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e s,RUNSHARED=.*,RUNSHARED=, Makefile<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>if [ ! -f Makefile.orig ]; then<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile Makefile.orig<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e 's,^CONFIGURE_LDFLAGS=.*,CONFIGURE_LDFLAGS=-L. -L${STAGING_LIBDIR},g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,libdir=${libdir},libdir=${STAGING_LIBDIR},g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,libexecdir=${libexecdir},libexecdir=${STAGING_DIR_HOST}${libexecdir},g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,^LIBDIR=.*,LIBDIR=${STAGING_LIBDIR},g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,includedir=${includedir},includedir=${STAGING_INCDIR},g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,^INCLUDEDIR=.*,INCLUDE=${STAGING_INCDIR},g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's,^CONFINCLUDEDIR=.*,CONFINCLUDE=${STAGING_INCDIR},g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>Makefile<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if ${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', 'true', 'false', d)}; then<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;qemu_binary="${@qemu_wrapper_cmdline(d, '${STAGING_DIR_TARGET}', ['${B}', '${STAGING_DIR_TARGET}/${base_libdir}'])}"<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cat &gt; ${B}/pgo-image-qemuwrapper &lt;&lt; EOF<br class="">+#!/bin/sh<br class="">+set -x<br class="">+$qemu_binary "\$@"<br class="">+EOF<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;chmod +x ${B}/pgo-image-qemuwrapper<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;./pgo-image-qemuwrapper ${B}/python ${PYTHON3_PROFILE_TASK} || true<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed -i -e 's,$(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK),'"${B}/pgo-image-qemuwrapper ${B}/python ${PYTHON3_PROFILE_TASK}," \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makefile<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>else<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sed -i -e 's,$(LLVM_PROF_FILE) $(RUNSHARED) ./$(BUILDPYTHON) $(PROFILE_TASK),,' \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Makefile<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># save copy of it now, because if we do it in do_install and <br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># then call do_install twice we get Makefile.orig == Makefile.sysroot<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile Makefile.sysroot<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_LIBDIR=${STAGING_LIBDIR} \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_INCDIR=${STAGING_INCDIR} \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;LIB=${baselib} \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ARCH=${TARGET_ARCH} \<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;OPT="${CFLAGS}" profile-opt<br class="">+}<br class="">+<br class="">+do_install() {<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># make install needs the original Makefile, or otherwise the inclues would<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># go to ${D}${STAGING...}/...<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile.orig Makefile<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${libdir}/pkgconfig<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -d ${D}${libdir}/python${PYTHON_MAJMIN}/config<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># rerun the build once again with original makefile this time<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># run install in a separate step to avoid compile/install race<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_LIBDIR=${STAGING_LIBDIR} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_INCDIR=${STAGING_INCDIR} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>LIB=${baselib} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>ARCH=${TARGET_ARCH} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>DESTDIR=${D} LIBDIR=${libdir} build_all<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python3-native/pgen \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python3-native/python3 \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_LIBDIR=${STAGING_LIBDIR} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_INCDIR=${STAGING_INCDIR} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>LIB=${baselib} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>ARCH=${TARGET_ARCH} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>DESTDIR=${D} LIBDIR=${libdir} install<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># avoid conflict with 2to3 from Python 2<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>rm -f ${D}/${bindir}/2to3<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>set -x<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 Makefile.sysroot ${D}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-${MULTIARCH}/Makefile<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>if [ -e ${WORKDIR}/sitecustomize.py ]; then<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${WORKDIR}/sitecustomize.py ${D}/${libdir}/python${PYTHON_MAJMIN}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>oe_multilib_header python${PYTHON_BINABI}/pyconfig.h<br class="">+}<br class="">+<br class="">+do_install_append_class-nativesdk () {<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'<br class="">+}<br class="">+<br class="">+SSTATE_SCAN_FILES += "Makefile"<br class="">+PACKAGE_PREPROCESS_FUNCS += "py_package_preprocess"<br class="">+<br class="">+py_package_preprocess () {<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>MAKESETTINGS="$(egrep '^(ABIFLAGS|MULTIARCH)=' ${B}/Makefile | sed -E -e 's/[[:space:]]//g' -e 's/=/="/' -e 's/$/"/')"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>eval ${MAKESETTINGS}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>if test "${ABIFLAGS}" != "${PYTHON_ABI}"; then<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;die "do_install: configure determined ABIFLAGS '${ABIFLAGS}' != '${PYTHON_ABI}' from python3-dir.bbclass"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>if test "x${BUILD_OS}" = "x${TARGET_OS}"; then<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span># no cross-compile at all<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>_PYTHON_SYSCONFIGDATA_NAME=${PYTHON_ABI}_${TARGET_OS}_${MULTIARCH}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>else<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span># at the very moment, it's the only available target<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>_PYTHON_SYSCONFIGDATA_NAME=${PYTHON_ABI}_linux_${MULTIARCH}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>fi<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># copy back the old Makefile to fix target package<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>install -m 0644 ${B}/Makefile.orig ${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-${MULTIARCH}/Makefile<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># Remove references to buildmachine paths in target Makefile and _sysconfigdata<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>sed -i -e 's:--sysroot=${STAGING_DIR_TARGET}::g' -e s:'--with-libtool-sysroot=${STAGING_DIR_TARGET}'::g \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's|${DEBUG_PREFIX_MAP}||g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${HOSTTOOLS_DIR}/::g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${RECIPE_SYSROOT_NATIVE}::g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${RECIPE_SYSROOT}::g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>-e 's:${BASE_WORKDIR}/${MULTIMACH_TARGET_SYS}::g' \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config/Makefile \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}-${MULTIARCH}/Makefile \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata_${_PYTHON_SYSCONFIGDATA_NAME}.py \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span><span class="Apple-tab-span" style="white-space:pre">        </span>${PKGD}/${bindir}/python${PYTHON_BINABI}-config<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span># Recompile _sysconfigdata after modifying it<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>cd ${PKGD}<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;&nbsp;-c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata_${_PYTHON_SYSCONFIGDATA_NAME}.py')"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;&nbsp;-c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata_${_PYTHON_SYSCONFIGDATA_NAME}.py', optimize=1)"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>${STAGING_BINDIR_NATIVE}/${PYTHON_PN}-native/${PYTHON_PN} \<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span> &nbsp;&nbsp;&nbsp;&nbsp;-c "from py_compile import compile; compile('./${libdir}/python${PYTHON_MAJMIN}/_sysconfigdata_${_PYTHON_SYSCONFIGDATA_NAME}.py', optimize=2)"<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>cd -<br class="">+<br class="">+<span class="Apple-tab-span" style="white-space:pre">        </span>mv ${PKGD}/${bindir}/python${PYTHON_BINABI}-config ${PKGD}/${bindir}/python${PYTHON_BINABI}-config-${MULTILIB_SUFFIX}<br class="">+}<br class="">+<br class="">+# manual dependency additions<br class="">+RPROVIDES_${PN}-modules = "${PN}"<br class="">+RRECOMMENDS_${PN}-core_append_class-nativesdk = " nativesdk-python3-modules"<br class="">+RRECOMMENDS_${PN}-crypt = "openssl"<br class="">+RRECOMMENDS_${PN}-crypt_class-nativesdk = "nativesdk-openssl"<br class="">+<br class="">+FILES_${PN}-2to3 += "${bindir}/2to3-${PYTHON_MAJMIN}"<br class="">+FILES_${PN}-pydoc += "${bindir}/pydoc${PYTHON_MAJMIN} ${bindir}/pydoc3"<br class="">+FILES_${PN}-idle += "${bindir}/idle3 ${bindir}/idle${PYTHON_MAJMIN}"<br class="">+<br class="">+PACKAGES =+ "${PN}-pyvenv"<br class="">+FILES_${PN}-pyvenv += "${bindir}/pyvenv-${PYTHON_MAJMIN} ${bindir}/pyvenv"<br class="">+<br class="">+# package libpython3<br class="">+PACKAGES =+ "libpython3 libpython3-staticdev"<br class="">+FILES_libpython3 = "${libdir}/libpython*.so.*"<br class="">+FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}*/libpython${PYTHON_BINABI}.a"<br class="">+INSANE_SKIP_${PN}-dev += "dev-elf"<br class="">+<br class="">+# catch all the rest (unsorted)<br class="">+PACKAGES += "${PN}-misc"<br class="">+RDEPENDS_${PN}-misc += "${PN}-core ${PN}-email ${PN}-codecs"<br class="">+RDEPENDS_${PN}-modules += "${PN}-misc"<br class="">+FILES_${PN}-misc = "${libdir}/python${PYTHON_MAJMIN}"<br class="">+<br class="">+# catch manpage<br class="">+PACKAGES += "${PN}-man"<br class="">+FILES_${PN}-man = "${datadir}/man"<br class="">+<br class="">+BBCLASSEXTEND = "nativesdk"<br class="">+<br class="">+RPROVIDES_${PN} += "${PN}-modules"<br class="">+<br class="">+# We want bytecode precompiled .py files (.pyc's) by default<br class="">+# but the user may set it on their own conf<br class="">+INCLUDE_PYCS ?= "1"<br class="">+<br class="">+python(){<br class="">+ &nbsp;&nbsp;&nbsp;import json<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;filename = os.path.join(d.getVar('THISDIR'), 'python3', 'python3-manifest.json')<br class="">+ &nbsp;&nbsp;&nbsp;# This python changes the datastore based on the contents of a file, so mark<br class="">+ &nbsp;&nbsp;&nbsp;# that dependency.<br class="">+ &nbsp;&nbsp;&nbsp;bb.parse.mark_dependency(d, filename)<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;with open(filename) as manifest_file:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;python_manifest=json.load(manifest_file)<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;include_pycs = d.getVar('INCLUDE_PYCS')<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;packages = d.getVar('PACKAGES').split()<br class="">+ &nbsp;&nbsp;&nbsp;pn = d.getVar('PN')<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;newpackages=[]<br class="">+ &nbsp;&nbsp;&nbsp;for key in python_manifest:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;pypackage= pn + '-' + key<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if pypackage not in packages:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# We need to prepend, otherwise python-misc gets everything<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# so we use a new variable<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;newpackages.append(pypackage)<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# "Build" python's manifest FILES, RDEPENDS and SUMMARY<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.setVar('FILES_' + pypackage, '')<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for value in python_manifest[key]['files']:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.appendVar('FILES_' + pypackage, ' ' + value)<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span># Add cached files<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if include_pycs == '1':<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for value in python_manifest[key]['cached']:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.appendVar('FILES_' + pypackage, ' ' + value)<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.setVar('RDEPENDS_' + pypackage, '')<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;for value in python_manifest[key]['rdepends']:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Make it work with or without $PN<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if '${PN}' in value:<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;value=value.split('-')[1]<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.appendVar('RDEPENDS_' + pypackage, ' ' + pn + '-' + value)<br class="">+ &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;d.setVar('SUMMARY_' + pypackage, python_manifest[key]['summary'])<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;# We need to ensure staticdev packages match for files first so we sort in reverse<br class="">+ &nbsp;&nbsp;&nbsp;newpackages.sort(reverse=True)<br class="">+ &nbsp;&nbsp;&nbsp;# Prepending so to avoid python-misc getting everything<br class="">+ &nbsp;&nbsp;&nbsp;packages = newpackages + packages<br class="">+ &nbsp;&nbsp;&nbsp;d.setVar('PACKAGES', ' '.join(packages))<br class="">+ &nbsp;&nbsp;&nbsp;d.setVar('ALLOW_EMPTY_${PN}-modules', '1')<br class="">+}<br class="">+<br class="">+# Files needed to create a new manifest<br class="">+SRC_URI += "<a href="file://create_manifest3.py" class="">file://create_manifest3.py</a> <a href="file:///get_module_deps3.py" class="">file://get_module_deps3.py</a> <a href="file://python3-manifest.json" class="">file://python3-manifest.json</a>"<br class="">+<br class="">+do_create_manifest() {<br class="">+ &nbsp;&nbsp;&nbsp;# This task should be run with every new release of Python.<br class="">+ &nbsp;&nbsp;&nbsp;# We must ensure that PACKAGECONFIG enables everything when creating<br class="">+ &nbsp;&nbsp;&nbsp;# a new manifest, this is to base our new manifest on a complete<br class="">+ &nbsp;&nbsp;&nbsp;# native python build, containing all dependencies, otherwise the task<br class="">+ &nbsp;&nbsp;&nbsp;# wont be able to find the required files.<br class="">+ &nbsp;&nbsp;&nbsp;# e.g. BerkeleyDB is an optional build dependency so it may or may not<br class="">+ &nbsp;&nbsp;&nbsp;# be present, we must ensure it is.<br class="">+<br class="">+ &nbsp;&nbsp;&nbsp;cd ${WORKDIR}<br class="">+ &nbsp;&nbsp;&nbsp;# This needs to be executed by python-native and NOT by HOST's python<br class="">+ &nbsp;&nbsp;&nbsp;nativepython3 create_manifest3.py ${PYTHON_MAJMIN}<br class="">+ &nbsp;&nbsp;&nbsp;cp python3-manifest.json.new ${THISDIR}/python3/python3-manifest.json<br class="">+}<br class="">+<br class="">+# bitbake python -c create_manifest<br class="">+addtask do_create_manifest<br class="">+<br class="">+# Make sure we have native python ready when we create a new manifest<br class="">+do_create_manifest[depends] += "python3:do_prepare_recipe_sysroot"<br class="">+do_create_manifest[depends] += "python3:do_patch"<br class="">-- <br class="">2.17.1<br class=""><br class=""></div></div></blockquote></div><div class=""><br class=""></div><div class="">I had weird build issues on nativesdk-gpgme after that update, but this went</div><div class="">magically away after rebasing my repo to poky/master. I hope it works generally.</div><div class=""><br class=""></div><div class="">BTW: I could need some hints how to debug build_ext or unixcompiler, respectively.</div><div class=""><br class=""></div>Cheers<br class=""><div class="">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">--&nbsp;</div><div class="">Jens Rehsack - <a href="mailto:rehsack@gmail.com" class="">rehsack@gmail.com</a></div></div></div>
</div>
<br class=""></body></html>