Buildroot:Python2Packages

From eLinux.org
Revision as of 12:43, 21 July 2020 by ITitou (talk | contribs) (Scons)
Jump to: navigation, search

In an effort to follow the Python2 deprecation on the 1st of January 2020, here is a listing of current Buildroot packages that depend on Python2 (as of master during the [developer days at FOSDEM 2020])

Non Python packages

These packages integrate with Python2: either they contain scripts written in Python, or they install Python libraries as byproducts.

Python packages

(TBD) These packages are Python libraries that can then be imported by Python scripts

Python in the build system

These packages use Python in their build process (hence requiring host-python)

waf

The waf build system in itself is now compatible with Python3; but the wscript (build definition file) provided by some packages is still syntactically incompatible with Python3. Because Buildroot has a dedicated waf infrastructure, it is difficult to handle each of these packages individually: the `waf-package` infrastructure in itself depends on host-python, and we cannot upgrade it to host-python3 until all the waf packages can actually be built under Python3 only. Buildroot currently has the following waf-based packages, and all of them are now Python3 ready:

We can therefore now make the waf-package infrastructure use Python3, as submitted in this patch: https://patchwork.ozlabs.org/patch/1233581/

Scons

Similarly to waf, SCons in itself is compatible with Python3, but build definition files can be Python3 incompatible. However, because there is no dedicated SCons infrastructure, each package can be handled individually. Buildroot currently has the following SCons based packages:

All SCons based packages in Buildroot can now be built with Python3, and the host-scons package has been updated accordingly (in this series https://patchwork.ozlabs.org/project/buildroot/patch/20200714033927.1516172-1-hancock@sedsystems.ca/)