On Thu, 2019-12-05 at 21:56 +0100, Thomas Deutschmann wrote: > On 2019-12-05 21:31, David Seifert wrote: > > > On another topic, I'd prefer for python 2.7 not to be removed > > > from > > > gentoo. Tons of code still uses it. > > > > > Sorry, but I'll have to disagree with you on this. > > > > We're removing Java too from Gentoo (more implicitly than > > explicitly), > > because the Maven/Gradle ecosystem doesn't seem to scale. There's > > tons > > of code that uses java and java binaries too, and yet we're > > removing > > it. Python 2 is EOL in a few weeks. We have also removed Qt4 and > > lost a > > number of useful applications with it. At some point, we're not > > going > > to maintain a dead interpreter anymore. > > For the records: Nobody in this discussion or IRC chat said > > > Keep Python 2 forever.
Again, disagree. You'll hear lots of voices that are along the lines of "So much enterprise code won't get ported to py3, and RedHat will be maintaining RHEL 7 and 8 for the next 10 years, so we'll always have security patches to rely on. Let's just keep Python 2 for the foreseeable future." many Gentoo devs have voiced that opinion, so asserting that noone says "Keep Python 2 forever" is false, and not by a negligible margin. > > It's about timing. From my POV and I read > > > Tons of code still uses it. > ^^^^^ > the same, there is no need to mask any Python 2 stuff _today_. When we started removing Qt4, tons of code still used it. To put things in perspective: grep -rl 'IUSE.*python_targets_python2_7' /usr/portage/metadata/md5- cache/ | wc -l gives me 7070 ebuilds currently. 7070 is easily more than one and closer to two orders of magnitude more ebuilds using python 2 than Qt4 back in the days. Removing python2 will turn into a multi-year, monumental effort of epic proportions, and I'm willing to bet €1000 that we'll still be stuck with it in 3 years. It will be one of the largest undertakings of Gentoo, probably more involved than getting rid of EAPI=5 ebuilds. Removing maintainer-needed and other semi-dead packages is part of a proactive strategy in continuously removing and treecleaning stale stuff from the tree. Tons of java stuff also still works, yet we're removing it because the ebuilds are ancient and unmaintained. > > Especially when new Python project lead sent a mail [1] to this list > few > weeks ago stating that there will be a _new_ last Python 2 release in > April 2020 (120 days away!). > > Now please explain to me and any Gentoo user depending on Py2-only > software why you are taking actions 120(!) days in advance. > > Again, nobody wants to keep Python 2 forever but starting to kill > *working* software 120 days in *advance* deserves at least an honest > justification. So what do you propose? Starting to remove/fix 7070 ebuilds after April 2020 then? Why start in April 2020? Let's just wait till May 2029, when RHEL 8 goes into end of maintenance support. That's a good time point then? It doesn't matter what time point you think is suitable, *any* time point will be arbitrary to someone. Every change breaks somebody's workflow. > > PS: And given that a release in April won't break the next day, we > are > actually talking about more than 120 days in advance. Security > argument > is not valid because if there will be any serious vulnerability in > Py2 > found after this release (which will be surprising after so many > years) > you can expect backports because other distributions still have to > support Py2 two more years at minimum. And that's exactly the straw-man argument I've been making. You can always come up with an excuse to delay action on python 2, because "someone, somewhere, will maintain it". Heck, if RHEL 8 abandons python 2 in 2029, let's just swap in Tauthon then, then we can use python 2 packages till 2100! > > > [1] > https://archives.gentoo.org/gentoo-dev/message/d00a956180ab7df980ac5642e3abc179 > >