summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch35
-rw-r--r--meta/recipes-devtools/python/python3_3.5.6.bb6
2 files changed, 40 insertions, 1 deletions
diff --git a/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
new file mode 100644
index 0000000000..48d4f73e9c
--- /dev/null
+++ b/meta/recipes-devtools/python/python3/0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch
@@ -0,0 +1,35 @@
1From ffe7797637f08cd6ee4c82e2d67462c5e194d30a Mon Sep 17 00:00:00 2001
2From: Jaewon Lee <jaewon.lee@xilinx.com>
3Date: Thu, 25 Apr 2019 15:34:26 -0700
4Subject: [PATCH] main.c: if OEPYTHON3HOME is set use instead of PYTHONHOME
5
6There is one variable PYTHONHOME to determine where libraries are coming
7from for both python2 and python3. This becomes an issue if only one has
8libraries in the specified PYTHONHOME path, but they are using the same
9PYTHONHOME. Creating another variable OEPYTHON3HOME to allow for a way
10to set a different path for python3
11
12Signed-off-by: Jaewon Lee <jaewon.lee@xilinx.com>
13RP: Backported to 3.5.6 (code totally different to original path for
14later python versions)
15Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
16
17---
18 Modules/main.c | 17 +++++++++++++----
19 1 file changed, 13 insertions(+), 4 deletions(-)
20
21Index: Python-3.5.6/Python/pylifecycle.c
22===================================================================
23--- Python-3.5.6.orig/Python/pylifecycle.c
24+++ Python-3.5.6/Python/pylifecycle.c
25@@ -864,7 +864,9 @@ Py_GetPythonHome(void)
26 {
27 wchar_t *home = default_home;
28 if (home == NULL && !Py_IgnoreEnvironmentFlag) {
29- char* chome = Py_GETENV("PYTHONHOME");
30+ char* chome = Py_GETENV("OEPYTHON3HOME");
31+ if (!chome)
32+ chome = Py_GETENV("PYTHONHOME");
33 if (chome) {
34 size_t size = Py_ARRAY_LENGTH(env_home);
35 size_t r = mbstowcs(env_home, chome, size);
diff --git a/meta/recipes-devtools/python/python3_3.5.6.bb b/meta/recipes-devtools/python/python3_3.5.6.bb
index b2f8a3d034..4633a3d239 100644
--- a/meta/recipes-devtools/python/python3_3.5.6.bb
+++ b/meta/recipes-devtools/python/python3_3.5.6.bb
@@ -50,6 +50,10 @@ SRC_URI += "\
50 file://CVE-2019-9636.patch \ 50 file://CVE-2019-9636.patch \
51 " 51 "
52 52
53SRC_URI_append_class-nativesdk = " \
54 file://0001-main.c-if-OEPYTHON3HOME-is-set-use-instead-of-PYTHON.patch \
55 "
56
53inherit multilib_header python3native update-alternatives qemu ptest 57inherit multilib_header python3native update-alternatives qemu ptest
54 58
55MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}" 59MULTILIB_SUFFIX = "${@d.getVar('base_libdir',1).split('/')[-1]}"
@@ -184,7 +188,7 @@ do_install() {
184} 188}
185 189
186do_install_append_class-nativesdk () { 190do_install_append_class-nativesdk () {
187 create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} PYTHONHOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1' 191 create_wrapper ${D}${bindir}/python${PYTHON_MAJMIN} OEPYTHON3HOME='${prefix}' TERMINFO_DIRS='${sysconfdir}/terminfo:/etc/terminfo:/usr/share/terminfo:/usr/share/misc/terminfo:/lib/terminfo' PYTHONNOUSERSITE='1'
188} 192}
189 193
190SSTATE_SCAN_FILES += "Makefile" 194SSTATE_SCAN_FILES += "Makefile"