Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7
Date: Fri, 26 Jun 2020 17:18:00
Message-Id: 3fb20e2d28d5ffaaa08bfabefd3a9fe4a43f121d.camel@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7 by Sergei Trofimovich
1 On Fri, 2020-06-26 at 17:47 +0100, Sergei Trofimovich wrote:
2 > On Fri, 26 Jun 2020 11:38:58 +0200
3 > Michał Górny <mgorny@g.o> wrote:
4 >
5 > > On Fri, 2020-06-26 at 09:51 +0100, Sergei Trofimovich wrote:
6 > > > On Fri, 26 Jun 2020 07:29:45 +0000
7 > > > Michał Górny <mgorny@g.o> wrote:
8 > > >
9 > > > > Dnia June 26, 2020 6:42:57 AM UTC, Sergei Trofimovich <slyfox@g.o> napisał(a):
10 > > > > > On Sat, 20 Jun 2020 16:29:53 +0100
11 > > > > > Sergei Trofimovich <slyfox@g.o> wrote:
12 > > > > >
13 > > > > > > On Sat, 20 Jun 2020 16:05:38 +0200
14 > > > > > > Michał Górny <mgorny@g.o> wrote:
15 > > > > > >
16 > > > > > > > On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich wrote:
17 > > > > > > > > Give maintainers the chance to act and flag packages that pull in
18 > > > > > python:2.7.
19 > > > > > > > > Signed-off-by: Sergei Trofimovich <slyfox@g.o>
20 > > > > > > > > ---
21 > > > > > > > > profiles/package.deprecated | 4 ++++
22 > > > > > > > > 1 file changed, 4 insertions(+)
23 > > > > > > > >
24 > > > > > > > > diff --git a/profiles/package.deprecated
25 > > > > > b/profiles/package.deprecated
26 > > > > > > > > index a756e845f47..bb661571962 100644
27 > > > > > > > > --- a/profiles/package.deprecated
28 > > > > > > > > +++ b/profiles/package.deprecated
29 > > > > > > > > @@ -17,6 +17,10 @@
30 > > > > > > > >
31 > > > > > > > > #--- END OF EXAMPLES ---
32 > > > > > > > >
33 > > > > > > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-20)
34 > > > > > > > > +# Deprecated. Consider poring to python 3 and drop support for
35 > > > > > python2.
36 > > > > > > > > +dev-lang/python:2.7
37 > > > > > > > > +
38 > > > > > > > > # Sergei Trofimovich <slyfox@g.o> (2020-02-22)
39 > > > > > > > > # virtual/libstdc++ has only one sys-libs/libstdc++-v3 provider.
40 > > > > > > > > # Use that instead. Or even better use none of them. It's a
41 > > > > > > >
42 > > > > > >
43 > > > > > > > It will trigger the same for packages that support *only*
44 > > > > > > > Python 2.7, as well as these that support 2.7 in addition to 3
45 > > > > > because
46 > > > > > > > they have 2.7 deps.
47 > > > > > >
48 > > > > > > If we expect actions by developers on both cases I don't see a
49 > > > > > problem with that.
50 > > > > >
51 > > > > > Pushed as:
52 > > > > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d65d6641cfc0ef7b44df491c390e8c880e3049
53 > > > > > with full text being:
54 > > > > >
55 > > > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-26)
56 > > > > > +# Deprecated.
57 > > > > > +# - optional python:2.7 dependency should be dropped if no reverse
58 > > > > > +# dependencies are using it.
59 > > > > > +# - mandatory python:2.7 depepndency will require package porting
60 > > > > > +# or package removal if no reverse dependencies are using it.
61 > > > > > +dev-lang/python:2.7
62 > > > >
63 > > > > You've just introduced 829 CI warnings
64 > > >
65 > > > That's the intention.
66 > > >
67 > > > > effectively disabling the ability to distinguish *new* problems in these packages.
68 > > >
69 > > > Correct. Citing above:
70 > > >
71 > > > "If we expect actions by developers on both cases I don't see a problem with that."
72 > > >
73 > > > I assume we still do.
74 > >
75 > > Not exactly. You've pinpointed the wrong target.
76 > >
77 > > First of all, we want people to support Python 3. Removing support for
78 > > Python 2 is a secondary goal.
79 >
80 > What is the desired end state here? All packages that depend on
81 > python should support python3?
82
83 Yes, or be masked for removal. The desired result is that at some point
84 in time we can disable py2 target in eclass without anything breaking.
85
86 > > Flagging packages that support Python 2 in addition to Python 3
87 > > and cause no trouble in py2 cleanup is doubtful.
88 >
89 > What is "py2 cleanup"? I still struggle to understand what packages
90 > require change and which do not. Is there one pager doc that explains
91 > a few things for me:
92
93 Some of this is mentioned in Python Guide [1].
94
95 [1] https://dev.gentoo.org/~mgorny/python-guide/package-maintenance.html#support-for-python-2
96
97 > - How packages are picked for masking? Maybe we can deprecate them
98 > instead? Or we (I) can write a bit of code that flags packages requiring
99 > maintainers' attention.
100
101 This is really decided by humans, and I don't think it can be trivially
102 automated. So far we've focused on masking packages that are either
103 a. unlikely to be ported (e.g. dead upstream), b. have no Gentoo
104 maintainers.
105
106 > - What is the expected end state for the "py2 cleanup"?
107
108 Not sure if I understand right but I think the answer is: we can disable
109 py2 support via eclass and nothing breaks.
110
111 > The doc would also be a good link to add to recently added "# Py2 only"
112 > masks as well.
113 >
114 > > Flagging packages that support 2+3 because of their revdeps is not
115 > > helpful at all. It's just noise to the maintainer who can't remove py2
116 > > because of revdeps.
117 >
118 > I agree it can be spammy if we expect to have many packages with
119 > python2 support for an extended period of time (3+ months). If it's
120 > seen by others as too noisy I can revert the commit now.
121
122 The 'early' py2 removal date is set for 2021-01-01 AFAIR (I'm yet to
123 publish the timeline I've RFC-ed earlier). Not sure if it's possible.
124 One thing I'm sure of is that py2 support is becoming harder
125 and harder.
126
127 >
128 > > Flagging dev-python/pypy* which needs py2 but is entirely outside
129 > > the eclass system is not helpful at all.
130 >
131 > To pick a concrete example: from what I read above I don't see why
132 > app-misc/golly was masked for removal.
133
134 Me neither. But I really do think this can be resolved peacefully
135 without neverending debates.
136
137 --
138 Best regards,
139 Michał Górny

Attachments

File name MIME type
signature.asc application/pgp-signature

Replies