poky/meta/recipes-devtools/python/python-native_2.7.3.bb
Yasir-Khan 77369679ef python-native: disable user site support
The user site-packages gets inserted into sys.path ahead of the
system site directories, so a site package installed there will
be used in preference to what's in our sysroot, causing less
deterministic builds, and potential build breakage, depending
on what the user has installed there. Disable it for our native
python, so they don't affect our builds.

(From OE-Core rev: c448bf3629ab5d930ed845d4ba48e37e4a85d2a3)

Signed-off-by: Christopher Larson <kergoth@gmail.com>
Signed-off-by: Yasir-Khan <yasir_khan@mentor.com>
Signed-off-by: Saul Wold <sgw@linux.intel.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
2014-09-10 11:33:24 +01:00

66 lines
2.3 KiB
BlitzBasic

require python.inc
EXTRANATIVEPATH += "bzip2-native"
DEPENDS = "openssl-native bzip2-replacement-native zlib-native readline-native sqlite3-native"
PR = "${INC_PR}.1"
SRC_URI += "\
file://05-enable-ctypes-cross-build.patch \
file://06-ctypes-libffi-fix-configure.patch \
file://10-distutils-fix-swig-parameter.patch \
file://11-distutils-never-modify-shebang-line.patch \
file://12-distutils-prefix-is-inside-staging-area.patch \
file://debug.patch \
file://unixccompiler.patch \
file://nohostlibs.patch \
file://multilib.patch \
file://add-md5module-support.patch \
file://builddir.patch \
file://parallel-makeinst-create-bindir.patch \
file://python-fix-build-error-with-Readline-6.3.patch \
file://gcc-4.8-fix-configure-Wformat.patch \
file://json-flaw-fix.patch \
"
S = "${WORKDIR}/Python-${PV}"
FILESEXTRAPATHS =. "${FILE_DIRNAME}/${PN}:"
inherit native
RPROVIDES += "python-distutils-native python-compression-native python-textutils-native python-codecs-native python-core-native"
EXTRA_OECONF_append = " --bindir=${bindir}/${PN}"
EXTRA_OEMAKE = '\
BUILD_SYS="" \
HOST_SYS="" \
LIBC="" \
STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \
STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
'
do_configure_prepend() {
autoreconf --verbose --install --force --exclude=autopoint Modules/_ctypes/libffi || bbnote "_ctypes failed to autoreconf"
}
do_install() {
oe_runmake 'DESTDIR=${D}' install
install -d ${D}${bindir}/${PN}
install -m 0755 Parser/pgen ${D}${bindir}/${PN}
# Make sure we use /usr/bin/env python
for PYTHSCRIPT in `grep -rIl ${bindir}/${PN}/python ${D}${bindir}/${PN}`; do
sed -i -e '1s|^#!.*|#!/usr/bin/env python|' $PYTHSCRIPT
done
# Add a symlink to the native Python so that scripts can just invoke
# "nativepython" and get the right one without needing absolute paths
# (these often end up too long for the #! parser in the kernel as the
# buffer is 128 bytes long).
ln -s python-native/python ${D}${bindir}/nativepython
# We don't want modules in ~/.local being used in preference to those
# installed in the native sysroot, so disable user site support.
sed -i -e 's,^\(ENABLE_USER_SITE = \).*,\1False,' ${D}${libdir}/python${PYTHON_MAJMIN}/site.py
}