public inbox for gentoo-dev@lists.gentoo.org
 help / color / mirror / Atom feed
From: Mike Gilbert <floppym@gentoo.org>
To: Gentoo Dev <gentoo-dev@lists.gentoo.org>
Subject: Re: [gentoo-dev] unsanctioned python 2.7 crusade
Date: Fri, 6 Dec 2019 11:44:43 -0500	[thread overview]
Message-ID: <CAJ0EP43BspHFCh-izarz_+pNeLM1qPTA90irdbEDHQwtkW-Ofg@mail.gmail.com> (raw)
In-Reply-To: <c1e342e6-a2db-95ac-dc61-63ef6fcc7443@gentoo.org>

On Fri, Dec 6, 2019 at 11:12 AM Thomas Deutschmann <whissi@gentoo.org> wrote:
>
> On 2019-12-06 16:48, Mike Gilbert wrote:
> > It's not quite so simple as you make it sound. There really isn't a
> > viable way to defer removal of python2-only packages until we remove
> > dev-lang/python:2.7.
> >
> > An increasing number of python packages are dropping support for
> > python2 when upstream releases new versions. When this happens, we
> > really need to drop python2 support from all reverse dependencies as
> > well. Alternative strategies like slotting or compatibility packages
> > are a stopgap at best, and become a problem as soon as bugs are
> > reported or security issues pop up.
> >
> > Ripping out python2 support for all reverse dependencies of a core
> > package is rather daunting, and is likely to cause much more of an
> > uproar than the recent mask. Aaron is really tackling the low-hanging
> > fruit at this point: leaves on the depgraph.
>
> But what's the problem here? Why do you need to rip out Py2 support? PHP
> project is facing a similar situation with PHP 5.6, 7.0 and now 7.1
> becoming EOL. Sure, there are way more Python packages but could you
> explain why you can't do the same like we did? I.e. new versions of PHP
> PECL extension also dropped support for PHP versions which are EOL. When
> we bump these packages we just drop PHP versions which are no longer
> able to run these extensions. But we keep at least last version still
> supporting PHP version which is/become EOL until we finally get rid of
> this PHP version as a whole. For example, a lot of packages are now
> masked *with* dev-lang/php:5.6 because Gentoo will finally get rid of
> PHP 5.6 which is EOL since 2018-12-31. But we didn't break PHP 5.6 users
> by starting to remove PECL extension for this version while
> dev-lang/php:5.6 was still a thing...

That's going to cause a very confusing user-experience due to
conflicting PYTHON_TARGETS values on the various packages. It's also
going to cause users to have old/unsupported/buggy versions of various
random python packages depending on what set of reverse dependencies
they happen to have installed.

For example, lets say the next release of dev-python/example drops
support for python2, and also adds some new features and fixes some
bugs.

If the user has python2_7 enabled for any reverse dependency of
dev-python/example, Portage will be forced to do one of two things:

1. Keep the old version installed.
2. Emit a confusing error message to the user since the use-dependency
on dev-python/example[python_targets_python2_7] cannot be resolved
with the latest visible version.

Option 1 is bad because the user will be missing out on bug fixes and
new features. Option 2 will probably generate some bug reports that we
will have to close as CANTFIX.

It's also a giant pain in the butt for python maintainers since it
makes cleaning up old versions very error-prone. This may also be a
problem if the security team demands we remove it.


  reply	other threads:[~2019-12-06 16:45 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-05 13:42 [gentoo-dev] unsanctioned python 2.7 crusade Jason A. Donenfeld
2019-12-05 13:55 ` Rich Freeman
2019-12-05 13:59   ` Jason A. Donenfeld
2019-12-05 14:24     ` Rich Freeman
2019-12-05 14:34       ` William Breathitt Gray
2019-12-05 14:40         ` Aaron Bauman
2019-12-06  6:53           ` Kent Fredric
2020-01-12 22:07       ` Joshua Kinard
2020-01-12 22:17         ` David Seifert
2020-01-12 22:29           ` Joshua Kinard
2020-01-12 22:32         ` Andreas Sturmlechner
2020-01-12 22:43           ` Joshua Kinard
2020-01-12 22:46             ` David Seifert
2020-01-12 22:55               ` Joshua Kinard
2020-01-12 23:17                 ` David Seifert
2020-01-13  0:21                   ` William Hubbs
2020-01-13  0:44                     ` Joshua Kinard
2020-01-13  7:22                       ` Andreas Sturmlechner
2020-01-13  6:52         ` Michał Górny
2020-01-14  6:45           ` Joshua Kinard
2019-12-05 20:31     ` David Seifert
2019-12-05 20:56       ` Thomas Deutschmann
2019-12-05 22:23         ` David Seifert
2019-12-05 22:41           ` Rich Freeman
2019-12-06  8:11           ` Mart Raudsepp
2019-12-06 10:48             ` David Seifert
2019-12-06 13:06             ` Thomas Deutschmann
2019-12-06 13:52               ` Rich Freeman
2019-12-06 15:48                 ` Mike Gilbert
2019-12-06 16:12                   ` Thomas Deutschmann
2019-12-06 16:44                     ` Mike Gilbert [this message]
2019-12-06 19:47                       ` Thomas Deutschmann
2019-12-06 20:10                         ` Andreas Sturmlechner
2019-12-06 20:28                           ` Thomas Deutschmann
2019-12-08 10:28                             ` Alexis Ballier
2019-12-06 20:30                           ` Michael 'veremitz' Everitt
2019-12-07  8:04                           ` Kent Fredric
2019-12-06 16:35               ` Mart Raudsepp
2019-12-06 16:43                 ` Thomas Deutschmann
2019-12-05 14:36 ` Aaron Bauman
2019-12-05 16:03 ` Andreas K. Huettel

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=CAJ0EP43BspHFCh-izarz_+pNeLM1qPTA90irdbEDHQwtkW-Ofg@mail.gmail.com \
    --to=floppym@gentoo.org \
    --cc=gentoo-dev@lists.gentoo.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