[bitbake-devel] Python 3 for Bitbake

Richard Purdie richard.purdie at linuxfoundation.org
Wed May 4 08:56:16 UTC 2016


We've come to a cross roads for bitbake and python. Currently we run on
python 2.7 but python 2.x is getting old and we really need to move to
3.X.

Whilst there are a number of tools out there which can translate
between the two, we have the complexity that we have python both in
bitbake itself and spread throughout the metadata. We could try and
migrate, attempting to support both versions but it would require a lot
of effort and I'm not sure we get much return for it. Its more likely
we'd end up with a lot of subtle bugs.

An alternative is we just have a flag day and switch, putting in
patches to bitbake and the metadata to migrate to 3.X in one go. The
advantage of this is much cleaner code without any workarounds for
compatibility.

I did some work on this a couple of years ago, I've dusted off those
patches and improved upon them to get to the ones in:

http://git.yoctoproject.org/cgit.cgi/poky-contrib/log/?h=rpurdie/wip

Right now, this is enough to be able to run "bitbake bash", there are a
ton of things which still need to be done. The patches above are rather
rough, the aim just being to find out if we can get the basics working
which it appears we can.

My proposal is we decide to have the flag day, we queue up the patches
on a python3 branch both in oe-core and bitbake, then we switch when we
get successful autobuilder builds. I'd ideally like to do this quite
soon and get one with it (within a few weeks), leaving plenty of time
to handle issues and the other changes planned for this release cycle
and give other layers time to adapt.

I will likely push things so the basics in the core work, I'll then
need help for things like toaster, the QA framework, the supporting
tools (devtool, recipetool and so on).

Does anyone object to this?

Cheers,

Richard






More information about the bitbake-devel mailing list