From mboxrd@z Thu Jan 1 00:00:00 1970 From: Adolf Belka To: development@lists.ipfire.org Subject: Re: Dropping Python 2 (python-mechanize + knock on effects) Date: Wed, 12 May 2021 14:31:53 +0200 Message-ID: <1bcb10ad-c21b-7a23-6e52-1edf3b159bf2@ipfire.org> In-Reply-To: <74B08C60-EBDB-4C2E-83E0-A5EB5A0C3C5E@ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============4049652890500665561==" List-Id: --===============4049652890500665561== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hi All, I went to have a look at updating python-mechanize to python3. This can be do= ne, there is a release from end of 2019 which is python3 compatible. Noticed that it has a dependency of python-clientform. This turns out to have= been obsoleted in 2008 and mechanize now provides the same API as clientform= did. So clientform can be removed. Then noticed that python-mechanize is a dependency in python-feedparser and b= oth are dependencies for python-rssdler. feedparser has a more up to date version which is also python compatible but = I noticed that it's purpose is to parse Atom and RSS feeds in python and I wo= nder if this is really something we want in a firewall. Looking at python-rssdler it is from the google code archive and the version = was released in 2008. The most current version is from 2009 and nothing has b= een done since then with it. The purpose of this module is to automatically d= ownload enclosures and other objects linked to various RSS feeds such as podc= asts, videocasts and torrents. Again this doesn't seem to be the sort of module to have in a firewall and es= pecially when it is 12 years old. My proposal would be to remove python-rssdler, python-feedparser and python-c= lientform. python-mechanize could be updated to a python3 version if it is be= lieved to be required but my view would be to also remove this. It's purpose = is to provide stateful, programmatic web browsing, including ftp,http and fil= e:URL schemes etc. More can be found at https://pypi.org/project/mechanize/ I would appreciate your feedback before I do anything further here as I may n= ot have the whole picture of what these addons are being used for. 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 co= nference call this week: Dropping Python 2 > > This version of Python has reached its end of life and will no longer recei= ve 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 bi= t more difficult to migrate. We would also have to be very careful to not cha= nge any behaviour of the current implementation. > > The rest is probably either software that is entirely written in Python 2 o= r software that brings bindings for Python. The latter case is easy because w= e 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 ab= le 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 abo= ve? I would like to aim for Core Update 158 and remove as much stuff as possi= ble - if we can everything - and then remove Python 2 in the update after tha= t. If anyone has any custom scripts or applications, people will have some ti= me to migrate away. > > Best, > -Michael --===============4049652890500665561==--