Hello Adolf,
As far as I am aware, setuptools was merged into the base distribution of Python 3 and neither distutils or setuptools are required any more.
Just dropping this package should be fine.
-Michael
On 12 May 2021, at 12:07, Adolf Belka adolf.belka@ipfire.org wrote:
Hi All,
I was looking at python-distutils and python-distutils-extra as the next files to convert from python2 to python3 but I am wondering if this makes sense.
python-distutils has a lfs file that is missing most of the content. python-distutils is not listed in make.sh so it is not being built. However the rootfile and the addon install are still in place and working.
python-distutils is listed as a dependency for python-distutils-extra. This package is provided by Ubuntu launchpad. The current IPFire version is 2.25 from 2011. The most up to date version available is 2.39 from 2016. There looks to be no more development of this module. This addon package is not listed anywhere in IPFire as a dependency.
Looking up python-distutils in the python.org documentation it says that it has been replaced by python-setuptools.
PyPI indicates that distutils development stopped in 2012 and that setuptools and pip should be used.
The current version of python-setuptools in IPFire is 0.6c11 and the version available in PyPI is 56.2.0
It would seem to me that python-distutils and python-distutils-extra should be removed and python-setuptools should be updated to version 56.2.0 and converted to python3
Is my conclusion reasonable or am I missing things.
Thanks,
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