NoMorePython2: Difference between revisions
From Yocto Project
Jump to navigationJump to search
RossBurton (talk | contribs) (Created page with "= No More Python 2! = == Problem Statement == Python 2 is in maintenance mode and everyone should shift to Python 3. We've made the move in OpenEmbedded Core so that <tt>co...") |
RossBurton (talk | contribs) No edit summary |
||
Line 8: | Line 8: | ||
To be able to build first <tt>core-image-sato</tt> and then <tt>world</tt> of OpenEmbedded Core without Python 2 being present on the host, or being built via <tt>python-native</tt>. | To be able to build first <tt>core-image-sato</tt> and then <tt>world</tt> of OpenEmbedded Core without Python 2 being present on the host, or being built via <tt>python-native</tt>. | ||
== Method == | |||
One option is to just remove Python 2 from your build host. Whilst this works, unless you're building inside a container this might not be feasible. The next best thing is to make the binary not executable briefly for the test builds. Sadly you can't remove Python 2 from <tt>HOSTTOOLS</tt> as several upstreams will explicitly poke around <tt>/usr/bin</tt> looking for a Python to run. | |||
== Status == | == Status == |
Revision as of 11:51, 3 August 2017
No More Python 2!
Problem Statement
Python 2 is in maintenance mode and everyone should shift to Python 3. We've made the move in OpenEmbedded Core so that core-image-sato doesn't pull in Python 2, but Python 2 is still needed during the build.
Goal
To be able to build first core-image-sato and then world of OpenEmbedded Core without Python 2 being present on the host, or being built via python-native.
Method
One option is to just remove Python 2 from your build host. Whilst this works, unless you're building inside a container this might not be feasible. The next best thing is to make the binary not executable briefly for the test builds. Sadly you can't remove Python 2 from HOSTTOOLS as several upstreams will explicitly poke around /usr/bin looking for a Python to run.
Status
Patches Ready
- ca-certificates
- libsoup
- grub
- pseudo
- ninja
To Review
- xcb-proto (do all callers use py3)
- texinfo-dummy-native (does it still work)
Broken
- python3-pycairo (appears to just need a Waf update)
- Add waf-native to oe-core
- Extend waf class to invoke waf-native using Python 3
- Use waf class in python3-pycairo
- webkitgtk
- ovmf
- eglinfo (-x11 -egl)
Needs Python 2, actively refuses to use Python 3
- apr
- qemu