public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
From: Adolf Belka <adolf.belka@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: Dropping Python 2 (questions about python modules that are in python3 and python2 versions)
Date: Thu, 13 May 2021 19:36:13 +0200	[thread overview]
Message-ID: <8bd0cdbf-7705-343d-0d74-98e9e1980772@ipfire.org> (raw)
In-Reply-To: <2E5E06D8-27FF-41EA-905B-A313E07DBFFD@ipfire.org>

[-- Attachment #1: Type: text/plain, Size: 4821 bytes --]

Hi Jonatan,

On 12/05/2021 20:34, Jonatan Schlag wrote:
> Hi,
> 
>> Am 11.05.2021 um 14:18 schrieb Adolf Belka <adolf.belka(a)ipfire.org>:
>>
>> Hi all,
>>
>> Three of the python-xxx files listed for python2 already seem to have a python3 versions available in IPFire.
>>
>>
>> For python-six there is python3-six. Both are addons. Can python3-six replace python-six?
>>
>> Both python-six and python3-six appear to be the same source file but just a different version number 1.10.0 vs 1.14.0 and they have a different PROG name. Searching in the git repository I found spice refers to needing python-six to be built but it is not mentioned in the spice source install instructions under either mandatory or optional dependencies for building.
>>
> So the easiest way to try would be to disable python-six and doing a clean build. If nothing needs it it can be dropped. Otherwise you could give the python3 version a try.
Thanks for the suggestion. It worked well.

I found that python3-dateutil had python3-six defined as a dependency. However python3-dateutil is built with python3 and as we are trying to remove python2 then the use of six "as a compatibility module that can be used to allow projects to be run on either python2 or python3, whatever is available" is no longer needed.

So I removed python3-six as a dependency from python3-dateutil and removed both python3-six and python-six from make.sh and did a clean build and had no problems.

Patch has been submitted.

Thanks for your help,
Adolf
>>
>> For python-docutils there is python3-docutils. They again appear to be the same filename but different versions. python-docutils is version 0.12 and is a core program. python3-docutils is version 0.14 and is an addon. Current version is 0.17.1
>>
>> Could python3-docutils be made into a core program and updated and python-docutils removed?
>>
> Seem to be added because of python daemon, so I would update this package first and then see what happen.
> 
> Greetings Jonatan
>>
>>
>> There is python-setuptools and python3-setupttols-scm. These do look to be different files. Both are addons and grepping in the git repository neither are dependencies for any other package as far as I can find. Python-setuptools also appears to be a very old version of setuptools at 0.6c11 and the installation is running a .egg file via the bash command.
>>
>> Can python-setuptools just be removed without creating an equivalent python3 version or is it being used/required somewhere that I have been unable to identify?
>>
>>
>> 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

  reply	other threads:[~2021-05-13 17:36 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-05-05 14:27 Dropping Python 2 Michael Tremer
2021-05-05 16:49 ` Adolf Belka
2021-05-05 17:12   ` Adolf Belka
2021-05-05 21:46     ` Adolf Belka
2021-05-05 22:30   ` Michael Tremer
2021-05-06 19:40     ` Dropping Python 2 - question about boost Adolf Belka
2021-05-07 11:00       ` Michael Tremer
2021-05-07 11:16 ` Migrating fireinfo to Python 3 Michael Tremer
2021-05-07 11:16   ` [PATCH 01/10] configure: Link against " Michael Tremer
2021-05-07 11:16   ` [PATCH 02/10] _fireinfo: Migrate to " Michael Tremer
2021-05-07 11:16   ` [PATCH 03/10] _fireinfo: Refactor some code Michael Tremer
2021-05-07 11:16   ` [PATCH 04/10] Run 2to3 Michael Tremer
2021-05-07 11:21     ` Michael Tremer
2021-05-14 12:10   ` Migrating fireinfo to Python 3 Adolf Belka
2021-05-14 12:13     ` Michael Tremer
2021-05-17 13:59       ` Adolf Belka
2021-05-18 10:29         ` Michael Tremer
2021-05-11 10:37 ` Dropping Python 2 (Problem with ipaddr) Adolf Belka
2021-05-11 10:40   ` Michael Tremer
2021-05-15 11:51     ` Adolf Belka
2021-05-11 12:18 ` Dropping Python 2 (questions about python modules that are in python3 and python2 versions) Adolf Belka
2021-05-12 18:34   ` Jonatan Schlag
2021-05-13 17:36     ` Adolf Belka [this message]
2021-05-11 13:24 ` Dropping Python 2 (problems with libxml2 and libxslt) Adolf Belka
2021-05-11 13:25   ` Michael Tremer
2021-05-11 13:31     ` Adolf Belka
2021-05-12 11:07 ` Dropping Python 2 (python-distutils & python-distutils-extra) Adolf Belka
2021-05-12 17:11   ` Michael Tremer
2021-05-12 12:31 ` Dropping Python 2 (python-mechanize + knock on effects) Adolf Belka
2021-05-14 19:28 ` Dropping Python 2 (python-m2crypto) Adolf Belka
2021-05-15 21:03   ` Adolf Belka
2021-05-16 14:16     ` Adolf Belka
2021-05-20 10:15   ` Michael Tremer
2021-05-20 10:30     ` Adolf Belka
2021-05-20 11:21       ` Michael Tremer
2021-05-22 12:25     ` Adolf Belka
2021-05-25 10:03       ` Michael Tremer
2021-05-29 14:31         ` Jonatan Schlag
2021-05-29 16:19           ` Adolf Belka
2021-05-15  8:28 ` Dropping Python 2 (python-optional-src) Adolf Belka
2021-05-15  8:41   ` Adolf Belka

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8bd0cdbf-7705-343d-0d74-98e9e1980772@ipfire.org \
    --to=adolf.belka@ipfire.org \
    --cc=development@lists.ipfire.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox