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 |