Openembedded Core Discussions
 help / color / mirror / Atom feed
* [patch]for different default python version
@ 2011-07-20  5:56 NiQingliang
  2011-07-20 21:28 ` Saul Wold
  0 siblings, 1 reply; 4+ messages in thread
From: NiQingliang @ 2011-07-20  5:56 UTC (permalink / raw)
  To: openembedded-core

most Linux distribution use python 2.x as the default as bitbake
expected, but some use python 3.x as the default (like archlinux), so
this patch come.

if the default python is 2.x, it will do nothing.
or it will search the python 2.x in /usr/bin and /bin.
if find it out, then make a soft link in the build dir, and add the
build dir into the env var PATH.

diff --git a/oe-init-build-env b/oe-init-build-env
index 77332a7..acf4e96 100755
--- a/oe-init-build-env
+++ b/oe-init-build-env
@@ -39,6 +39,34 @@ else
    $OEROOT/scripts/oe-setup-builddir
    unset OEROOT
    unset BBPATH
+
+   # find the python 2.x, if the default python is not.
+   # NOTE:
+   #    the 'python -V' need redirect to stdout
+   #    once we can ensure every distribution has 'python2' (currently,
except
+   #    ubuntu), we should change bitbake's shebang to '/usr/bin/env
python2',
+   #    and remove this patch.
+   # precondition:
+   #    $BUILDDIR is not NULL, but I doubt when it will be NULL.
+   #    user have not made the file $BUILDDIR/python by himself.
+   if [ -z "`/usr/bin/env python -V 2>&1|grep '^Python 2\.'`" ]; then
+      PYTHON2_BIN=""
+      for PY_BIN in `find /{usr/,}bin -regex '.*/python\(\|2\|2\.[0-9]*
\)'`; do
+         if [ -n "`$PY_BIN -V 2>&1|grep '^Python 2\.'`" ]; then
+            PYTHON2_BIN=$PY_BIN
+            break
+         fi
+      done
+      if [ -n "$PYTHON2_BIN" ]; then
+         ln -sf $PY_BIN $BUILDDIR/python
+         export PATH="$BUILDDIR:$PATH"
+         echo "NOTE: poky will use '$PY_BIN' to execute python code."
+      else
+         echo "ERROR: unable to find Python 2.x, BitBake requires
Python 2.6 or 2.7."
+      fi
+      unset PYTHON2_BIN
+   fi
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi


-- 
倪庆亮
TEL:    13588371863
E-MAIL: niqingliang@insigma.com.cn
BLOG:   http://niqingliang2003.wordpress.com





^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-07-22 15:57 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-07-20  5:56 [patch]for different default python version NiQingliang
2011-07-20 21:28 ` Saul Wold
2011-07-21  6:26   ` [patch]oe-init-build-env: Find and use python2 as default python NiQingliang
2011-07-22 15:53     ` Saul Wold

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox