summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-10-06 08:37:40 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-10-06 09:44:37 +0100
commit72938a8631cfe5be5ac88ad67f2db595e2487e86 (patch)
tree121033570d9c4e8788b16bc8986b0f03dac752d4
parentb5bafccb89f45d7cdd515b4ba45e0152ca7922de (diff)
downloadopenembedded-core-72938a8631cfe5be5ac88ad67f2db595e2487e86.tar.gz
openembedded-core-72938a8631cfe5be5ac88ad67f2db595e2487e86.tar.bz2
openembedded-core-72938a8631cfe5be5ac88ad67f2db595e2487e86.zip
python: Ensure build completes before install
At the start of install, python swizzles the makefiles around, leading to chunks of do_compile running again. These race against the install target, leading to errors if pieces are being recompiled whilst others are being installed. For now, workaround this by running the compile target with the new makefile, then running install ensuring a parallel make race doesn't happen. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--meta/recipes-devtools/python/python_2.7.3.bb11
1 files changed, 11 insertions, 0 deletions
diff --git a/meta/recipes-devtools/python/python_2.7.3.bb b/meta/recipes-devtools/python/python_2.7.3.bb
index f6a460989b..40d20f1f4f 100644
--- a/meta/recipes-devtools/python/python_2.7.3.bb
+++ b/meta/recipes-devtools/python/python_2.7.3.bb
@@ -100,6 +100,17 @@ do_install() {
export CROSS_COMPILE="${TARGET_PREFIX}"
export PYTHONBUILDDIR="${S}"
+
+ # After swizzling the makefile, we need to run the build again.
+ # install can race with the build so we have to run this first, then install
+ oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \
+ HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \
+ CROSSPYTHONPATH=${STAGING_LIBDIR_NATIVE}/python${PYTHON_MAJMIN}/lib-dynload/ \
+ STAGING_LIBDIR=${STAGING_LIBDIR} \
+ STAGING_INCDIR=${STAGING_INCDIR} \
+ STAGING_BASELIBDIR=${STAGING_BASELIBDIR} \
+ BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \
+ DESTDIR=${D} LIBDIR=${libdir}
oe_runmake HOSTPGEN=${STAGING_BINDIR_NATIVE}/python-native/pgen \
HOSTPYTHON=${STAGING_BINDIR_NATIVE}/python-native/python \