Gentoo Archives: gentoo-dev

From: David Seifert <soap@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] unsanctioned python 2.7 crusade
Date: Thu, 05 Dec 2019 22:23:38
Message-Id: 20f5820a902edd121bd49195c4adc2f5cea84fa8.camel@gentoo.org
In Reply to: Re: [gentoo-dev] unsanctioned python 2.7 crusade by Thomas Deutschmann
1 On Thu, 2019-12-05 at 21:56 +0100, Thomas Deutschmann wrote:
2 > On 2019-12-05 21:31, David Seifert wrote:
3 > > > On another topic, I'd prefer for python 2.7 not to be removed
4 > > > from
5 > > > gentoo. Tons of code still uses it.
6 > > >
7 > > Sorry, but I'll have to disagree with you on this.
8 > >
9 > > We're removing Java too from Gentoo (more implicitly than
10 > > explicitly),
11 > > because the Maven/Gradle ecosystem doesn't seem to scale. There's
12 > > tons
13 > > of code that uses java and java binaries too, and yet we're
14 > > removing
15 > > it. Python 2 is EOL in a few weeks. We have also removed Qt4 and
16 > > lost a
17 > > number of useful applications with it. At some point, we're not
18 > > going
19 > > to maintain a dead interpreter anymore.
20 >
21 > For the records: Nobody in this discussion or IRC chat said
22 >
23 > > Keep Python 2 forever.
24
25 Again, disagree. You'll hear lots of voices that are along the lines of
26
27 "So much enterprise code won't get ported to py3, and RedHat will be
28 maintaining RHEL 7 and 8 for the next 10 years, so we'll always have
29 security patches to rely on. Let's just keep Python 2 for the
30 foreseeable future."
31
32 many Gentoo devs have voiced that opinion, so asserting that noone says
33 "Keep Python 2 forever" is false, and not by a negligible margin.
34
35 >
36 > It's about timing. From my POV and I read
37 >
38 > > Tons of code still uses it.
39 > ^^^^^
40 > the same, there is no need to mask any Python 2 stuff _today_.
41
42 When we started removing Qt4, tons of code still used it. To put things
43 in perspective:
44
45 grep -rl 'IUSE.*python_targets_python2_7' /usr/portage/metadata/md5-
46 cache/ | wc -l
47
48 gives me 7070 ebuilds currently. 7070 is easily more than one and
49 closer to two orders of magnitude more ebuilds using python 2 than Qt4
50 back in the days. Removing python2 will turn into a multi-year,
51 monumental effort of epic proportions, and I'm willing to bet
52 €1000 that we'll still be stuck with it in 3 years. It will be one of
53 the largest undertakings of Gentoo, probably more involved than getting
54 rid of EAPI=5 ebuilds. Removing maintainer-needed and other semi-dead
55 packages is part of a proactive strategy in continuously removing and
56 treecleaning stale stuff from the tree. Tons of java stuff also still
57 works, yet we're removing it because the ebuilds are ancient and
58 unmaintained.
59
60 >
61 > Especially when new Python project lead sent a mail [1] to this list
62 > few
63 > weeks ago stating that there will be a _new_ last Python 2 release in
64 > April 2020 (120 days away!).
65 >
66 > Now please explain to me and any Gentoo user depending on Py2-only
67 > software why you are taking actions 120(!) days in advance.
68 >
69 > Again, nobody wants to keep Python 2 forever but starting to kill
70 > *working* software 120 days in *advance* deserves at least an honest
71 > justification.
72
73 So what do you propose? Starting to remove/fix 7070 ebuilds after April
74 2020 then? Why start in April 2020? Let's just wait till May 2029, when
75 RHEL 8 goes into end of maintenance support. That's a good time point
76 then? It doesn't matter what time point you think is suitable, *any*
77 time point will be arbitrary to someone. Every change breaks somebody's
78 workflow.
79
80 >
81 > PS: And given that a release in April won't break the next day, we
82 > are
83 > actually talking about more than 120 days in advance. Security
84 > argument
85 > is not valid because if there will be any serious vulnerability in
86 > Py2
87 > found after this release (which will be surprising after so many
88 > years)
89 > you can expect backports because other distributions still have to
90 > support Py2 two more years at minimum.
91
92 And that's exactly the straw-man argument I've been making. You can
93 always come up with an excuse to delay action on python 2, because
94 "someone, somewhere, will maintain it". Heck, if RHEL 8 abandons python
95 2 in 2029, let's just swap in Tauthon then, then we can use python 2
96 packages till 2100!
97
98 >
99 >
100 > [1]
101 > https://archives.gentoo.org/gentoo-dev/message/d00a956180ab7df980ac5642e3abc179
102 >
103 >

Replies

Subject Author
Re: [gentoo-dev] unsanctioned python 2.7 crusade Rich Freeman <rich0@g.o>
Re: [gentoo-dev] unsanctioned python 2.7 crusade Mart Raudsepp <leio@g.o>