[OE-core] [PATCH] python3: Fix install purelib to make pip3-python work properly

Jason Wessel jason.wessel at windriver.com
Wed Mar 7 20:00:37 UTC 2018


The oe-core version of python3 patches the purelib use directory to
the system libdir so as to make it work with multilibs properly inside
the patch fix_for_using_different_libdir.patch with:

-        'purelib': '{base}/lib/python{py_version_short}/site-packages',
+        'purelib': '{base}/'+sys.lib+'/python{py_version_short}/site-packages',

The problem is that this broke the pip3-python package because the
install directory is out of sync when using a multilib version of
python.  When ever a module is installed with pip3 install that is a
purelib it will get installed to a location that python3 will never
reference and cause random failures.

This patch fixes the purelib install directory to match the purelib
use directory for externally managed python modules when using
multilibs.

Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
---
 meta/recipes-devtools/python/python/multilib.patch | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-devtools/python/python/multilib.patch b/meta/recipes-devtools/python/python/multilib.patch
index f5568d2d2b..94fdfeb630 100644
--- a/meta/recipes-devtools/python/python/multilib.patch
+++ b/meta/recipes-devtools/python/python/multilib.patch
@@ -41,11 +41,13 @@ Index: Python-2.7.13/Lib/distutils/command/install.py
  if sys.version < "2.2":
      WINDOWS_SCHEME = {
          'purelib': '$base',
-@@ -42,7 +44,7 @@ else:
+@@ -41,8 +43,8 @@ else:
+ 
  INSTALL_SCHEMES = {
      'unix_prefix': {
-         'purelib': '$base/lib/python$py_version_short/site-packages',
+-        'purelib': '$base/lib/python$py_version_short/site-packages',
 -        'platlib': '$platbase/lib/python$py_version_short/site-packages',
++        'purelib': '$platbase/'+libname+'/python$py_version_short/site-packages',
 +        'platlib': '$platbase/'+libname+'/python$py_version_short/site-packages',
          'headers': '$base/include/python$py_version_short/$dist_name',
          'scripts': '$base/bin',
-- 
2.11.0




More information about the Openembedded-core mailing list