Skip to contentSkip to conversation

Supporting upcoming distribution releases

DISCUSSION Joshua Lock 5 participants 18 messages Jul 12, 2011 – Jul 20, 2011

lore
Share & tools
lore
#0 lore raw

In our technical team call today we spent some time discussing how to support distribution releases that are due to happen around the time of Yocto 1.1.

Yocto 1.1 is scheduled for release on October 6th[1], the same month in which both Ubuntu and Fedora have new releases planned[2,3]. OpenSUSE doesn't have a release scheduled until November 10th[4].

We should accommodate for these releases in our planning around 1.1 as we need to ensure that Yocto 1.1 can be used on the new versions of the chosen supported distros.

I had initially suggested we have people doing test and any relevant development around the beta cycles of Ubuntu and Fedora:

Fedora Beta (2011-09-20)
Ubuntu (2011-09-01)
In this time frame OpenSUSE will be on Milestone 5 (2011-09-01) which afaict (based on the 6th milestone being followed by an RC) should roughly equate to a beta.

However this aligns with our RC period at which point we may not want to accept large patches?

To meet our stabilise complete goal of August 29th we'd have to have people testing with:
Fedora Alpha (2011-08-16)
Ubuntu Alpha 3 (2011-08-04)
OpenSUSE Milestone 4 (2011-08-11)

What are peoples thoughts on this? I think the onus for this testing will fall on engineers as the project QA is already pretty stretched. I have a tendency to update to early releases on at least one machine so will no doubt do some testing on Fedora but it would be nice to have a genuine strategy for this rather than relying on ad-hoc developer upgrades.

Final note: I'm left wondering if this emails contents also make sense as a wiki page?

Cheers,
Joshua

1. https://wiki.pokylinux.org/wiki/Yocto_1.1_Schedule
2. https://wiki.ubuntu.com/OneiricReleaseSchedule
3. http://fedoraproject.org/wiki/Releases/16/Schedule
4. http://en.opensuse.org/Roadmap

Signature · 3 lines
Joshua Lock
        Yocto Project "Johannes factotum"
        Intel Open Source Technology Centre
#1 lore raw
Quoted 24 lines · Joshua Lock

In our technical team call today we spent some time discussing how to support distribution releases that are due to happen around the time of Yocto 1.1.

Yocto 1.1 is scheduled for release on October 6th[1], the same month in which both Ubuntu and Fedora have new releases planned[2,3]. OpenSUSE doesn't have a release scheduled until November 10th[4].

We should accommodate for these releases in our planning around 1.1 as we need to ensure that Yocto 1.1 can be used on the new versions of the chosen supported distros.

I had initially suggested we have people doing test and any relevant development around the beta cycles of Ubuntu and Fedora:

Fedora Beta (2011-09-20)
Ubuntu (2011-09-01)
In this time frame OpenSUSE will be on Milestone 5 (2011-09-01) which afaict (based on the 6th milestone being followed by an RC) should roughly equate to a beta.

However this aligns with our RC period at which point we may not want to accept large patches?

Quoted 7 lines

To meet our stabilise complete goal of August 29th we'd have to have people testing with:
Fedora Alpha (2011-08-16)
Ubuntu Alpha 3 (2011-08-04)
OpenSUSE Milestone 4 (2011-08-11)

What are peoples thoughts on this?

At the very least a sanity test to know which sorts of issues we'll hit with these would be valuable. However, I believe our policy is N-1, and not N+1,N,N-1, so supporting not-yet released versions isn't something I think we should spend too much time on. Minor fixes to support these post release seem like good candidates for a point release.

Quoted 6 lines

I think the onus for this testing
will fall on engineers as the project QA is already pretty stretched. I have a tendency to update to early releases on at least one machine so will no doubt do some testing on Fedora but it would be nice to have a genuine strategy for this rather than relying on ad-hoc developer upgrades.

I personally do not upgrade my primary development machine to pre-release distributions because I don't want those issues to derail me from working on features. However, I could certainly kick off VMs running whatever and set them building on one of our larger servers.

Quoted 3 lines

Final note: I'm left wondering if this emails contents also make sense as a wiki page?

Some sort of distro links for schedule page would be great. If people want to share that they are testing the pre-release distros, that would be useful, but we need to find a way to keep it concise and not into a "getting it to work on XYZ" forum - although that would be useful a separate page per distro.

Quoted 8 lines

Cheers,
Joshua

1. https://wiki.pokylinux.org/wiki/Yocto_1.1_Schedule
2. https://wiki.ubuntu.com/OneiricReleaseSchedule
3. http://fedoraproject.org/wiki/Releases/16/Schedule
4. http://en.opensuse.org/Roadmap

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#2 lore raw
Quoted 32 lines · Darren Hart
Quoted 30 lines · Joshua Lock

In our technical team call today we spent some time discussing how to support distribution releases that are due to happen around the time of Yocto 1.1.

Yocto 1.1 is scheduled for release on October 6th[1], the same month in which both Ubuntu and Fedora have new releases planned[2,3]. OpenSUSE doesn't have a release scheduled until November 10th[4].

We should accommodate for these releases in our planning around 1.1 as we need to ensure that Yocto 1.1 can be used on the new versions of the chosen supported distros.

I had initially suggested we have people doing test and any relevant development around the beta cycles of Ubuntu and Fedora:

Fedora Beta (2011-09-20)
Ubuntu (2011-09-01)
In this time frame OpenSUSE will be on Milestone 5 (2011-09-01) which afaict (based on the 6th milestone being followed by an RC) should roughly equate to a beta.

However this aligns with our RC period at which point we may not want to accept large patches?

To meet our stabilise complete goal of August 29th we'd have to have people testing with:
Fedora Alpha (2011-08-16)
Ubuntu Alpha 3 (2011-08-04)
OpenSUSE Milestone 4 (2011-08-11)

Quoted 7 lines
Quoted 1 line

What are peoples thoughts on this?

At the very least a sanity test to know which sorts of issues we'll hit with these would be valuable. However, I believe our policy is N-1, and not N+1,N,N-1, so supporting not-yet released versions isn't something I think we should spend too much time on. Minor fixes to support these post release seem like good candidates for a point release.

I understand what you're saying but I think the stance bears further consideration because our release is so close to that of the distributions and because so many of our target users will upgrade on release day (or sooner) I think it's in the interest of the project to be aware of the issues before release and ideally to have fixed as many of any issues as possible.

I don't think it likely we will spin a point release in time to have something that works on the distro launch day if we take the approach you're advocating.

If people think this isn't a big deal I can live with that, but experience suggests we will field support enquiries about these things and therefore to my mind it seems prudent to accommodate for that.

Quoted 8 lines
Quoted 6 lines

I think the onus for this testing
will fall on engineers as the project QA is already pretty stretched. I have a tendency to update to early releases on at least one machine so will no doubt do some testing on Fedora but it would be nice to have a genuine strategy for this rather than relying on ad-hoc developer upgrades.

Quoted 4 lines

I personally do not upgrade my primary development machine to pre-release distributions because I don't want those issues to derail me from working on features. However, I could certainly kick off VMs running whatever and set them building on one of our larger servers.

Absolutely. I'm not meaning to suggest all our developers should run unstable OS's.

Aside; the schedule has feature development long complete by this point ;-)

Quoted 10 lines
Quoted 4 lines

Final note: I'm left wondering if this emails contents also make sense as a wiki page?

Some sort of distro links for schedule page would be great. If people want to share that they are testing the pre-release distros, that would be useful, but we need to find a way to keep it concise and not into a "getting it to work on XYZ" forum - although that would be useful a separate page per distro.

Or perhaps we should just integrate this information into our schedule?

Cheers,
Joshua

Signature · 3 lines
Joshua Lock
        Yocto Project "Johannes factotum"
        Intel Open Source Technology Centre
#3 lore raw
Quoted 6 lines · Joshua Lock
Quoted 5 lines · Darren Hart
Quoted 4 lines

Final note: I'm left wondering if this emails contents also make sense as a wiki page?

Quoted 7 lines
Quoted 5 lines

Some sort of distro links for schedule page would be great. If people want to share that they are testing the pre-release distros, that would be useful, but we need to find a way to keep it concise and not into a "getting it to work on XYZ" forum - although that would be useful a separate page per distro.

Or perhaps we should just integrate this information into our schedule?

That is a great idea!

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#4 lore raw
In reply to Darren Hart
Quoted 32 lines · Darren Hart
Quoted 30 lines · Joshua Lock

In our technical team call today we spent some time discussing how to support distribution releases that are due to happen around the time of Yocto 1.1.

Yocto 1.1 is scheduled for release on October 6th[1], the same month in which both Ubuntu and Fedora have new releases planned[2,3]. OpenSUSE doesn't have a release scheduled until November 10th[4].

We should accommodate for these releases in our planning around 1.1 as we need to ensure that Yocto 1.1 can be used on the new versions of the chosen supported distros.

I had initially suggested we have people doing test and any relevant development around the beta cycles of Ubuntu and Fedora:

Fedora Beta (2011-09-20)
Ubuntu (2011-09-01)
In this time frame OpenSUSE will be on Milestone 5 (2011-09-01) which afaict (based on the 6th milestone being followed by an RC) should roughly equate to a beta.

However this aligns with our RC period at which point we may not want to accept large patches?

To meet our stabilise complete goal of August 29th we'd have to have people testing with:
Fedora Alpha (2011-08-16)
Ubuntu Alpha 3 (2011-08-04)
OpenSUSE Milestone 4 (2011-08-11)

Quoted 7 lines
Quoted 1 line

What are peoples thoughts on this?

At the very least a sanity test to know which sorts of issues we'll hit with these would be valuable. However, I believe our policy is N-1, and not N+1,N,N-1, so supporting not-yet released versions isn't something I think we should spend too much time on. Minor fixes to support these post release seem like good candidates for a point release.

Much as I'd like to agree with you, traditionally this does tend to bite us hard. The fixes some of the releases have needed are sometimes not so minor too :(.

The reason is that we have a community with a significant portion of people who do stay close to the edge as far as distros go. They'll take latest releases and expect Yocto to work on them even if the releases come out at the same time. Its not often realised how far in advance trees get frozen for stabilisation.

So summary is I'm in favour of trying to identify problems early and then doing what we can to address them...

As such, this time around I'll update my build machine to latest Ubuntu at the beginning of August....

Cheers,

Richard

#5 lore raw

I think Archlinux is the preferred choice.-_-
Just joke.

I doubt why the bitbake need python2.x but just use /bin/env python. I think If it need a specific version python, it should write it in the shebang. e.g. /bin/env python2.6

Quoted 65 lines · Richard Purdie
Quoted 32 lines · Darren Hart
Quoted 30 lines · Joshua Lock

In our technical team call today we spent some time discussing how to support distribution releases that are due to happen around the time of Yocto 1.1.

Yocto 1.1 is scheduled for release on October 6th[1], the same month in which both Ubuntu and Fedora have new releases planned[2,3]. OpenSUSE doesn't have a release scheduled until November 10th[4].

We should accommodate for these releases in our planning around 1.1 as we need to ensure that Yocto 1.1 can be used on the new versions of the chosen supported distros.

I had initially suggested we have people doing test and any relevant development around the beta cycles of Ubuntu and Fedora:

Fedora Beta (2011-09-20)
Ubuntu (2011-09-01)
In this time frame OpenSUSE will be on Milestone 5 (2011-09-01) which afaict (based on the 6th milestone being followed by an RC) should roughly equate to a beta.

However this aligns with our RC period at which point we may not want to accept large patches?

To meet our stabilise complete goal of August 29th we'd have to have people testing with:
Fedora Alpha (2011-08-16)
Ubuntu Alpha 3 (2011-08-04)
OpenSUSE Milestone 4 (2011-08-11)

Quoted 7 lines
Quoted 1 line

What are peoples thoughts on this?

At the very least a sanity test to know which sorts of issues we'll hit with these would be valuable. However, I believe our policy is N-1, and not N+1,N,N-1, so supporting not-yet released versions isn't something I think we should spend too much time on. Minor fixes to support these post release seem like good candidates for a point release.

Much as I'd like to agree with you, traditionally this does tend to bite us hard. The fixes some of the releases have needed are sometimes not so minor too :(.

The reason is that we have a community with a significant portion of people who do stay close to the edge as far as distros go. They'll take latest releases and expect Yocto to work on them even if the releases come out at the same time. Its not often realised how far in advance trees get frozen for stabilisation.

So summary is I'm in favour of trying to identify problems early and then doing what we can to address them...

As such, this time around I'll update my build machine to latest Ubuntu at the beginning of August....

Cheers,

Richard

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#6 lore raw
Quoted 6 lines · NiQingliang

I think Archlinux is the preferred choice.-_-
Just joke.

I doubt why the bitbake need python2.x but just use /bin/env python. I think If it need a specific version python, it should write it in the shebang. e.g. /bin/env python2.6

I looked at this but not enough of the distributions we care to support have a python2.6 binary:

joshual@scimitar:~

$ /usr/bin/env python2
Python 2.7.1 (r271:86832, Apr 12 2011, 16:16:18) 
[GCC 4.6.0 20110331 (Red Hat 4.6.0-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Quoted 1 line
Quoted 1 line
Quoted 1 line

joshual@scimitar:~

$ /usr/bin/env python2.6
/usr/bin/env: python2.6: No such file or directory

I'd love to support Arch more thoroughly but they aren't making it easy for us ;-)

Cheers,
Joshua

Signature · 3 lines
Joshua Lock
        Yocto Project "Johannes factotum"
        Intel Open Source Technology Centre
#7 lore raw

/usr/bin/env python2
/usr/bin/env python2.7
both of them are ok for archlinux, but I don't know which is ok for other distributions, maybe both are not.

maybe we can make a shell script to detect the python version, and make a symbollink to the right one in some directory, and add the directory into env var "PATH".

Quoted 35 lines · Joshua Lock
Quoted 6 lines · NiQingliang

I think Archlinux is the preferred choice.-_-
Just joke.

I doubt why the bitbake need python2.x but just use /bin/env python. I think If it need a specific version python, it should write it in the shebang. e.g. /bin/env python2.6

I looked at this but not enough of the distributions we care to support have a python2.6 binary:

joshual@scimitar:~

$ /usr/bin/env python2
Python 2.7.1 (r271:86832, Apr 12 2011, 16:16:18)
[GCC 4.6.0 20110331 (Red Hat 4.6.0-2)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
Quoted 1 line
Quoted 1 line
Quoted 1 line

joshual@scimitar:~

$ /usr/bin/env python2.6
/usr/bin/env: python2.6: No such file or directory

I'd love to support Arch more thoroughly but they aren't making it easy for us ;-)

Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#8 lore raw
Quoted 2 lines · NiQingliang

/usr/bin/env python2
/usr/bin/env python2.7

These are both valid on Fedora 15, iirc before distributions started shipping Python 3 they were less common though...

Quoted 6 lines

both of them are ok for archlinux, but I don't know which is ok for other distributions, maybe both are not.

maybe we can make a shell script to detect the python version, and make a symbollink to the right one in some directory, and add the directory into env var "PATH".

Patches welcome :-)

I looked at it briefly and the work would require more time than I have spare right now just to ensure it worked on all required distributions.

If you'd like to work on a patch I'd be happy to help test and review.

Cheers,
Joshua

Signature · 3 lines
Joshua Lock
        Yocto Project "Johannes factotum"
        Intel Open Source Technology Centre
#9 lore raw

OK, I will do it.:)

Quoted 28 lines · Joshua Lock
Quoted 2 lines · NiQingliang

/usr/bin/env python2
/usr/bin/env python2.7

These are both valid on Fedora 15, iirc before distributions started shipping Python 3 they were less common though...

Quoted 6 lines

both of them are ok for archlinux, but I don't know which is ok for other distributions, maybe both are not.

maybe we can make a shell script to detect the python version, and make a symbollink to the right one in some directory, and add the directory into env var "PATH".

Patches welcome :-)

I looked at it briefly and the work would require more time than I have spare right now just to ensure it worked on all required distributions.

If you'd like to work on a patch I'd be happy to help test and review.

Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#10 lore raw
In reply to Joshua Lock

first sorry about that, indeed I don't know how to commit a patch, so just paste the diff result here.

oe-init-build-env +14 -0
index 77332a7..0da8bc0 100755
@@ -39,6 +39,20 @@ else
    $OEROOT/scripts/oe-setup-builddir
    unset OEROOT
    unset BBPATH
+
+   # find the python version 2.x
+   # the 'python -V' need redirect to stdout
+   # precondition:
+   #    $BUILDDIR is not NULL, but I doubt when it will be NULL.
+   #    user have not made the file $BUILDDIR/python by himself.
+   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
+         ln -sf $PY_BIN $BUILDDIR/python
+         export PATH="$BUILDDIR:$PATH"
+         break
+      fi
+   done
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi
 
Quoted 28 lines · Joshua Lock
Quoted 2 lines · NiQingliang

/usr/bin/env python2
/usr/bin/env python2.7

These are both valid on Fedora 15, iirc before distributions started shipping Python 3 they were less common though...

Quoted 6 lines

both of them are ok for archlinux, but I don't know which is ok for other distributions, maybe both are not.

maybe we can make a shell script to detect the python version, and make a symbollink to the right one in some directory, and add the directory into env var "PATH".

Patches welcome :-)

I looked at it briefly and the work would require more time than I have spare right now just to ensure it worked on all required distributions.

If you'd like to work on a patch I'd be happy to help test and review.

Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#11 lore raw

oe-init-build-env else · line 42

Quoted 12 lines · NiQingliang

first sorry about that, indeed I don't know how to commit a patch, so just paste the diff result here.

oe-init-build-env +1 -0
index 77332a7..0da8bc0 100755
@@ -39,6 +39,20 @@ else
    $OEROOT/scripts/oe-setup-builddir
    unset OEROOT
    unset BBPATH
+

Before searching manually, we should attempt to use whatever is set in the environment.

--
Darren

Quoted 48 lines
oe-init-build-env +6 -0
+   # find the python version 2.x
+   # the 'python -V' need redirect to stdout
+   # precondition:
+   #    $BUILDDIR is not NULL, but I doubt when it will be NULL.
+   #    user have not made the file $BUILDDIR/python by himself.
+   for PY_BIN in `find /{usr/,}bin -regex '.*/python\(\|2\|2\.[0-9]*

\)'`; do

oe-init-build-env +7 -0
+      if [ -n "`$PY_BIN -V 2>&1|grep '^Python 2\.'`" ]; then
+         ln -sf $PY_BIN $BUILDDIR/python
+         export PATH="$BUILDDIR:$PATH"
+         break
+      fi
+   done
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi
Quoted 28 lines · Joshua Lock
Quoted 2 lines · NiQingliang

/usr/bin/env python2
/usr/bin/env python2.7

These are both valid on Fedora 15, iirc before distributions started shipping Python 3 they were less common though...

Quoted 6 lines

both of them are ok for archlinux, but I don't know which is ok for other distributions, maybe both are not.

maybe we can make a shell script to detect the python version, and make a symbollink to the right one in some directory, and add the directory into env var "PATH".

Patches welcome :-)

I looked at it briefly and the work would require more time than I have spare right now just to ensure it worked on all required distributions.

If you'd like to work on a patch I'd be happy to help test and review.

Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

Signature · 3 lines
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel
#12 lore raw

You are right, I will fix it.

Quoted 74 lines · Darren Hart

oe-init-build-env else · line 42

Quoted 12 lines · NiQingliang

first sorry about that, indeed I don't know how to commit a patch, so just paste the diff result here.

oe-init-build-env +1 -0
index 77332a7..0da8bc0 100755
@@ -39,6 +39,20 @@ else
    $OEROOT/scripts/oe-setup-builddir
    unset OEROOT
    unset BBPATH
+

Before searching manually, we should attempt to use whatever is set in the environment.

--
Darren

Quoted 40 lines
oe-init-build-env +6 -0
+   # find the python version 2.x
+   # the 'python -V' need redirect to stdout
+   # precondition:
+   #    $BUILDDIR is not NULL, but I doubt when it will be NULL.
+   #    user have not made the file $BUILDDIR/python by himself.
+   for PY_BIN in `find /{usr/,}bin -regex '.*/python\(\|2\|2\.[0-9]*

\)'`; do

oe-init-build-env +7 -0
+      if [ -n "`$PY_BIN -V 2>&1|grep '^Python 2\.'`" ]; then
+         ln -sf $PY_BIN $BUILDDIR/python
+         export PATH="$BUILDDIR:$PATH"
+         break
+      fi
+   done
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi
Quoted 21 lines · Joshua Lock
Quoted 2 lines · NiQingliang

/usr/bin/env python2
/usr/bin/env python2.7

These are both valid on Fedora 15, iirc before distributions started shipping Python 3 they were less common though...

Quoted 6 lines

both of them are ok for archlinux, but I don't know which is ok for other distributions, maybe both are not.

maybe we can make a shell script to detect the python version, and make a symbollink to the right one in some directory, and add the directory into env var "PATH".

Patches welcome :-)

I looked at it briefly and the work would require more time than I have spare right now just to ensure it worked on all required distributions.

If you'd like to work on a patch I'd be happy to help test and review.

Quoted 8 lines
Quoted 7 lines

Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#13 lore raw
In reply to Darren Hart

new version

oe-init-build-env +5 -0
index 77332a7..0fe1b5e 100755
@@ -39,6 +39,35 @@ 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
+      echo "WARNING: your default python is not 2.x, so autodetect..."
+      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 "WARNING: poky will use '$PY_BIN' to execute python

code."
+ else
+ echo "ERROR: poky can't find python 2.x."
+ fi
+ unset PYTHON2_BIN
+ fi
+

    [ -n "$BUILDDIR" ] && cd $BUILDDIR

fi

Quoted 74 lines · Darren Hart

oe-init-build-env else · line 42

Quoted 12 lines · NiQingliang

first sorry about that, indeed I don't know how to commit a patch, so just paste the diff result here.

oe-init-build-env +1 -0
index 77332a7..0da8bc0 100755
@@ -39,6 +39,20 @@ else
    $OEROOT/scripts/oe-setup-builddir
    unset OEROOT
    unset BBPATH
+

Before searching manually, we should attempt to use whatever is set in the environment.

--
Darren

Quoted 40 lines
oe-init-build-env +6 -0
+   # find the python version 2.x
+   # the 'python -V' need redirect to stdout
+   # precondition:
+   #    $BUILDDIR is not NULL, but I doubt when it will be NULL.
+   #    user have not made the file $BUILDDIR/python by himself.
+   for PY_BIN in `find /{usr/,}bin -regex '.*/python\(\|2\|2\.[0-9]*

\)'`; do

oe-init-build-env +7 -0
+      if [ -n "`$PY_BIN -V 2>&1|grep '^Python 2\.'`" ]; then
+         ln -sf $PY_BIN $BUILDDIR/python
+         export PATH="$BUILDDIR:$PATH"
+         break
+      fi
+   done
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi
Quoted 21 lines · Joshua Lock
Quoted 2 lines · NiQingliang

/usr/bin/env python2
/usr/bin/env python2.7

These are both valid on Fedora 15, iirc before distributions started shipping Python 3 they were less common though...

Quoted 6 lines

both of them are ok for archlinux, but I don't know which is ok for other distributions, maybe both are not.

maybe we can make a shell script to detect the python version, and make a symbollink to the right one in some directory, and add the directory into env var "PATH".

Patches welcome :-)

I looked at it briefly and the work would require more time than I have spare right now just to ensure it worked on all required distributions.

If you'd like to work on a patch I'd be happy to help test and review.

Quoted 8 lines
Quoted 7 lines

Cheers,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

--
Darren Hart
Intel Open Source Technology Center
Yocto Project - Linux Kernel

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#14 lore raw
Quoted 18 lines · NiQingliang

new version

oe-init-build-env +5 -0
index 77332a7..0fe1b5e 100755
@@ -39,6 +39,35 @@ 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',

oe-init-build-env

Quoted 6 lines
oe-init-build-env +6 -0
+   #    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
+      echo "WARNING: your default python is not 2.x, so autodetect..."

I'm not sure we need to print this.

Quoted 12 lines
oe-init-build-env +2 -0
+      PYTHON2_BIN=""
+      for PY_BIN in `find /{usr/,}bin -regex '.*/python\(\|2\|2\.[0-9]*

\)'`; do

oe-init-build-env +9 -0
+         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 "WARNING: poky will use '$PY_BIN' to execute python
Quoted 1 line

code."

I can live without this message but if we do leave it in we should probably call it a NOTE rather than WARNING.

oe-init-build-env

Quoted 2 lines
oe-init-build-env +2 -0
+      else
+         echo "ERROR: poky can't find python 2.x."

Perhaps make this a little more informative?

ERROR: unable to find Python 2.x, BitBake requires Python 2.6 or 2.7.

oe-init-build-env

Quoted 6 lines
oe-init-build-env +4 -0
+      fi
+      unset PYTHON2_BIN
+   fi
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi

I can verify that this works as expected (i.e. does nothing) on my Fedora 15 machine with Python 2.7.1.

Could you submit the patch to the openembedded-core mailing list so that it can be considered for inclusion in the Yocto project's shared upstream?

Thanks,
Joshua

Signature · 3 lines
Joshua Lock
        Yocto Project "Johannes factotum"
        Intel Open Source Technology Centre
#15 lore raw

update accroding your suggestion.
This patch is for bitbake indeed, but bitbake is not part of openembedded. Is it RIGHT?

oe-init-build-env +5 -0
index 77332a7..acf4e96 100755
@@ -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
+ fi
+ unset PYTHON2_BIN
+ fi
+

    [ -n "$BUILDDIR" ] && cd $BUILDDIR

fi

Quoted 73 lines · Joshua Lock
Quoted 18 lines · NiQingliang

new version

oe-init-build-env +5 -0
index 77332a7..0fe1b5e 100755
@@ -39,6 +39,35 @@ 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',

oe-init-build-env

Quoted 6 lines
oe-init-build-env +6 -0
+   #    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
+      echo "WARNING: your default python is not 2.x, so autodetect..."

I'm not sure we need to print this.

Quoted 12 lines
oe-init-build-env +2 -0
+      PYTHON2_BIN=""
+      for PY_BIN in `find /{usr/,}bin -regex '.*/python\(\|2\|2\.[0-9]*

\)'`; do

oe-init-build-env +9 -0
+         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 "WARNING: poky will use '$PY_BIN' to execute python
Quoted 1 line

code."

I can live without this message but if we do leave it in we should probably call it a NOTE rather than WARNING.

oe-init-build-env

Quoted 2 lines
oe-init-build-env +2 -0
+      else
+         echo "ERROR: poky can't find python 2.x."

Perhaps make this a little more informative?

ERROR: unable to find Python 2.x, BitBake requires Python 2.6 or 2.7.

oe-init-build-env

Quoted 6 lines
oe-init-build-env +4 -0
+      fi
+      unset PYTHON2_BIN
+   fi
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi

I can verify that this works as expected (i.e. does nothing) on my Fedora 15 machine with Python 2.7.1.

Could you submit the patch to the openembedded-core mailing list so that it can be considered for inclusion in the Yocto project's shared upstream?

Thanks,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#16 lore raw

Oh, sorry, I have found the git tree of openembedded-core.

Quoted 135 lines · NiQingliang

update accroding your suggestion.
This patch is for bitbake indeed, but bitbake is not part of openembedded. Is it RIGHT?

oe-init-build-env +5 -0
index 77332a7..acf4e96 100755
@@ -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',

oe-init-build-env +7 -0
+   #    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

oe-init-build-env +11 -0
+         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

oe-init-build-env +4 -0
+      fi
+      unset PYTHON2_BIN
+   fi
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi
Quoted 66 lines · Joshua Lock
Quoted 18 lines · NiQingliang

new version

oe-init-build-env +5 -0
index 77332a7..0fe1b5e 100755
@@ -39,6 +39,35 @@ 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',

oe-init-build-env

Quoted 6 lines
oe-init-build-env +6 -0
+   #    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
+      echo "WARNING: your default python is not 2.x, so autodetect..."

I'm not sure we need to print this.

Quoted 12 lines
oe-init-build-env +2 -0
+      PYTHON2_BIN=""
+      for PY_BIN in `find /{usr/,}bin -regex '.*/python\(\|2\|2\.[0-9]*

\)'`; do

oe-init-build-env +9 -0
+         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 "WARNING: poky will use '$PY_BIN' to execute python
Quoted 1 line

code."

I can live without this message but if we do leave it in we should probably call it a NOTE rather than WARNING.

oe-init-build-env

Quoted 2 lines
oe-init-build-env +2 -0
+      else
+         echo "ERROR: poky can't find python 2.x."

Perhaps make this a little more informative?

ERROR: unable to find Python 2.x, BitBake requires Python 2.6 or 2.7.

oe-init-build-env

Quoted 6 lines
oe-init-build-env +4 -0
+      fi
+      unset PYTHON2_BIN
+   fi
+
    [ -n "$BUILDDIR" ] && cd $BUILDDIR
 fi

I can verify that this works as expected (i.e. does nothing) on my Fedora 15 machine with Python 2.7.1.

Could you submit the patch to the openembedded-core mailing list so that it can be considered for inclusion in the Yocto project's shared upstream?

Quoted 7 lines

Thanks,
Joshua
--
Joshua Lock
Yocto Project "Johannes factotum"
Intel Open Source Technology Centre

--
倪庆亮

TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com

_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto

Signature · 4 lines
倪庆亮
TEL:    13588371863
E-MAIL: [email protected]
BLOG:   http://niqingliang2003.wordpress.com
#17 lore raw
In reply to Joshua Lock
Quoted 20 lines

In our technical team call today we spent some time discussing how to support distribution releases that are due to happen around the time of Yocto 1.1.

Yocto 1.1 is scheduled for release on October 6th[1], the same month in which both Ubuntu and Fedora have new releases planned[2,3]. OpenSUSE doesn't have a release scheduled until November 10th[4].

We should accommodate for these releases in our planning around 1.1 as we need to ensure that Yocto 1.1 can be used on the new versions of the chosen supported distros.

I had initially suggested we have people doing test and any relevant development around the beta cycles of Ubuntu and Fedora:

Fedora Beta (2011-09-20)
Ubuntu (2011-09-01)
In this time frame OpenSUSE will be on Milestone 5 (2011-09-01) which afaict (based on the 6th milestone being followed by an RC) should roughly equate to a beta.

Quoted 9 lines

However this aligns with our RC period at which point we may not want to accept large patches?

To meet our stabilise complete goal of August 29th we'd have to have people testing with:
Fedora Alpha (2011-08-16)
Ubuntu Alpha 3 (2011-08-04)
OpenSUSE Milestone 4 (2011-08-11)

Thanks for the information, Josh.
I will add these into our test plan to make sure the above distribution(N+1) is validated.

Quoted 9 lines

What are peoples thoughts on this? I think the onus for this testing will fall on engineers as the project QA is already pretty stretched. I have a tendency to update to early releases on at least one machine so will no doubt do some testing on Fedora but it would be nice to have a genuine strategy for this rather than relying on ad-hoc developer upgrades.

Final note: I'm left wondering if this emails contents also make sense as a wiki page?

Quoted 7 lines

Cheers,
Joshua

1. https://wiki.pokylinux.org/wiki/Yocto_1.1_Schedule
2. https://wiki.ubuntu.com/OneiricReleaseSchedule
3. http://fedoraproject.org/wiki/Releases/16/Schedule
4. http://en.opensuse.org/Roadmap

Best Regards,
Jiajun