Gentoo Archives: gentoo-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-dev@l.g.o, Aaron Bauman <bman@g.o>
Subject: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7
Date: Fri, 26 Jun 2020 21:25:05
Message-Id: afac0a1967a9605219ee8f3ae10606d3e19597da.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 22:02 +0100, Sergei Trofimovich wrote:
2 > On Fri, 26 Jun 2020 13:41:13 -0400
3 > Aaron Bauman <bman@g.o> wrote:
4 >
5 > > On June 26, 2020 12:47:24 PM EDT, Sergei Trofimovich <slyfox@g.o> wrote:
6 > > > On Fri, 26 Jun 2020 11:38:58 +0200
7 > > > Michał Górny <mgorny@g.o> wrote:
8 > > >
9 > > > > On Fri, 2020-06-26 at 09:51 +0100, Sergei Trofimovich wrote:
10 > > > > > On Fri, 26 Jun 2020 07:29:45 +0000
11 > > > > > Michał Górny <mgorny@g.o> wrote:
12 > > > > >
13 > > > > > > Dnia June 26, 2020 6:42:57 AM UTC, Sergei Trofimovich
14 > > > <slyfox@g.o> napisał(a):
15 > > > > > > > On Sat, 20 Jun 2020 16:29:53 +0100
16 > > > > > > > Sergei Trofimovich <slyfox@g.o> wrote:
17 > > > > > > >
18 > > > > > > > > On Sat, 20 Jun 2020 16:05:38 +0200
19 > > > > > > > > Michał Górny <mgorny@g.o> wrote:
20 > > > > > > > >
21 > > > > > > > > > On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich
22 > > > wrote:
23 > > > > > > > > > > Give maintainers the chance to act and flag packages that
24 > > > pull in
25 > > > > > > > python:2.7.
26 > > > > > > > > > > Signed-off-by: Sergei Trofimovich <slyfox@g.o>
27 > > > > > > > > > > ---
28 > > > > > > > > > > profiles/package.deprecated | 4 ++++
29 > > > > > > > > > > 1 file changed, 4 insertions(+)
30 > > > > > > > > > >
31 > > > > > > > > > > diff --git a/profiles/package.deprecated
32 > > > > > > > b/profiles/package.deprecated
33 > > > > > > > > > > index a756e845f47..bb661571962 100644
34 > > > > > > > > > > --- a/profiles/package.deprecated
35 > > > > > > > > > > +++ b/profiles/package.deprecated
36 > > > > > > > > > > @@ -17,6 +17,10 @@
37 > > > > > > > > > >
38 > > > > > > > > > > #--- END OF EXAMPLES ---
39 > > > > > > > > > >
40 > > > > > > > > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-20)
41 > > > > > > > > > > +# Deprecated. Consider poring to python 3 and drop
42 > > > support for
43 > > > > > > > python2.
44 > > > > > > > > > > +dev-lang/python:2.7
45 > > > > > > > > > > +
46 > > > > > > > > > > # Sergei Trofimovich <slyfox@g.o> (2020-02-22)
47 > > > > > > > > > > # virtual/libstdc++ has only one sys-libs/libstdc++-v3
48 > > > provider.
49 > > > > > > > > > > # Use that instead. Or even better use none of them.
50 > > > It's a
51 > > > > > > > > >
52 > > > > > > > >
53 > > > > > > > > > It will trigger the same for packages that support *only*
54 > > > > > > > > > Python 2.7, as well as these that support 2.7 in addition
55 > > > to 3
56 > > > > > > > because
57 > > > > > > > > > they have 2.7 deps.
58 > > > > > > > >
59 > > > > > > > > If we expect actions by developers on both cases I don't see
60 > > > a
61 > > > > > > > problem with that.
62 > > > > > > >
63 > > > > > > > Pushed as:
64 > > > > > > >
65 > > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d65d6641cfc0ef7b44df491c390e8c880e3049
66 > > > > > > > with full text being:
67 > > > > > > >
68 > > > > > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-26)
69 > > > > > > > +# Deprecated.
70 > > > > > > > +# - optional python:2.7 dependency should be dropped if no
71 > > > reverse
72 > > > > > > > +# dependencies are using it.
73 > > > > > > > +# - mandatory python:2.7 depepndency will require package
74 > > > porting
75 > > > > > > > +# or package removal if no reverse dependencies are using
76 > > > it.
77 > > > > > > > +dev-lang/python:2.7
78 > > > > > >
79 > > > > > > You've just introduced 829 CI warnings
80 > > > > >
81 > > > > > That's the intention.
82 > > > > >
83 > > > > > > effectively disabling the ability to distinguish *new* problems
84 > > > in these packages.
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 > > > > > I assume we still do.
90 > > > >
91 > > > > Not exactly. You've pinpointed the wrong target.
92 > > > >
93 > > > > First of all, we want people to support Python 3. Removing support
94 > > > for
95 > > > > Python 2 is a secondary goal.
96 > > >
97 > > > What is the desired end state here? All packages that depend on
98 > > > python should support python3?
99 > > >
100 > > > > Flagging packages that support Python 2 in addition to Python 3
101 > > > > and cause no trouble in py2 cleanup is doubtful.
102 > > >
103 > > > What is "py2 cleanup"? I still struggle to understand what packages
104 > > > require change and which do not. Is there one pager doc that explains
105 > > > a few things for me:
106 > > > - How packages are picked for masking? Maybe we can deprecate them
107 > > > instead? Or we (I) can write a bit of code that flags packages
108 > > > requiring
109 > > > maintainers' attention.
110 > > > - What is the expected end state for the "py2 cleanup"?
111 > > >
112 > > > The doc would also be a good link to add to recently added "# Py2 only"
113 > > > masks as well.
114 > > >
115 > > > > Flagging packages that support 2+3 because of their revdeps is not
116 > > > > helpful at all. It's just noise to the maintainer who can't remove
117 > > > py2
118 > > > > because of revdeps.
119 > > >
120 > > > I agree it can be spammy if we expect to have many packages with
121 > > > python2 support for an extended period of time (3+ months). If it's
122 > > > seen by others as too noisy I can revert the commit now.
123 > > >
124 > > > > Flagging dev-python/pypy* which needs py2 but is entirely outside
125 > > > > the eclass system is not helpful at all.
126 > > >
127 > > > To pick a concrete example: from what I read above I don't see why
128 > > > app-misc/golly was masked for removal.
129 > >
130 > > It was masked because it only supports Py2. The maintainer (you) decided to drop Python script support. Problem solved. Easy day. All done.
131 >
132 > A few points:
133 >
134 > 1. "only supports Py2" does not seem to warrant to mask leaf packages
135 > and contradicts to Michał's explanation of cleanup effort:
136 > See https://archives.gentoo.org/gentoo-dev/message/04d419ebef01e80a43fc3b301e11afb6
137 > Please reconcile the goals within the python@ team. Ask team lead
138 > if not sure and provide clear guidance for others. "only supports Py2"
139 > is not good enough explanation.
140 >
141 > Leaf packages should be able to stay up to 2021-01-01, no? I'd suggest
142 > adding them to packages.deprecated instead.
143
144 Important leaf packages, yes. However, we don't really want to
145 'surprise' everyone by suddenly masking everything. Splitting it into
146 smaller batches is better, as it gives people effectively more time to
147 choose which packages to save.
148
149 There's no clear criteria how to determine which packages go first.
150 Some of the packages chosen here wouldn't be my first choice. However,
151 if they were last rited already, I would focus on restoring only these
152 that actually proved some demand.
153
154 > 2. I decided to drop python support in a hurry to unbreak world upgrade
155 > for users and myself. If I had some time I would prefer to do that in
156 > higher confidence and have a chance to look at python3 support in the
157 > package.
158 > But now I chucked python2 scripting entirely probably breaking a few
159 > users. I don't see it as a good thing.
160 >
161 > After Michał's explanation I am considering to restore python2 support
162 > while I investigate python3 support feasibility.
163
164 I might have missed a point there. While indeed it is possible to keep
165 py2+py3 in various packages, I have myself been proactively removing py2
166 where py3 is already available. This is mostly a matter of convenience
167 with the limited tooling we have.
168
169 Long story short, in all the dependency/conflict mess, the simplest way
170 forward is to iteratively try removing py2 everywhere. This way we
171 slowly release deps.
172
173 --
174 Best regards,
175 Michał Górny

Attachments

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