1 |
On Fri, 26 Jun 2020 19:17:50 +0200 |
2 |
Michał Górny <mgorny@g.o> wrote: |
3 |
|
4 |
> On Fri, 2020-06-26 at 17:47 +0100, Sergei Trofimovich 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 <slyfox@g.o> napisał(a): |
13 |
> > > > > > On Sat, 20 Jun 2020 16:29:53 +0100 |
14 |
> > > > > > Sergei Trofimovich <slyfox@g.o> wrote: |
15 |
> > > > > > |
16 |
> > > > > > > On Sat, 20 Jun 2020 16:05:38 +0200 |
17 |
> > > > > > > Michał Górny <mgorny@g.o> wrote: |
18 |
> > > > > > > |
19 |
> > > > > > > > On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich wrote: |
20 |
> > > > > > > > > Give maintainers the chance to act and flag packages that 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 support for |
38 |
> > > > > > python2. |
39 |
> > > > > > > > > +dev-lang/python:2.7 |
40 |
> > > > > > > > > + |
41 |
> > > > > > > > > # Sergei Trofimovich <slyfox@g.o> (2020-02-22) |
42 |
> > > > > > > > > # virtual/libstdc++ has only one sys-libs/libstdc++-v3 provider. |
43 |
> > > > > > > > > # Use that instead. Or even better use none of them. It's a |
44 |
> > > > > > > > |
45 |
> > > > > > > |
46 |
> > > > > > > > It will trigger the same for packages that support *only* |
47 |
> > > > > > > > Python 2.7, as well as these that support 2.7 in addition to 3 |
48 |
> > > > > > because |
49 |
> > > > > > > > they have 2.7 deps. |
50 |
> > > > > > > |
51 |
> > > > > > > If we expect actions by developers on both cases I don't see a |
52 |
> > > > > > problem with that. |
53 |
> > > > > > |
54 |
> > > > > > Pushed as: |
55 |
> > > > > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=79d65d6641cfc0ef7b44df491c390e8c880e3049 |
56 |
> > > > > > with full text being: |
57 |
> > > > > > |
58 |
> > > > > > +# Sergei Trofimovich <slyfox@g.o> (2020-06-26) |
59 |
> > > > > > +# Deprecated. |
60 |
> > > > > > +# - optional python:2.7 dependency should be dropped if no reverse |
61 |
> > > > > > +# dependencies are using it. |
62 |
> > > > > > +# - mandatory python:2.7 depepndency will require package porting |
63 |
> > > > > > +# or package removal if no reverse dependencies are using it. |
64 |
> > > > > > +dev-lang/python:2.7 |
65 |
> > > > > |
66 |
> > > > > You've just introduced 829 CI warnings |
67 |
> > > > |
68 |
> > > > That's the intention. |
69 |
> > > > |
70 |
> > > > > effectively disabling the ability to distinguish *new* problems in these packages. |
71 |
> > > > |
72 |
> > > > Correct. Citing above: |
73 |
> > > > |
74 |
> > > > "If we expect actions by developers on both cases I don't see a problem with that." |
75 |
> > > > |
76 |
> > > > I assume we still do. |
77 |
> > > |
78 |
> > > Not exactly. You've pinpointed the wrong target. |
79 |
> > > |
80 |
> > > First of all, we want people to support Python 3. Removing support for |
81 |
> > > Python 2 is a secondary goal. |
82 |
> > |
83 |
> > What is the desired end state here? All packages that depend on |
84 |
> > python should support python3? |
85 |
> |
86 |
> Yes, or be masked for removal. The desired result is that at some point |
87 |
> in time we can disable py2 target in eclass without anything breaking. |
88 |
|
89 |
That helps. Thanks. |
90 |
|
91 |
> > > Flagging packages that support Python 2 in addition to Python 3 |
92 |
> > > and cause no trouble in py2 cleanup is doubtful. |
93 |
> > |
94 |
> > What is "py2 cleanup"? I still struggle to understand what packages |
95 |
> > require change and which do not. Is there one pager doc that explains |
96 |
> > a few things for me: |
97 |
> |
98 |
> Some of this is mentioned in Python Guide [1]. |
99 |
> |
100 |
> [1] https://dev.gentoo.org/~mgorny/python-guide/package-maintenance.html#support-for-python-2 |
101 |
> |
102 |
> > - How packages are picked for masking? Maybe we can deprecate them |
103 |
> > instead? Or we (I) can write a bit of code that flags packages requiring |
104 |
> > maintainers' attention. |
105 |
> |
106 |
> This is really decided by humans, and I don't think it can be trivially |
107 |
> automated. So far we've focused on masking packages that are either |
108 |
> a. unlikely to be ported (e.g. dead upstream), b. have no Gentoo |
109 |
> maintainers. |
110 |
|
111 |
I see. That will probably mean package masking confusion will be |
112 |
brought up again and again. |
113 |
|
114 |
Well, so be it. It least I'll hopefully be aware of it next time :) |
115 |
|
116 |
> > - What is the expected end state for the "py2 cleanup"? |
117 |
> |
118 |
> Not sure if I understand right but I think the answer is: we can disable |
119 |
> py2 support via eclass and nothing breaks. |
120 |
|
121 |
The question does not make much sense if the set of affected packages |
122 |
is not clearly defined. Longer term full python3 support is a good enough |
123 |
answer. |
124 |
|
125 |
> > The doc would also be a good link to add to recently added "# Py2 only" |
126 |
> > masks as well. |
127 |
> > |
128 |
> > > Flagging packages that support 2+3 because of their revdeps is not |
129 |
> > > helpful at all. It's just noise to the maintainer who can't remove py2 |
130 |
> > > because of revdeps. |
131 |
> > |
132 |
> > I agree it can be spammy if we expect to have many packages with |
133 |
> > python2 support for an extended period of time (3+ months). If it's |
134 |
> > seen by others as too noisy I can revert the commit now. |
135 |
> |
136 |
> The 'early' py2 removal date is set for 2021-01-01 AFAIR (I'm yet to |
137 |
> publish the timeline I've RFC-ed earlier). Not sure if it's possible. |
138 |
> One thing I'm sure of is that py2 support is becoming harder |
139 |
> and harder. |
140 |
|
141 |
I reverted the deprecation change as: |
142 |
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf062e6a3aa0c5850909a277f8fbe2ed7f5ebc70 |
143 |
|
144 |
-- |
145 |
|
146 |
Sergei |