* [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
* Re: [patch]for different default python version
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
0 siblings, 1 reply; 4+ messages in thread
From: Saul Wold @ 2011-07-20 21:28 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
NiQingliang,
A minor nit regarding the subject of this patch, there are some basic
formatting that is used in oe-core, this information can be found at
http://wiki.openembedded.org/index.php/Commit_Patch_Message_Guidelines
Key thing is to include the name of the file (or functionality group)
you are patching along with a good summary in the subject such as:
oe-init-build-env: Find and use python2 as default python
You also need to include a Signed-off-by: in your commit message.
I still need to test this further with a machine with and with out
python2 / python3.
Also this did not apply cleanly, please rebase.
Thanks for your efforts on this patch.
Sau!
On 07/19/2011 10:56 PM, NiQingliang wrote:
> 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."
Probably should not mention poky here, should be bitbake or ...
> + 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
>
>
^ permalink raw reply [flat|nested] 4+ messages in thread
* [patch]oe-init-build-env: Find and use python2 as default python
2011-07-20 21:28 ` Saul Wold
@ 2011-07-21 6:26 ` NiQingliang
2011-07-22 15:53 ` Saul Wold
0 siblings, 1 reply; 4+ messages in thread
From: NiQingliang @ 2011-07-21 6:26 UTC (permalink / raw)
To: Saul Wold; +Cc: Patches and discussions about the oe-core layer
thanks your guide, I have read the link, but it looks like only show the
rule with result without generating process. my mean is how to generate
one patch.
setp 1 ... step 2 ... step3 ...
so after made other patch mail as reference, I got that (`git diff -p
--stat` after a new clean clone) (and sorry for that if still mistake):
oe-init-build-env: Find and use python2 as default python
most Linux distribution use python 2.x as the default as bitbake
expected, but some use python 3.x as the default (like archlinux).
if the default python is 2.x, it will do nothing. or it will search it
in /usr/bin and /bin. if found, then make a soft link in the build dir,
and add the build dir into the env var PATH.
Signed-off-by: Ni Qingliang <niqingliang@insigma.com.cn>
---
oe-init-build-env | 28 ++++++++++++++++++++++++++++
1 files changed, 28 insertions(+), 0 deletions(-)
diff --git a/oe-init-build-env b/oe-init-build-env
index 77332a7..a11a4c4 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: BitBake 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
On Thu, 2011-07-21 at 05:28 +0800, Saul Wold wrote:
> oe-init-build-env: Find and use python2 as default python
--
倪庆亮
TEL: 13588371863
E-MAIL: niqingliang@insigma.com.cn
BLOG: http://niqingliang2003.wordpress.com
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [patch]oe-init-build-env: Find and use python2 as default python
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
0 siblings, 0 replies; 4+ messages in thread
From: Saul Wold @ 2011-07-22 15:53 UTC (permalink / raw)
To: NiQingliang; +Cc: Patches and discussions about the oe-core layer
On 07/20/2011 11:26 PM, NiQingliang wrote:
> thanks your guide, I have read the link, but it looks like only show the
> rule with result without generating process. my mean is how to generate
> one patch.
> setp 1 ... step 2 ... step3 ...
Ni (sorry about getting your name wrong last time)
Everyone's work flow is different, I am not sure what your currently is,
but using git format-patch and git send-email would be the best method
to send a patch that can then be consumed by git am.
Please resend this as I still had trouble with the merge.
Thanks
Sau!
>
> so after made other patch mail as reference, I got that (`git diff -p
> --stat` after a new clean clone) (and sorry for that if still mistake):
>
> oe-init-build-env: Find and use python2 as default python
>
> most Linux distribution use python 2.x as the default as bitbake
> expected, but some use python 3.x as the default (like archlinux).
>
> if the default python is 2.x, it will do nothing. or it will search it
> in /usr/bin and /bin. if found, then make a soft link in the build dir,
> and add the build dir into the env var PATH.
>
> Signed-off-by: Ni Qingliang<niqingliang@insigma.com.cn>
> ---
> oe-init-build-env | 28 ++++++++++++++++++++++++++++
> 1 files changed, 28 insertions(+), 0 deletions(-)
>
> diff --git a/oe-init-build-env b/oe-init-build-env
> index 77332a7..a11a4c4 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: BitBake 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
>
> On Thu, 2011-07-21 at 05:28 +0800, Saul Wold wrote:
>> oe-init-build-env: Find and use python2 as default python
^ permalink raw reply [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