python3: remove target Python packages from PYTHONPATH
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sat, 19 Aug 2017 21:11:50 +0000 (23:11 +0200)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 21 Aug 2017 21:25:03 +0000 (23:25 +0200)
commitd3c6db36227e315d13c0e8414f03d3f629572173
tree27941e5a82c29075bc2da9fcf3a62de4ffd8ee0e
parent3785e822de945e130ea1f8b5bba4df17087b31fc
python3: remove target Python packages from PYTHONPATH

This commit is similar to 350941e31de5b454cad75abe5fb0d3db027bc1a7
("python: remove target Python packages from PYTHONPATH") but for
python3.

We currently have
$(TARGET_DIR)/usr/lib/python$(PYTHON3_VERSION_MAJOR)/site-packages/
inside the PYTHON3_PATH variable, which gets used to define
PYTHONPATH, passed to the host Python interpreter when
building/installing target packages.

However, this is terribly wrong, as it causes the host interpreter to
potentially import target Python packages. This is wrong for several
reasons:

 - Some Python packages might need some Python modules to be installed
   on the host (described in setup_requires in setup.py), but their
   installation currently works because by luck the corresponding
   Python module is installed for the target. Some of those cases were
   happening for real, and fixed by previous patches.

 - Some Python packages include some native code, therefore built for
   a specific CPU architecture. When you point the host Python
   interpreter to native libraries built for the target, you get nice
   build failures, such as the one affecting the python-cffi related
   packages.

This change fixes the following build failures:

   http://autobuild.buildroot.net/results/9005b89407e46b537a54cac6cc0c69dcac4dc5ea/
   (python-cryptography)

   http://autobuild.buildroot.net/results/395682d33d02fdcaa39d3c0326355bd9ea3d6feb/
   (python-pynacl)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Reviewed-by: Yegor Yefremov <yegorslists@googlemail.com>
Tested-by: Yegor Yefremov <yegorslists@googlemail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/python3/python3.mk