* moving OpenEmbedded-core to Python 3
@ 2016-04-25 12:22 Alexander Kanavin
2016-04-25 15:11 ` akuster808
2016-04-29 20:43 ` Khem Raj
0 siblings, 2 replies; 6+ messages in thread
From: Alexander Kanavin @ 2016-04-25 12:22 UTC (permalink / raw)
To: Patches and discussions about the oe-core layer
Hello everyone,
we want to deprecate Python 2 in oe-core and set Python 3 as the
default, preferred choice. What does this mean?
1) Introducing new Python 2 dependencies via new recipes or additional
DEPENDS etc. in existing recipes will be discouraged: you'll have to
provide a reason.
2) Bitbake itself is at the moment Python 2 only - which will be addressed.
3) OE-core recipes that are currently dependent on Python 2 will be
moved to Python 3 whenever possible (e.g. when nothing in oe-core
requires them to be built against python 2). This may break some of your
code, so please do try any patchsets before they land in master (or
stable release), and suggest alternatives.
4) Of course, there is a large mass of Python 2 code out there, which
may never be ported to Python 3, so Python 2 will continue to be
provided at least until it's no longer supported upstream (the current
date is 2020).
I'll prepare an initial patchset for review, so please keep an eye on it.
Thanks,
Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: moving OpenEmbedded-core to Python 3
2016-04-25 12:22 moving OpenEmbedded-core to Python 3 Alexander Kanavin
@ 2016-04-25 15:11 ` akuster808
2016-04-27 12:51 ` Alexander Kanavin
2016-04-29 20:43 ` Khem Raj
1 sibling, 1 reply; 6+ messages in thread
From: akuster808 @ 2016-04-25 15:11 UTC (permalink / raw)
To: openembedded-core
On 04/25/2016 05:22 AM, Alexander Kanavin wrote:
> Hello everyone,
>
> we want to deprecate Python 2 in oe-core and set Python 3 as the
> default, preferred choice. What does this mean?
What is the target to make Python3 default, 2.2?
>
> 1) Introducing new Python 2 dependencies via new recipes or additional
> DEPENDS etc. in existing recipes will be discouraged: you'll have to
> provide a reason.
Will there be any kind of QA warning for these dependencies? this will
help scope how many recipes need to be looked at. there are a lot of
layers out there.
>
> 2) Bitbake itself is at the moment Python 2 only - which will be addressed.
What will the env setup script display then?
>
> 3) OE-core recipes that are currently dependent on Python 2 will be
> moved to Python 3 whenever possible (e.g. when nothing in oe-core
> requires them to be built against python 2). This may break some of your
> code, so please do try any patchsets before they land in master (or
> stable release), and suggest alternatives.
>
> 4) Of course, there is a large mass of Python 2 code out there, which
> may never be ported to Python 3, so Python 2 will continue to be
> provided at least until it's no longer supported upstream (the current
> date is 2020).
>
> I'll prepare an initial patchset for review, so please keep an eye on it.
thanks for doing the the initial work.
- armin
>
>
> Thanks,
> Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: moving OpenEmbedded-core to Python 3
2016-04-25 15:11 ` akuster808
@ 2016-04-27 12:51 ` Alexander Kanavin
0 siblings, 0 replies; 6+ messages in thread
From: Alexander Kanavin @ 2016-04-27 12:51 UTC (permalink / raw)
To: openembedded-core
On 04/25/2016 06:11 PM, akuster808 wrote:
>> we want to deprecate Python 2 in oe-core and set Python 3 as the
>> default, preferred choice. What does this mean?
>
> What is the target to make Python3 default, 2.2?
There is no specific target when the task is 'totally done', it's an
ongoing activity that will span multiple releases. I plan to have the
initial patchset merged into master in 2.2 cycle, but there's more work
to be done when upstream components currently stuck in python 2 will
finally more to python 3, and fixing up any loose ends, obscure
regressions etc.
>> 1) Introducing new Python 2 dependencies via new recipes or additional
>> DEPENDS etc. in existing recipes will be discouraged: you'll have to
>> provide a reason.
>
> Will there be any kind of QA warning for these dependencies? this will
> help scope how many recipes need to be looked at. there are a lot of
> layers out there.
I think there will not be. There are too many recipes in oe-core that
are python 2 only (and even more outside of oe-core), and it's too much
work to add warning suppressions to them all. Also, we don't want to
force python 3 transition on anyone outside of oe-core, people can do it
at their own pace and schedule.
>> 2) Bitbake itself is at the moment Python 2 only - which will be addressed.
>
> What will the env setup script display then?
This is a question for bitbake developers I guess, not me.
Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: moving OpenEmbedded-core to Python 3
2016-04-25 12:22 moving OpenEmbedded-core to Python 3 Alexander Kanavin
2016-04-25 15:11 ` akuster808
@ 2016-04-29 20:43 ` Khem Raj
2016-05-02 10:14 ` Alexander Kanavin
1 sibling, 1 reply; 6+ messages in thread
From: Khem Raj @ 2016-04-29 20:43 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer
On Mon, Apr 25, 2016 at 5:22 AM, Alexander Kanavin
<alexander.kanavin@linux.intel.com> wrote:
> Hello everyone,
>
> we want to deprecate Python 2 in oe-core and set Python 3 as the default,
> preferred choice. What does this mean?
>
> 1) Introducing new Python 2 dependencies via new recipes or additional
> DEPENDS etc. in existing recipes will be discouraged: you'll have to provide
> a reason.
>
> 2) Bitbake itself is at the moment Python 2 only - which will be addressed.
>
> 3) OE-core recipes that are currently dependent on Python 2 will be moved to
> Python 3 whenever possible (e.g. when nothing in oe-core requires them to be
> built against python 2). This may break some of your code, so please do try
> any patchsets before they land in master (or stable release), and suggest
> alternatives.
>
> 4) Of course, there is a large mass of Python 2 code out there, which may
> never be ported to Python 3, so Python 2 will continue to be provided at
> least until it's no longer supported upstream (the current date is 2020).
>
> I'll prepare an initial patchset for review, so please keep an eye on it.
>
Can you clarify the scope, are you addressing the case where target
images would prefer python3
and you are making sure that packages that use python on target are
ready for using it.
bitbake itself is a separate task but then we do write scriptlets that
are executed as part of
build, are you addressing those too ?
Thirdly, there is general pythonic code in metadata meant to control
build policies
Which of these are you addressing specifically.
>
> Thanks,
> Alex
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: moving OpenEmbedded-core to Python 3
2016-04-29 20:43 ` Khem Raj
@ 2016-05-02 10:14 ` Alexander Kanavin
2016-05-02 21:43 ` Khem Raj
0 siblings, 1 reply; 6+ messages in thread
From: Alexander Kanavin @ 2016-05-02 10:14 UTC (permalink / raw)
To: Khem Raj; +Cc: Patches and discussions about the oe-core layer
On 04/29/2016 11:43 PM, Khem Raj wrote:
> Can you clarify the scope, are you addressing the case where target
> images would prefer python3
> and you are making sure that packages that use python on target are
> ready for using it.
There is no way to set a 'preference' for Python 3. Either version of
Python is pulled into images either through dependencies, or explicit
inclusion into some package list.
I'm going to move recipes that are dependent on Python 2 to Python 3,
whenever possible. I'm not porting the upstream code from Python 2 from
Python 3, just configuring the recipes to use Python 3, when the Python
code in them has already been ported.
> bitbake itself is a separate task but then we do write scriptlets that
> are executed as part of
> build, are you addressing those too ?
Not sure what you mean here exactly, but if the scriptlets are executed
by bitbake, then I'm not addressing that.
> Thirdly, there is general pythonic code in metadata meant to control
> build policies
Again, can you provide an example?
> Which of these are you addressing specifically.
Please start using the question mark (?), so I can see more easily what
is a question when responding.
Thanks,
Alex
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: moving OpenEmbedded-core to Python 3
2016-05-02 10:14 ` Alexander Kanavin
@ 2016-05-02 21:43 ` Khem Raj
0 siblings, 0 replies; 6+ messages in thread
From: Khem Raj @ 2016-05-02 21:43 UTC (permalink / raw)
To: Alexander Kanavin; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 1840 bytes --]
> On May 2, 2016, at 3:14 AM, Alexander Kanavin <alexander.kanavin@linux.intel.com> wrote:
>
> On 04/29/2016 11:43 PM, Khem Raj wrote:
>
>> Can you clarify the scope, are you addressing the case where target
>> images would prefer python3
>> and you are making sure that packages that use python on target are
>> ready for using it.
>
> There is no way to set a 'preference' for Python 3. Either version of Python is pulled into images either through dependencies, or explicit inclusion into some package list.
>
> I'm going to move recipes that are dependent on Python 2 to Python 3, whenever possible. I'm not porting the upstream code from Python 2 from Python 3, just configuring the recipes to use Python 3, when the Python code in them has already been ported.
OK, that is a safer bet.
>
>> bitbake itself is a separate task but then we do write scriptlets that
>> are executed as part of
>> build, are you addressing those too ?
>
> Not sure what you mean here exactly, but if the scriptlets are executed by bitbake, then I'm not addressing that.
I was referring to bitbake itself needs python2 to run but if we have code like classes etc. or external fetchers
with assume python2 since bitbake is python2
>
>> Thirdly, there is general pythonic code in metadata meant to control
>> build policies
>
> Again, can you provide an example?
Snippets are all around in metadata where we use python snippets inside recipes or configuration metadata. in general we should
be using python3 more, but scoping these changes clearly would help to set the expectations from user point of view.
>
>> Which of these are you addressing specifically.
>
> Please start using the question mark (?), so I can see more easily what is a question when responding.
>
> Thanks,
> Alex
>
[-- Attachment #2: Message signed with OpenPGP using GPGMail --]
[-- Type: application/pgp-signature, Size: 211 bytes --]
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-05-02 21:43 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-25 12:22 moving OpenEmbedded-core to Python 3 Alexander Kanavin
2016-04-25 15:11 ` akuster808
2016-04-27 12:51 ` Alexander Kanavin
2016-04-29 20:43 ` Khem Raj
2016-05-02 10:14 ` Alexander Kanavin
2016-05-02 21:43 ` Khem Raj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox