Gentoo Archives: gentoo-dev

From: Aaron Bauman <bman@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:41:23
Message-Id: 8CCC5CD0-9A2B-42AC-9169-7DA9C60CE40E@gentoo.org
In Reply to: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7 by Sergei Trofimovich
1 On June 26, 2020 12:47:24 PM EDT, Sergei Trofimovich <slyfox@g.o> 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
10 ><slyfox@g.o> napisał(a):
11 >> > > > On Sat, 20 Jun 2020 16:29:53 +0100
12 >> > > > Sergei Trofimovich <slyfox@g.o> wrote:
13 >> > > >
14 >> > > > > On Sat, 20 Jun 2020 16:05:38 +0200
15 >> > > > > Michał Górny <mgorny@g.o> wrote:
16 >> > > > >
17 >> > > > > > On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich
18 >wrote:
19 >> > > > > > > Give maintainers the chance to act and flag packages that
20 >pull in
21 >> > > > python:2.7.
22 >> > > > > > > Signed-off-by: Sergei Trofimovich <slyfox@g.o>
23 >> > > > > > > ---
24 >> > > > > > > profiles/package.deprecated | 4 ++++
25 >> > > > > > > 1 file changed, 4 insertions(+)
26 >> > > > > > >
27 >> > > > > > > diff --git a/profiles/package.deprecated
28 >> > > > b/profiles/package.deprecated
29 >> > > > > > > index a756e845f47..bb661571962 100644
30 >> > > > > > > --- a/profiles/package.deprecated
31 >> > > > > > > +++ b/profiles/package.deprecated
32 >> > > > > > > @@ -17,6 +17,10 @@
33 >> > > > > > >
34 >> > > > > > > #--- END OF EXAMPLES ---
35 >> > > > > > >
36 >> > > > > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-20)
37 >> > > > > > > +# Deprecated. Consider poring to python 3 and drop
38 >support for
39 >> > > > python2.
40 >> > > > > > > +dev-lang/python:2.7
41 >> > > > > > > +
42 >> > > > > > > # Sergei Trofimovich <slyfox@g.o> (2020-02-22)
43 >> > > > > > > # virtual/libstdc++ has only one sys-libs/libstdc++-v3
44 >provider.
45 >> > > > > > > # Use that instead. Or even better use none of them.
46 >It's a
47 >> > > > > >
48 >> > > > >
49 >> > > > > > It will trigger the same for packages that support *only*
50 >> > > > > > Python 2.7, as well as these that support 2.7 in addition
51 >to 3
52 >> > > > because
53 >> > > > > > they have 2.7 deps.
54 >> > > > >
55 >> > > > > If we expect actions by developers on both cases I don't see
56 >a
57 >> > > > problem with that.
58 >> > > >
59 >> > > > Pushed as:
60 >> > > >
61 >https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d65d6641cfc0ef7b44df491c390e8c880e3049
62 >> > > > with full text being:
63 >> > > >
64 >> > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-26)
65 >> > > > +# Deprecated.
66 >> > > > +# - optional python:2.7 dependency should be dropped if no
67 >reverse
68 >> > > > +# dependencies are using it.
69 >> > > > +# - mandatory python:2.7 depepndency will require package
70 >porting
71 >> > > > +# or package removal if no reverse dependencies are using
72 >it.
73 >> > > > +dev-lang/python:2.7
74 >> > >
75 >> > > You've just introduced 829 CI warnings
76 >> >
77 >> > That's the intention.
78 >> >
79 >> > > effectively disabling the ability to distinguish *new* problems
80 >in these packages.
81 >> >
82 >> > Correct. Citing above:
83 >> >
84 >> > "If we expect actions by developers on both cases I don't see a
85 >problem with that."
86 >> >
87 >> > I assume we still do.
88 >>
89 >> Not exactly. You've pinpointed the wrong target.
90 >>
91 >> First of all, we want people to support Python 3. Removing support
92 >for
93 >> Python 2 is a secondary goal.
94 >
95 >What is the desired end state here? All packages that depend on
96 >python should support python3?
97 >
98 >> Flagging packages that support Python 2 in addition to Python 3
99 >> and cause no trouble in py2 cleanup is doubtful.
100 >
101 >What is "py2 cleanup"? I still struggle to understand what packages
102 >require change and which do not. Is there one pager doc that explains
103 >a few things for me:
104 >- How packages are picked for masking? Maybe we can deprecate them
105 >instead? Or we (I) can write a bit of code that flags packages
106 >requiring
107 > maintainers' attention.
108 >- What is the expected end state for the "py2 cleanup"?
109 >
110 >The doc would also be a good link to add to recently added "# Py2 only"
111 >masks as well.
112 >
113 >> Flagging packages that support 2+3 because of their revdeps is not
114 >> helpful at all. It's just noise to the maintainer who can't remove
115 >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 >> Flagging dev-python/pypy* which needs py2 but is entirely outside
123 >> the eclass system is not helpful at all.
124 >
125 >To pick a concrete example: from what I read above I don't see why
126 >app-misc/golly was masked for removal.
127
128 It was masked because it only supports Py2. The maintainer (you) decided to drop Python script support. Problem solved. Easy day. All done.
129
130 As discussed elsewhere, there are tools to show which packages only support Py2 etc.
131
132 There is no discrimination of which packages get masked and when. Additionally, masking seems to drive the attention vice all the other discussions, bugs, etc.
133
134 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.
135
136 In the end, the mask seems to work quickest when only a couple of people can sift through the packages in the tree. We have a deadline...
137
138 Look at the list of packages masked for removal and how many get "saved." I think it is fairly clear how effective it is... Without wasting time opening bugs, begging on the ML for support, explaining that there are tools to help devs see these things etc.
139
140 --
141 Sent from my Android device with K-9 Mail. Please excuse my brevity.

Replies