Mailing List Archive

Python 2.7 cleanup: plan B
Hi, everyone.

TL;DR: we might keep Python 2.7 supported as a build-time dependency
of a few packages as necessary, while removing the eclass support for
installing packages for py2.7.


As I've mentioned earlier, the plan is to get rid of Python 2.7 target
support at the beginning of 2021. The plan was to last rite all
remaining packages failing to support Python 3 at 2021-01-01, and remove
the eclass support on 2021-02-15. At the same time, the Python
interpreter was going to stay around for as long as necessary.

I've also mentioned that there is a high risk that this will not be
possible because of a few large entities ignoring the problem
and failing to port their build system scripts away from Python 2.
We can't really last rite all major web browsers, and postponing
the deadline indefinitely is not a good solution either.

Therefore, I advise the following plan B: if it is impossible to remove
Python 2.7 support from packages entirely, the support for installing
Python packages for Python 2.7 will be removed. However, there will be
exemptions granted for build-time dependencies on the Python interpreter
to keep things working, for as long as the interpreter itself is going
to stay.

The candidates for exemptions are pypy/pypy3 (CPython 2.7 is needed for
bootstrap on new platforms), Mozilla products, WebKit and WebKit-based
browsers.

--
Best regards,
Micha? Górny
Re: Python 2.7 cleanup: plan B [ In reply to ]
On Tue, Aug 11, 2020 at 9:31 AM Micha? Górny <mgorny@gentoo.org> wrote:
> TL;DR: we might keep Python 2.7 supported as a build-time dependency
> of a few packages as necessary, while removing the eclass support for
> installing packages for py2.7.

I think this is the right plan (and is along the lines of what I
suggested in the context of removing offlineimap, which didn't need
anything except the Python 2.7 interpreter).
Re: Python 2.7 cleanup: plan B [ In reply to ]
> Hi, everyone.

> TL;DR: we might keep Python 2.7 supported as a build-time dependency
> of a few packages as necessary, while removing the eclass support for
> installing packages for py2.7.


> As I've mentioned earlier, the plan is to get rid of Python 2.7 target
> support at the beginning of 2021. The plan was to last rite all
> remaining packages failing to support Python 3 at 2021-01-01, and remove
> the eclass support on 2021-02-15. At the same time, the Python
> interpreter was going to stay around for as long as necessary.

> I've also mentioned that there is a high risk that this will not be
> possible because of a few large entities ignoring the problem
> and failing to port their build system scripts away from Python 2.
> We can't really last rite all major web browsers, and postponing
> the deadline indefinitely is not a good solution either.

> Therefore, I advise the following plan B: if it is impossible to remove
> Python 2.7 support from packages entirely, the support for installing
> Python packages for Python 2.7 will be removed. However, there will be
> exemptions granted for build-time dependencies on the Python interpreter
> to keep things working, for as long as the interpreter itself is going
> to stay.

> The candidates for exemptions are pypy/pypy3 (CPython 2.7 is needed for
> bootstrap on new platforms), Mozilla products, WebKit and WebKit-based
> browsers.

> Best regards,
> Micha=C5=82 G=C3=B3rny

I believe net-print/hplip also depends on Python 2.7. This is print/hplip in NetBSD pkgsrc and FreeBSD ports.

Or did they fix that recently?

Possibly hplip is mainly for older HP printers, not sure about what's going on with HP laser printers more recently.

Maybe that's why there has been reluctance to fix the Python 2.7 dependency?

I have such an HP printer (LaserJet M1212nf MFP), and my experience dissuades me from ordering anything further from HP.

I think most everybody involved with open-source would agree that proprietary binary plugins suck.

Tom
Re: Re: Python 2.7 cleanup: plan B [ In reply to ]
On Tue, 11 Aug 2020 23:41:33 +0000 (UTC)
"Thomas Mueller" <mueller6724@twc.com> wrote:

> > Hi, everyone.
>
> > TL;DR: we might keep Python 2.7 supported as a build-time dependency
> > of a few packages as necessary, while removing the eclass support
> > for installing packages for py2.7.
>
>
> > As I've mentioned earlier, the plan is to get rid of Python 2.7
> > target support at the beginning of 2021. The plan was to last rite
> > all remaining packages failing to support Python 3 at 2021-01-01,
> > and remove the eclass support on 2021-02-15. At the same time, the
> > Python interpreter was going to stay around for as long as
> > necessary.
>
> > I've also mentioned that there is a high risk that this will not be
> > possible because of a few large entities ignoring the problem
> > and failing to port their build system scripts away from Python 2.
> > We can't really last rite all major web browsers, and postponing
> > the deadline indefinitely is not a good solution either.
>
> > Therefore, I advise the following plan B: if it is impossible to
> > remove Python 2.7 support from packages entirely, the support for
> > installing Python packages for Python 2.7 will be removed.
> > However, there will be exemptions granted for build-time
> > dependencies on the Python interpreter to keep things working, for
> > as long as the interpreter itself is going to stay.
>
> > The candidates for exemptions are pypy/pypy3 (CPython 2.7 is needed
> > for bootstrap on new platforms), Mozilla products, WebKit and
> > WebKit-based browsers.
>
> > Best regards,
> > Micha=C5=82 G=C3=B3rny
>
> I believe net-print/hplip also depends on Python 2.7. This is
> print/hplip in NetBSD pkgsrc and FreeBSD ports.
>
> Or did they fix that recently?
>
> Possibly hplip is mainly for older HP printers, not sure about what's
> going on with HP laser printers more recently.
>
> Maybe that's why there has been reluctance to fix the Python 2.7
> dependency?
>
> I have such an HP printer (LaserJet M1212nf MFP), and my experience
> dissuades me from ordering anything further from HP.
>
> I think most everybody involved with open-source would agree that
> proprietary binary plugins suck.
>
> Tom
>
>
latest hplip has: PYTHON_COMPAT=( python3_{6,7,8} )
and older one was just missing py3.8