Difference between revisions of "Buildroot:Python2Packages"
m |
|||
(11 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | 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 [[Buildroot: | + | 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 [[https://elinux.org/Buildroot:DeveloperDaysFOSDEM2020|Buildroot developer days at FOSDEM 2020]]) |
== Non Python packages == | == Non Python packages == | ||
Line 6: | Line 6: | ||
* alsa-lib (install Python module with option BR2_PACKAGE_ALSA_LIB_PYTHON): To be tested | * alsa-lib (install Python module with option BR2_PACKAGE_ALSA_LIB_PYTHON): To be tested | ||
− | * crudini: currently in v0.9, can be bumped to 0.9.3 which adds py3 support | + | * crudini: <s>currently in v0.9, can be bumped to 0.9.3 which adds py3 support. Patch series pending: https://patchwork.ozlabs.org/project/buildroot/list/?series=156917</s> DONE ! |
* <s>dstat: currently in v0.7.3, can be bumped to v0.7.4 which adds py3 support</s> DONE! | * <s>dstat: currently in v0.7.3, can be bumped to v0.7.4 which adds py3 support</s> DONE! | ||
− | * fail2ban: at a first glance, does not seem to support Python3 ! | + | * <s>fail2ban: at a first glance, does not seem to support Python3 !</s> Support was added in commit 2d666026385573286371a0f5d9f4b5e0d80f723b |
* gdb: seems to be compatible with both Python 2 and 3, but not sure since which version | * gdb: seems to be compatible with both Python 2 and 3, but not sure since which version | ||
− | * gnuradio: currently in v3.7.13.5, can be bumped to v3.8+ which supports Python 3. Work can resume from these patches: http://patchwork.ozlabs.org/patch/1158469/ and http://patchwork.ozlabs.org/patch/1158470/ | + | * gnuradio: currently in v3.7.13.5, can be bumped to v3.8+ which supports Python 3. <s>Work can resume from these patches: http://patchwork.ozlabs.org/patch/1158469/ and http://patchwork.ozlabs.org/patch/1158470/</s> New series under review: https://patchwork.ozlabs.org/project/buildroot/list/?series=153798 (+ 1 patch that got lost alone: https://patchwork.ozlabs.org/patch/1224753/) |
* jailhouse: no clear indication, but there are some signs towards Python 3 support (https://github.com/siemens/jailhouse/blob/master/pyjailhouse/extendedenum.py#L12-L21) | * jailhouse: no clear indication, but there are some signs towards Python 3 support (https://github.com/siemens/jailhouse/blob/master/pyjailhouse/extendedenum.py#L12-L21) | ||
* Kodi: Upstream announces an ongoing effort to move to Python3 in the upcoming v19: https://kodi.wiki/view/Migration_to_Python_3. Only Python2 for now ! | * Kodi: Upstream announces an ongoing effort to move to Python3 in the upcoming v19: https://kodi.wiki/view/Migration_to_Python_3. Only Python2 for now ! | ||
Line 17: | Line 17: | ||
* pcm-tools: the pmu-query script is still tied to Python2, syntactically incompatible with Python3 | * pcm-tools: the pmu-query script is still tied to Python2, syntactically incompatible with Python3 | ||
* <s>supervisor: currently in v3.1.4, support for Python3 was added in v4.0.0 (https://github.com/Supervisor/supervisor/blob/master/CHANGES.rst#400-2019-04-05)</s> DONE! | * <s>supervisor: currently in v3.1.4, support for Python3 was added in v4.0.0 (https://github.com/Supervisor/supervisor/blob/master/CHANGES.rst#400-2019-04-05)</s> DONE! | ||
+ | * <s>gstreamer1/gst1-validate: Patch for Python3 sent http://patchwork.ozlabs.org/patch/1185306/</s> DONE! | ||
== Python packages == | == Python packages == | ||
Line 28: | Line 29: | ||
=== waf === | === 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: | + | The waf build system in itself is now compatible with Python3; <s>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</s>. Buildroot currently has the following waf-based packages, and all of them are now Python3 ready: |
− | * aubio | + | * aubio |
− | |||
− | |||
* jack2 | * jack2 | ||
− | |||
* mpv | * mpv | ||
− | * norm | + | * norm (patch series pending: https://patchwork.ozlabs.org/project/buildroot/list/?series=156705) |
+ | * glmark2 | ||
+ | * libimxvpuapi <s>(patch pending: https://patchwork.ozlabs.org/patch/1233460/)</s> DONE ! | ||
+ | * gstreamer1/gst1-imx <s>(patch pending: https://patchwork.ozlabs.org/patch/1233580/)</s> DONE ! | ||
+ | |||
+ | We can therefore now make the waf-package infrastructure use Python3, as submitted in this patch: https://patchwork.ozlabs.org/patch/1233581/ | ||
=== Scons === | === Scons === | ||
Line 42: | Line 45: | ||
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: | 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: | ||
− | * alljoyn, alljoyn-base, alljoyn-tcl, alljoyn-tcl-base: Upstream seems dead, Patch for removal sent: http://patchwork.ozlabs.org/patch/ | + | * <s>alljoyn, alljoyn-base, alljoyn-tcl, alljoyn-tcl-base: Upstream seems dead, Patch for removal sent: http://patchwork.ozlabs.org/patch/1186692/</s> REMOVED! |
− | * benejson: Patch sent sent for upgrade to host-python3 http://patchwork.ozlabs.org/patch/1185105/ | + | * <s>benejson: Patch sent sent for upgrade to host-python3 http://patchwork.ozlabs.org/patch/1185105/</s> DONE! |
− | * gpsd: Patch sent for upgrade to host-python3 http://patchwork.ozlabs.org/patch/1185026/ | + | * <s>gpsd: Patch sent for upgrade to host-python3 http://patchwork.ozlabs.org/patch/1185026/</s> DONE! |
* mongodb: Patch series pending: http://patchwork.ozlabs.org/project/buildroot/list/?series=138894 | * mongodb: Patch series pending: http://patchwork.ozlabs.org/project/buildroot/list/?series=138894 |
Revision as of 09:26, 5 February 2020
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.
- alsa-lib (install Python module with option BR2_PACKAGE_ALSA_LIB_PYTHON): To be tested
- crudini:
currently in v0.9, can be bumped to 0.9.3 which adds py3 support. Patch series pending: https://patchwork.ozlabs.org/project/buildroot/list/?series=156917DONE ! dstat: currently in v0.7.3, can be bumped to v0.7.4 which adds py3 supportDONE!fail2ban: at a first glance, does not seem to support Python3 !Support was added in commit 2d666026385573286371a0f5d9f4b5e0d80f723b- gdb: seems to be compatible with both Python 2 and 3, but not sure since which version
- gnuradio: currently in v3.7.13.5, can be bumped to v3.8+ which supports Python 3.
Work can resume from these patches: http://patchwork.ozlabs.org/patch/1158469/ and http://patchwork.ozlabs.org/patch/1158470/New series under review: https://patchwork.ozlabs.org/project/buildroot/list/?series=153798 (+ 1 patch that got lost alone: https://patchwork.ozlabs.org/patch/1224753/) - jailhouse: no clear indication, but there are some signs towards Python 3 support (https://github.com/siemens/jailhouse/blob/master/pyjailhouse/extendedenum.py#L12-L21)
- Kodi: Upstream announces an ongoing effort to move to Python3 in the upcoming v19: https://kodi.wiki/view/Migration_to_Python_3. Only Python2 for now !
- libdnet: latest release v1.11 dates back from 2005, and only talks about Py2.3 or 2.4. There is most probably no Python3 support, because the latter was released in 2008
- nmap: the ndiff utility is still tied to Python2, syntactically incompatible with Python3
- pcm-tools: the pmu-query script is still tied to Python2, syntactically incompatible with Python3
supervisor: currently in v3.1.4, support for Python3 was added in v4.0.0 (https://github.com/Supervisor/supervisor/blob/master/CHANGES.rst#400-2019-04-05)DONE!gstreamer1/gst1-validate: Patch for Python3 sent http://patchwork.ozlabs.org/patch/1185306/DONE!
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:
- aubio
- jack2
- mpv
- norm (patch series pending: https://patchwork.ozlabs.org/project/buildroot/list/?series=156705)
- glmark2
- libimxvpuapi
(patch pending: https://patchwork.ozlabs.org/patch/1233460/)DONE ! - gstreamer1/gst1-imx
(patch pending: https://patchwork.ozlabs.org/patch/1233580/)DONE !
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:
alljoyn, alljoyn-base, alljoyn-tcl, alljoyn-tcl-base: Upstream seems dead, Patch for removal sent: http://patchwork.ozlabs.org/patch/1186692/REMOVED!benejson: Patch sent sent for upgrade to host-python3 http://patchwork.ozlabs.org/patch/1185105/DONE!gpsd: Patch sent for upgrade to host-python3 http://patchwork.ozlabs.org/patch/1185026/DONE!- mongodb: Patch series pending: http://patchwork.ozlabs.org/project/buildroot/list/?series=138894