From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id 128981382C5 for ; Mon, 1 Jun 2020 20:34:40 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 4ED38E08CD; Mon, 1 Jun 2020 20:34:36 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 06440E086C for ; Mon, 1 Jun 2020 20:34:36 +0000 (UTC) Date: Mon, 1 Jun 2020 13:34:31 -0700 From: Patrick McLean To: =?UTF-8?B?TWljaGHFgiBHw7Nybnk=?= Cc: gentoo-dev@lists.gentoo.org Subject: Re: [gentoo-dev] [RFC] Deadlines for next Python implementations Message-ID: <20200601133431.17246d05@moya.linuxfreak.ca> In-Reply-To: <406eb21bfa9f868539688a6233c364b8343f75ee.camel@gentoo.org> References: <406eb21bfa9f868539688a6233c364b8343f75ee.camel@gentoo.org> X-Mailer: Claws Mail 3.17.5 (GTK+ 2.24.32; x86_64-pc-linux-gnu) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-dev@lists.gentoo.org Reply-to: gentoo-dev@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Archives-Salt: f12c8ca9-5316-4c8c-a964-25c1956796be X-Archives-Hash: 6cc1de25fd0ca856615b42483ad41cb4 On Mon, 01 Jun 2020 22:27:19 +0200 Micha=C5=82 G=C3=B3rny wrote: > Hi, everyone. >=20 > I'd like to be more proactive in avoiding the mess like Python 3.6->3.7 > switch were. For this reason, I think it would be better to set > and publish some early deadlines. Even if we aren't going to strictly > keep to them, it would help people realize how much time there is left > to finish the preparations. >=20 >=20 > Python 3.6=E2=86=923.7 migration > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > We've already switched the profiles but there are still some unmigrated > packages. We will continue either migrating them or last riting if > migration seems unlikely to happen. Nevertheless, it is wortwhile to > set some final deadlines. My proposal is: >=20 >=20 > 2020-08-01 Python 3.7 migration deadline >=20 > After this date, we lastrite all remaining packages that haven't been > ported. This gives people roughly two months, with a ping one month > from now. >=20 > 2020-09-15 Python 3.6 target removal >=20 > As usual, the interpreter will be kept a bit longer, then moved to > ::python. This accounts for some extra time if people decide to > recover last rited packages last minute. Given that 2020-08-15 is still well over a year before the upstream EOL, this might be a little premature. How about we the deprecation dates back by 4 months? We can still have a similar schedule, just a little later. That way we are deprecating 3.6 less than a year before the EOL upstream. We can keep the 2.7 removal as-is. >=20 > Python 3.7=E2=86=923.8 migration > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > The interpreter is stable but there's still lot of migration work to be > done. Good news is that because of the delay with 3.7, many packages > are getting 3.7+3.8 or even 3.7+3.8+3.9 simultaneously, so there will be > less work in the future. >=20 >=20 > 2020-07-01 Python 3.8 target stable-unmasking goal >=20 > This is not really a deadline but I'd like to aim for resolving > depgraph issues and stabilizing everything needed to unmask python3_7 > target on stable. Initial set of stablereqs was filed already,=20 > and we'll be unmasking the target as soon as the depgraph is clean. >=20 > 2020-09-01 Python 3.8 migration warning >=20 > At this point we tell people it's about time to start actively > updating their packages. Under my suggested timeline, I would say we do this 2020-12-01. > 2020-12-01 Python 3.8 migration deadline >=20 > We lastrite all the unmigrated packages. This could be pushed back to 2020-05-01 to not be too close to the 3.6 removal. I personally do not have any strong feelings either way about 3.7, so I would be fine removing 3.6 and 3.7 at the same time if that is easier. > 2021-01-15 Python 3.7 target removal >=20 > As above. >=20 >=20 > Python 2.7 removal > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > I would like to continue removing py2.7 from packages where possible, > and slowly lastriting where clearly impossible. However, > for the remaining packages I'd like to set a hard deadline. >=20 >=20 > 2021-01-01 Final Python 2.7 deadline >=20 > That's one year after upstream's EOL. At this point, we last rite > all the remaining py2.7 packages. >=20 > 2021-02-15 Python 2.7 target removal >=20 > All packages relying on the target are removed. The interpreter > stays for as long as we need it. >=20 >=20 > General goal > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > As a general goal, I'd like to set timelines like this once we decide > that the next interpreter goes stable. The exact lengths are highly > dependent on properties of the next target. For example, I suspect > Python 3.9 will be easier for us; so far my testing has shown issues > that are rather easy to solve. >=20 Here is an attempt at updating version of ASCII art, from what I can tell, the 'w' at the 3.7->3.8 warning probably belonged in the 3.7 column, I moved it. As I said above, I am personally fine if we make 3.6 and 3.7 removals close together (even at the same time). Combined timeline =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D =46rom the above dates: 2.7 3.6 3.7 3.8 2020-07-01 | | | u py3.8 target unmasked | | | | | | | | | | | | | | | | | | | | | | | | 2020-12-01 | | w | py3.7=E2=86=923.8 migr. warning | | | | | | | | 2021-01-01 m | | | py2.7 pkg last rites | | | | | | | | 2021-02-01 | m | | py3.6 pkg last rites | | | | 2021-02-15 x | | | py2.7 pkg removal 2021-03-15 x | | py3.6 pkg removal | | | | | | 2021-05-01 m | py3.7 pkg last rites | | | | 2021-06-15 x | py3.7 pkg removal | v