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.
next prev parent 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