aboutsummaryrefslogtreecommitdiffstats
path: root/scripts/oe-buildenv-internal
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-07 18:16:41 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-06-14 12:53:26 +0100
commit07792e4a83ca4f1c8152c228813c7f795fa6a545 (patch)
tree19cf9397d5faa148338a9ffa3c15f3e349827ffd /scripts/oe-buildenv-internal
parent7b370e23594da5dcb53cd5507ec289c3ef2d9fb5 (diff)
downloadopenembedded-core-contrib-07792e4a83ca4f1c8152c228813c7f795fa6a545.tar.gz
scripts/oe-buildenv-internal bitbake: Migrate python version checks
In preparation for removal of the bitbake wrapper script, move the python version checks to the environment script. There are also checks within bitbake itself but these may not always function correctly on every version of python so this is really insurance. Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'scripts/oe-buildenv-internal')
-rwxr-xr-xscripts/oe-buildenv-internal20
1 files changed, 20 insertions, 0 deletions
diff --git a/scripts/oe-buildenv-internal b/scripts/oe-buildenv-internal
index 644df8f30c..a33698c5ba 100755
--- a/scripts/oe-buildenv-internal
+++ b/scripts/oe-buildenv-internal
@@ -29,6 +29,26 @@ if [ ! -z "$OECORE_SDK_VERSION" ]; then
return 1
fi
+# Make sure we're not using python v3.x. This check can't go into
+# sanity.bbclass because bitbake's source code doesn't even pass
+# parsing stage when used with python v3, so we catch it here so we
+# can offer a meaningful error message.
+py_v3_check=`/usr/bin/env python --version 2>&1 | grep "Python 3"`
+if [ "$py_v3_check" != "" ]; then
+ echo "Bitbake is not compatible with python v3"
+ echo "Please set up python v2 as your default python interpreter"
+ exit 1
+fi
+
+# Similarly, we now have code that doesn't parse correctly with older
+# versions of Python, and rather than fixing that and being eternally
+# vigilant for any other new feature use, just check the version here.
+py_v26_check=`python -c 'import sys; print sys.version_info >= (2,6,0)'`
+if [ "$py_v26_check" != "True" ]; then
+ echo "BitBake requires Python 2.6 or later"
+ exit 1
+fi
+
if [ "x$BDIR" = "x" ]; then
if [ "x$1" = "x" ]; then
BDIR="build"