Gentoo Archives: gentoo-dev

From: Sergei Trofimovich <slyfox@g.o>
To: Aaron Bauman <bman@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7
Date: Fri, 26 Jun 2020 21:02:46
Message-Id: 20200626220234.4091cce5@sf
In Reply to: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7 by Aaron Bauman
1 On Fri, 26 Jun 2020 13:41:13 -0400
2 Aaron Bauman <bman@g.o> wrote:
3
4 > On June 26, 2020 12:47:24 PM EDT, Sergei Trofimovich <slyfox@g.o> wrote:
5 > >On Fri, 26 Jun 2020 11:38:58 +0200
6 > >Michał Górny <mgorny@g.o> wrote:
7 > >
8 > >> On Fri, 2020-06-26 at 09:51 +0100, Sergei Trofimovich wrote:
9 > >> > On Fri, 26 Jun 2020 07:29:45 +0000
10 > >> > Michał Górny <mgorny@g.o> wrote:
11 > >> >
12 > >> > > Dnia June 26, 2020 6:42:57 AM UTC, Sergei Trofimovich
13 > ><slyfox@g.o> napisał(a):
14 > >> > > > On Sat, 20 Jun 2020 16:29:53 +0100
15 > >> > > > Sergei Trofimovich <slyfox@g.o> wrote:
16 > >> > > >
17 > >> > > > > On Sat, 20 Jun 2020 16:05:38 +0200
18 > >> > > > > Michał Górny <mgorny@g.o> wrote:
19 > >> > > > >
20 > >> > > > > > On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich
21 > >wrote:
22 > >> > > > > > > Give maintainers the chance to act and flag packages that
23 > >pull in
24 > >> > > > python:2.7.
25 > >> > > > > > > Signed-off-by: Sergei Trofimovich <slyfox@g.o>
26 > >> > > > > > > ---
27 > >> > > > > > > profiles/package.deprecated | 4 ++++
28 > >> > > > > > > 1 file changed, 4 insertions(+)
29 > >> > > > > > >
30 > >> > > > > > > diff --git a/profiles/package.deprecated
31 > >> > > > b/profiles/package.deprecated
32 > >> > > > > > > index a756e845f47..bb661571962 100644
33 > >> > > > > > > --- a/profiles/package.deprecated
34 > >> > > > > > > +++ b/profiles/package.deprecated
35 > >> > > > > > > @@ -17,6 +17,10 @@
36 > >> > > > > > >
37 > >> > > > > > > #--- END OF EXAMPLES ---
38 > >> > > > > > >
39 > >> > > > > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-20)
40 > >> > > > > > > +# Deprecated. Consider poring to python 3 and drop
41 > >support for
42 > >> > > > python2.
43 > >> > > > > > > +dev-lang/python:2.7
44 > >> > > > > > > +
45 > >> > > > > > > # Sergei Trofimovich <slyfox@g.o> (2020-02-22)
46 > >> > > > > > > # virtual/libstdc++ has only one sys-libs/libstdc++-v3
47 > >provider.
48 > >> > > > > > > # Use that instead. Or even better use none of them.
49 > >It's a
50 > >> > > > > >
51 > >> > > > >
52 > >> > > > > > It will trigger the same for packages that support *only*
53 > >> > > > > > Python 2.7, as well as these that support 2.7 in addition
54 > >to 3
55 > >> > > > because
56 > >> > > > > > they have 2.7 deps.
57 > >> > > > >
58 > >> > > > > If we expect actions by developers on both cases I don't see
59 > >a
60 > >> > > > problem with that.
61 > >> > > >
62 > >> > > > Pushed as:
63 > >> > > >
64 > >https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d65d6641cfc0ef7b44df491c390e8c880e3049
65 > >> > > > with full text being:
66 > >> > > >
67 > >> > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-26)
68 > >> > > > +# Deprecated.
69 > >> > > > +# - optional python:2.7 dependency should be dropped if no
70 > >reverse
71 > >> > > > +# dependencies are using it.
72 > >> > > > +# - mandatory python:2.7 depepndency will require package
73 > >porting
74 > >> > > > +# or package removal if no reverse dependencies are using
75 > >it.
76 > >> > > > +dev-lang/python:2.7
77 > >> > >
78 > >> > > You've just introduced 829 CI warnings
79 > >> >
80 > >> > That's the intention.
81 > >> >
82 > >> > > effectively disabling the ability to distinguish *new* problems
83 > >in these packages.
84 > >> >
85 > >> > Correct. Citing above:
86 > >> >
87 > >> > "If we expect actions by developers on both cases I don't see a
88 > >problem with that."
89 > >> >
90 > >> > I assume we still do.
91 > >>
92 > >> Not exactly. You've pinpointed the wrong target.
93 > >>
94 > >> First of all, we want people to support Python 3. Removing support
95 > >for
96 > >> Python 2 is a secondary goal.
97 > >
98 > >What is the desired end state here? All packages that depend on
99 > >python should support python3?
100 > >
101 > >> Flagging packages that support Python 2 in addition to Python 3
102 > >> and cause no trouble in py2 cleanup is doubtful.
103 > >
104 > >What is "py2 cleanup"? I still struggle to understand what packages
105 > >require change and which do not. Is there one pager doc that explains
106 > >a few things for me:
107 > >- How packages are picked for masking? Maybe we can deprecate them
108 > >instead? Or we (I) can write a bit of code that flags packages
109 > >requiring
110 > > maintainers' attention.
111 > >- What is the expected end state for the "py2 cleanup"?
112 > >
113 > >The doc would also be a good link to add to recently added "# Py2 only"
114 > >masks as well.
115 > >
116 > >> Flagging packages that support 2+3 because of their revdeps is not
117 > >> helpful at all. It's just noise to the maintainer who can't remove
118 > >py2
119 > >> because of revdeps.
120 > >
121 > >I agree it can be spammy if we expect to have many packages with
122 > >python2 support for an extended period of time (3+ months). If it's
123 > >seen by others as too noisy I can revert the commit now.
124 > >
125 > >> Flagging dev-python/pypy* which needs py2 but is entirely outside
126 > >> the eclass system is not helpful at all.
127 > >
128 > >To pick a concrete example: from what I read above I don't see why
129 > >app-misc/golly was masked for removal.
130 >
131 > It was masked because it only supports Py2. The maintainer (you) decided to drop Python script support. Problem solved. Easy day. All done.
132
133 A few points:
134
135 1. "only supports Py2" does not seem to warrant to mask leaf packages
136 and contradicts to Michał's explanation of cleanup effort:
137 See https://archives.gentoo.org/gentoo-dev/message/04d419ebef01e80a43fc3b301e11afb6
138 Please reconcile the goals within the python@ team. Ask team lead
139 if not sure and provide clear guidance for others. "only supports Py2"
140 is not good enough explanation.
141
142 Leaf packages should be able to stay up to 2021-01-01, no? I'd suggest
143 adding them to packages.deprecated instead.
144
145 2. I decided to drop python support in a hurry to unbreak world upgrade
146 for users and myself. If I had some time I would prefer to do that in
147 higher confidence and have a chance to look at python3 support in the
148 package.
149 But now I chucked python2 scripting entirely probably breaking a few
150 users. I don't see it as a good thing.
151
152 After Michał's explanation I am considering to restore python2 support
153 while I investigate python3 support feasibility.
154
155 Thus no. Not "All done". We will probably have exactly the same conversation
156 next month if nothing changes in the process.
157
158 > There is no discrimination of which packages get masked and when.
159
160 I fail to interpret this phrase. Does it mean you are about to mask all
161 python2-only packages ~now-ish?
162
163 > Additionally, masking seems to drive the attention vice all the other discussions, bugs, etc.
164
165 I am not a native English speaker. I don't know what exactly this phrase
166 means.
167
168 It's not hard to get an attention by filing a bug against maintainer.
169 I personally read my bugs and try to act on them. I believe devs are still
170 required to have Bugzilla account.
171
172 I find posted links and related issues useful to assess what I should do
173 next and how much time I have. The blocker bug with a detailed
174 explanation of the effort, deadlines, next batch of packages and
175 whatever other stuff would be perfect there.
176
177 > As we can see, folks will complain no matter what method is used. I could spend my days opening bugs and hoping for a response, yelling loudly on the ML for others to "pitch in" etc.
178
179 I totally understand where the frustration comes from. If you
180 decided to do everything an your own it's challenging.
181
182 Moreover, I'm actively willing to fix whatever problems packages
183 I maintain have. I just need to know about them. Preferably slightly
184 before the change impacts users.
185
186 gentoo-dev@ emails don't work for me most of the time. At leat
187 I don't remember any emails in form close to
188 "Port you python:2.7 packages Right Now: here is the list".
189
190 My complain is simple: I want an email directed to my email alias.
191 I periodically scrub bugs assigned to me and my aliases. I see that
192 explicit action is required from me and so on.
193
194 Is opening 100 bugs a slow procedure for you? Is it a technical
195 limitation or something else and you think it's useless? How about
196 asking others how they would like it to be handled when they complain?
197 What is their preference? I would be surprised to hear that
198 their first choice is when users complain about masked packages.
199
200 Mechanically you can auto-generate links with a one-liner script
201 and literally file bugs with one click. I can help with that.
202
203 I'm sure you spent more time reading only my emails in these threads
204 than filing bugs would take.
205
206 > In the end, the mask seems to work quickest when only a couple of people can sift through the packages in the tree.
207
208 I hope you don't optimize just for speed. Looks more like avoidance
209 contacting maintainers in any direct form.
210
211 Can you at least CC maintainers when masking is done?
212
213 > Without wasting time opening bugs
214
215 If I would get such a bug I would appreciate it.
216 Full list is also a clear indicator of how many things are yet to be done.
217
218 > begging on the ML for support
219
220 Support for what you are doing? I'm sure if devs agree
221 on the ultimate goals you want to achieve you will get all the support.
222
223 Just make sure to link to the plan every time you do the change.
224
225 > explaining that there are tools to help devs see these things etc.
226
227 Probably just linking people to the dashboard and scripts would be faster.
228 Per-maintainer breakdown of package list would help a lot.
229
230 --
231
232 Sergei

Replies