Hi All,
Problems trying to update libxml2 and libxslt from python2 to python3.
Using --with-python=python3 in the configure section gives the result of unknown command and it builds with python2.
Using PYTHON=python3 before the ./configure command is ignored by the configure process and it builds with python2.
There is a python3 version of libxml2 available in PyPI but it was released in 2018 and nothing since then.
It looks like both libxml2 and libxslt only do their python bits in python2. Not running python at all would still give the libxml2 and libxslt libraries but would miss out the uncommented python lines in the rootfile:-
usr/lib/python2.7/site-packages/drv_libxml2.py usr/lib/python2.7/site-packages/libxml2.py #usr/lib/python2.7/site-packages/libxml2mod.la usr/lib/python2.7/site-packages/libxml2mod.so
usr/lib/python2.7/site-packages/libxml2.pyc #usr/lib/python2.7/site-packages/libxslt.py #usr/lib/python2.7/site-packages/libxsltmod.a #usr/lib/python2.7/site-packages/libxsltmod.la usr/lib/python2.7/site-packages/libxsltmod.so
I can't tell if missing those would be a problem.
I also can't tell if there is any alternative way around libxml2/libxslt with python3 or not and if this means that python 2 needs to stay for these two libraries.
Regards,
Adolf.
On 05/05/2021 16:27, Michael Tremer wrote:
Hello,
I would like to talk about what has been discussed at the last developer conference call this week: Dropping Python 2
This version of Python has reached its end of life and will no longer receive any security fixes. Hence we need to get rid of it as soon as possible.
However, there is lots of software that still depends on it which has to be migrated away first.
There are at least the following packages:
boost fetchmail fireinfo iotop ipaddr libxml2 libxslt newt nmap python python-clientform python-daemon python-distutils python-distutils-extra python-docutils python-feedparser python-inotify python-ipaddress python-m2crypto python-mechanize python-optional-src python-pyparsing python-rssdler python-setuptools python-six python-typing
We also have the following scripts:
config/ca-certificates/certdata2pem.py config/unbound/unbound-dhcp-leases-bridge
Fireinfo is written by us and has a lot of C which will make it a little bit more difficult to migrate. We would also have to be very careful to not change any behaviour of the current implementation.
The rest is probably either software that is entirely written in Python 2 or software that brings bindings for Python. The latter case is easy because we can either force it to build with Python 3 or we just disable the bindings.
Ultimately we might need to keep Python around in the build system if there are other packages that rely on it. However, it would be great if we were able to remove it from the distribution very soon. Looking at his list, it does not seem to be too difficult.
Would anyone be up to help and remove Python from any of those packages above? I would like to aim for Core Update 158 and remove as much stuff as possible - if we can everything - and then remove Python 2 in the update after that. If anyone has any custom scripts or applications, people will have some time to migrate away.
Best, -Michael