Gentoo Archives: gentoo-dev

From: Patrick McLean <chutzpah@g.o>
To: "Michał Górny" <mgorny@g.o>
Cc: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [RFC] Deadlines for next Python implementations
Date: Mon, 01 Jun 2020 21:19:38
Message-Id: 20200601141930.4ad746fd@moya.linuxfreak.ca
In Reply to: Re: [gentoo-dev] [RFC] Deadlines for next Python implementations by "Michał Górny"
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 >