1 |
On Mon, 01 Jun 2020 23:04:38 +0200 |
2 |
Michał Górny <mgorny@g.o> wrote: |
3 |
|
4 |
> On Mon, 2020-06-01 at 13:34 -0700, Patrick McLean wrote: |
5 |
> > On Mon, 01 Jun 2020 22:27:19 +0200 |
6 |
> > Michał Górny <mgorny@g.o> wrote: |
7 |
> > |
8 |
> > > Hi, everyone. |
9 |
> > > |
10 |
> > > I'd like to be more proactive in avoiding the mess like Python 3.6->3.7 |
11 |
> > > switch were. For this reason, I think it would be better to set |
12 |
> > > and publish some early deadlines. Even if we aren't going to strictly |
13 |
> > > keep to them, it would help people realize how much time there is left |
14 |
> > > to finish the preparations. |
15 |
> > > |
16 |
> > > |
17 |
> > > Python 3.6→3.7 migration |
18 |
> > > ======================== |
19 |
> > > We've already switched the profiles but there are still some unmigrated |
20 |
> > > packages. We will continue either migrating them or last riting if |
21 |
> > > migration seems unlikely to happen. Nevertheless, it is wortwhile to |
22 |
> > > set some final deadlines. My proposal is: |
23 |
> > > |
24 |
> > > |
25 |
> > > 2020-08-01 Python 3.7 migration deadline |
26 |
> > > |
27 |
> > > After this date, we lastrite all remaining packages that haven't been |
28 |
> > > ported. This gives people roughly two months, with a ping one month |
29 |
> > > from now. |
30 |
> > > |
31 |
> > > 2020-09-15 Python 3.6 target removal |
32 |
> > > |
33 |
> > > As usual, the interpreter will be kept a bit longer, then moved to |
34 |
> > > ::python. This accounts for some extra time if people decide to |
35 |
> > > recover last rited packages last minute. |
36 |
> > |
37 |
> > Given that 2020-08-15 is still well over a year before the upstream EOL, |
38 |
> > this might be a little premature. How about we the deprecation dates back |
39 |
> > by 4 months? We can still have a similar schedule, just a little later. That |
40 |
> > way we are deprecating 3.6 less than a year before the EOL upstream. |
41 |
> > |
42 |
> > We can keep the 2.7 removal as-is. |
43 |
> |
44 |
> I don't mind shifting the removal. |
45 |
> |
46 |
> > |
47 |
> > > Python 3.7→3.8 migration |
48 |
> > > ======================== |
49 |
> > > The interpreter is stable but there's still lot of migration work to be |
50 |
> > > done. Good news is that because of the delay with 3.7, many packages |
51 |
> > > are getting 3.7+3.8 or even 3.7+3.8+3.9 simultaneously, so there will be |
52 |
> > > less work in the future. |
53 |
> > > |
54 |
> > > |
55 |
> > > 2020-07-01 Python 3.8 target stable-unmasking goal |
56 |
> > > |
57 |
> > > This is not really a deadline but I'd like to aim for resolving |
58 |
> > > depgraph issues and stabilizing everything needed to unmask python3_7 |
59 |
> > > target on stable. Initial set of stablereqs was filed already, |
60 |
> > > and we'll be unmasking the target as soon as the depgraph is clean. |
61 |
> > > |
62 |
> > > 2020-09-01 Python 3.8 migration warning |
63 |
> > > |
64 |
> > > At this point we tell people it's about time to start actively |
65 |
> > > updating their packages. |
66 |
> > |
67 |
> > Under my suggested timeline, I would say we do this 2020-12-01. |
68 |
> |
69 |
> ...but I do mind this. Python 3.8 is something we should very soon, |
70 |
> and waiting another 6 months to tell people to start testing will just |
71 |
> make it into another mess like Python 3.7 were. |
72 |
|
73 |
That's fine with me, I don't mind having a warning about packages not |
74 |
migrated to 3.8 earlier. I just would to keep 3.6 around for until next |
75 |
year to give us a little more time to migrate. |
76 |
|
77 |
> > > 2020-12-01 Python 3.8 migration deadline |
78 |
> > > |
79 |
> > > We lastrite all the unmigrated packages. |
80 |
> > |
81 |
> > This could be pushed back to 2020-05-01 to not be too close to the 3.6 |
82 |
> > removal. I personally do not have any strong feelings either way about |
83 |
> > 3.7, so I would be fine removing 3.6 and 3.7 at the same time if that |
84 |
> > is easier. |
85 |
> |
86 |
> I would actually prefer pushing for 3.8 earlier and removing them |
87 |
> at the same time. If anything, this would let people who haven't moved |
88 |
> off 3.6 yet go straight to 3.8 without having them do another update |
89 |
> in a few months. |
90 |
|
91 |
That's fine with me. We are actually taking this approach, skipping 3.7 |
92 |
entirely any moving directly to 3.8. |
93 |
|
94 |
> > > 2021-01-15 Python 3.7 target removal |
95 |
> > > |
96 |
> > > As above. |
97 |
> > > |
98 |
> > > |
99 |
> > > Python 2.7 removal |
100 |
> > > ================== |
101 |
> > > I would like to continue removing py2.7 from packages where possible, |
102 |
> > > and slowly lastriting where clearly impossible. However, |
103 |
> > > for the remaining packages I'd like to set a hard deadline. |
104 |
> > > |
105 |
> > > |
106 |
> > > 2021-01-01 Final Python 2.7 deadline |
107 |
> > > |
108 |
> > > That's one year after upstream's EOL. At this point, we last rite |
109 |
> > > all the remaining py2.7 packages. |
110 |
> > > |
111 |
> > > 2021-02-15 Python 2.7 target removal |
112 |
> > > |
113 |
> > > All packages relying on the target are removed. The interpreter |
114 |
> > > stays for as long as we need it. |
115 |
> > > |
116 |
> > > |
117 |
> > > General goal |
118 |
> > > ============ |
119 |
> > > As a general goal, I'd like to set timelines like this once we decide |
120 |
> > > that the next interpreter goes stable. The exact lengths are highly |
121 |
> > > dependent on properties of the next target. For example, I suspect |
122 |
> > > Python 3.9 will be easier for us; so far my testing has shown issues |
123 |
> > > that are rather easy to solve. |
124 |
> > > |
125 |
> > |
126 |
> > Here is an attempt at updating version of ASCII art, from what |
127 |
> > I can tell, the 'w' at the 3.7->3.8 warning probably belonged |
128 |
> > in the 3.7 column, I moved it. |
129 |
> |
130 |
> Thanks. |
131 |
> |
132 |
> > As I said above, I am personally |
133 |
> > fine if we make 3.6 and 3.7 removals close together (even at |
134 |
> > the same time). |
135 |
> > |
136 |
> > Combined timeline |
137 |
> > ================= |
138 |
> > From the above dates: |
139 |
> > |
140 |
> > 2.7 3.6 3.7 3.8 |
141 |
> > 2020-07-01 | | | u py3.8 target unmasked |
142 |
> > | | | | |
143 |
> > | | | | |
144 |
> > | | | | |
145 |
> > | | | | |
146 |
> > | | | | |
147 |
> > | | | | |
148 |
> > 2020-12-01 | | w | py3.7→3.8 migr. warning |
149 |
> > | | | | |
150 |
> > | | | | |
151 |
> > 2021-01-01 m | | | py2.7 pkg last rites |
152 |
> > | | | | |
153 |
> > | | | | |
154 |
> > 2021-02-01 | m | | py3.6 pkg last rites |
155 |
> > | | | | |
156 |
> > 2021-02-15 x | | | py2.7 pkg removal |
157 |
> > 2021-03-15 x | | py3.6 pkg removal |
158 |
> > | | |
159 |
> > | | |
160 |
> > | | |
161 |
> > 2021-05-01 m | py3.7 pkg last rites |
162 |
> > | | |
163 |
> > | | |
164 |
> > 2021-06-15 x | py3.7 pkg removal |
165 |
> > | |
166 |
> > v |
167 |
> > |
168 |
> > |
169 |
> |
170 |
> -- |
171 |
> Best regards, |
172 |
> Michał Górny |
173 |
> |