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 549F21382C5 for ; Fri, 26 Jun 2020 21:25:05 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 1FA7CE09FB; Fri, 26 Jun 2020 21:25:00 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) (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 81C5DE09A2 for ; Fri, 26 Jun 2020 21:24:59 +0000 (UTC) Message-ID: Subject: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate python:2.7 From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org, Aaron Bauman Date: Fri, 26 Jun 2020 23:24:53 +0200 In-Reply-To: <20200626220234.4091cce5@sf> References: <20200620135742.2603768-1-slyfox@gentoo.org> <20200620162953.010f09a0@sf> <20200626074257.4bb72e3c@sf> <63A7D0EB-038E-4CD9-B6CF-B45D6A573938@gentoo.org> <20200626095158.19489282@sf> <233ada786a31958a050fe21cdbd89792f6ad7a4c.camel@gentoo.org> <20200626174724.614c9b15@sf> <8CCC5CD0-9A2B-42AC-9169-7DA9C60CE40E@gentoo.org> <20200626220234.4091cce5@sf> Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-LXE0uFWYJPG+Rhhqt13Q" User-Agent: Evolution 3.36.3 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 X-Archives-Salt: f94cf42f-9bc6-49a5-a971-964da5cb1e76 X-Archives-Hash: 39b87767cd017d7d1f77321d5f13be20 --=-LXE0uFWYJPG+Rhhqt13Q Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Fri, 2020-06-26 at 22:02 +0100, Sergei Trofimovich wrote: > On Fri, 26 Jun 2020 13:41:13 -0400 > Aaron Bauman wrote: >=20 > > On June 26, 2020 12:47:24 PM EDT, Sergei Trofimovich wrote: > > > On Fri, 26 Jun 2020 11:38:58 +0200 > > > Micha=C5=82 G=C3=B3rny wrote: > > > =20 > > > > On Fri, 2020-06-26 at 09:51 +0100, Sergei Trofimovich wrote: =20 > > > > > On Fri, 26 Jun 2020 07:29:45 +0000 > > > > > Micha=C5=82 G=C3=B3rny wrote: > > > > > =20 > > > > > > Dnia June 26, 2020 6:42:57 AM UTC, Sergei Trofimovich =20 > > > napisa=C5=82(a): =20 > > > > > > > On Sat, 20 Jun 2020 16:29:53 +0100 > > > > > > > Sergei Trofimovich wrote: > > > > > > > =20 > > > > > > > > On Sat, 20 Jun 2020 16:05:38 +0200 > > > > > > > > Micha=C5=82 G=C3=B3rny wrote: > > > > > > > > =20 > > > > > > > > > On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich = =20 > > > wrote: =20 > > > > > > > > > > Give maintainers the chance to act and flag packages th= at =20 > > > pull in =20 > > > > > > > python:2.7. =20 > > > > > > > > > > Signed-off-by: Sergei Trofimovich > > > > > > > > > > --- > > > > > > > > > > profiles/package.deprecated | 4 ++++ > > > > > > > > > > 1 file changed, 4 insertions(+) > > > > > > > > > >=20 > > > > > > > > > > diff --git a/profiles/package.deprecated =20 > > > > > > > b/profiles/package.deprecated =20 > > > > > > > > > > index a756e845f47..bb661571962 100644 > > > > > > > > > > --- a/profiles/package.deprecated > > > > > > > > > > +++ b/profiles/package.deprecated > > > > > > > > > > @@ -17,6 +17,10 @@ > > > > > > > > > > =20 > > > > > > > > > > #--- END OF EXAMPLES --- > > > > > > > > > > =20 > > > > > > > > > > +# Sergei Trofimovich (2020-06-20) > > > > > > > > > > +# Deprecated. Consider poring to python 3 and drop = =20 > > > support for =20 > > > > > > > python2. =20 > > > > > > > > > > +dev-lang/python:2.7 > > > > > > > > > > + > > > > > > > > > > # Sergei Trofimovich (2020-02-22) > > > > > > > > > > # virtual/libstdc++ has only one sys-libs/libstdc++-v3= =20 > > > provider. =20 > > > > > > > > > > # Use that instead. Or even better use none of them. = =20 > > > It's a =20 > > > > > > > > > =20 > > > > > > > > =20 > > > > > > > > > It will trigger the same for packages that support *only* > > > > > > > > > Python 2.7, as well as these that support 2.7 in addition= =20 > > > to 3 =20 > > > > > > > because =20 > > > > > > > > > they have 2.7 deps. =20 > > > > > > > >=20 > > > > > > > > If we expect actions by developers on both cases I don't se= e =20 > > > a =20 > > > > > > > problem with that. > > > > > > >=20 > > > > > > > Pushed as: > > > > > > > =20 > > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3D79d65d6641cfc0= ef7b44df491c390e8c880e3049 =20 > > > > > > > with full text being: > > > > > > >=20 > > > > > > > +# Sergei Trofimovich (2020-06-26) > > > > > > > +# Deprecated. > > > > > > > +# - optional python:2.7 dependency should be dropped if no = =20 > > > reverse =20 > > > > > > > +# dependencies are using it. > > > > > > > +# - mandatory python:2.7 depepndency will require package = =20 > > > porting =20 > > > > > > > +# or package removal if no reverse dependencies are using = =20 > > > it. =20 > > > > > > > +dev-lang/python:2.7 =20 > > > > > >=20 > > > > > > You've just introduced 829 CI warnings =20 > > > > >=20 > > > > > That's the intention. > > > > > =20 > > > > > > effectively disabling the ability to distinguish *new* problems= =20 > > > in these packages. =20 > > > > > Correct. Citing above: > > > > >=20 > > > > > "If we expect actions by developers on both cases I don't see a = =20 > > > problem with that." =20 > > > > > I assume we still do. =20 > > > >=20 > > > > Not exactly. You've pinpointed the wrong target. > > > >=20 > > > > First of all, we want people to support Python 3. Removing support= =20 > > > for =20 > > > > Python 2 is a secondary goal. =20 > > >=20 > > > What is the desired end state here? All packages that depend on > > > python should support python3? > > > =20 > > > > Flagging packages that support Python 2 in addition to Python 3 > > > > and cause no trouble in py2 cleanup is doubtful. =20 > > >=20 > > > What is "py2 cleanup"? I still struggle to understand what packages > > > require change and which do not. Is there one pager doc that explains > > > a few things for me: > > > - How packages are picked for masking? Maybe we can deprecate them > > > instead? Or we (I) can write a bit of code that flags packages > > > requiring > > > maintainers' attention. > > > - What is the expected end state for the "py2 cleanup"?=20 > > >=20 > > > The doc would also be a good link to add to recently added "# Py2 onl= y" > > > masks as well. > > > =20 > > > > Flagging packages that support 2+3 because of their revdeps is not > > > > helpful at all. It's just noise to the maintainer who can't remove= =20 > > > py2 =20 > > > > because of revdeps. =20 > > >=20 > > > I agree it can be spammy if we expect to have many packages with > > > python2 support for an extended period of time (3+ months). If it's > > > seen by others as too noisy I can revert the commit now. > > > =20 > > > > Flagging dev-python/pypy* which needs py2 but is entirely outside > > > > the eclass system is not helpful at all. =20 > > >=20 > > > To pick a concrete example: from what I read above I don't see why > > > app-misc/golly was masked for removal. =20 > >=20 > > It was masked because it only supports Py2. The maintainer (you) decide= d to drop Python script support. Problem solved. Easy day. All done.=20 >=20 > A few points: >=20 > 1. "only supports Py2" does not seem to warrant to mask leaf packages > and contradicts to Micha=C5=82's explanation of cleanup effort: > See https://archives.gentoo.org/gentoo-dev/message/04d419ebef01e80a4= 3fc3b301e11afb6 > Please reconcile the goals within the python@ team. Ask team lead > if not sure and provide clear guidance for others. "only supports Py2" > is not good enough explanation. >=20 > Leaf packages should be able to stay up to 2021-01-01, no? I'd suggest > adding them to packages.deprecated instead. Important leaf packages, yes. However, we don't really want to 'surprise' everyone by suddenly masking everything. Splitting it into smaller batches is better, as it gives people effectively more time to choose which packages to save. There's no clear criteria how to determine which packages go first. Some of the packages chosen here wouldn't be my first choice. However, if they were last rited already, I would focus on restoring only these that actually proved some demand. > 2. I decided to drop python support in a hurry to unbreak world upgrade > for users and myself. If I had some time I would prefer to do that in > higher confidence and have a chance to look at python3 support in the > package. > But now I chucked python2 scripting entirely probably breaking a few > users. I don't see it as a good thing. >=20 > After Micha=C5=82's explanation I am considering to restore python2 su= pport > while I investigate python3 support feasibility. I might have missed a point there. While indeed it is possible to keep py2+py3 in various packages, I have myself been proactively removing py2 where py3 is already available. This is mostly a matter of convenience with the limited tooling we have. Long story short, in all the dependency/conflict mess, the simplest way forward is to iteratively try removing py2 everywhere. This way we slowly release deps. --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-LXE0uFWYJPG+Rhhqt13Q Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part Content-Transfer-Encoding: 7bit -----BEGIN PGP SIGNATURE----- iQGTBAABCgB9FiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAl72Z6VfFIAAAAAALgAo aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEM3 NkE4NDUwOTQwOThEMjhDQzhCMjZDNTYzOUFEQUUyMzI5RTI0MEUACgkQY5ra4jKe JA5MZgf/XjMP2RoWXNiXYz7tu6BUEpD7Bd/6bzkldrr2QWFALPNJx+Oa9vlB61cc w+YhwiITKsupIti+tBmoqymA2PPXg2JEnkKFmgQawX7w8VKIbphTRM63FBbRh2Nc 0d/s5XPHaLmChtfpcmTbNUCQ4ccEkWBXGvrwmEAXHYbTKfC9ZjPC8eMcTka3dy0e cw80c+XjsDeM/XteSXSa4oVFZnf6emCM0nRFnh6AM7R8w7JXJ9Bo+dR7hL0wCuoY iznAAXi9paG7AQLbp/gvwh/w/2SYt43UiYtG+cBVabOV1CE/AjA9sxUe5wZr3fSE OzlUtizTngJY5/2g+6HFyviEhn9M9A== =jX9W -----END PGP SIGNATURE----- --=-LXE0uFWYJPG+Rhhqt13Q--