From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-dev+bounces-91989-garchives=archives.gentoo.org@lists.gentoo.org>
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 476F01382C5
	for <garchives@archives.gentoo.org>; Fri, 26 Jun 2020 17:18:00 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id 24E3DE09CC;
	Fri, 26 Jun 2020 17:17:57 +0000 (UTC)
Received: from smtp.gentoo.org (mail.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 C747CE09B7
	for <gentoo-dev@lists.gentoo.org>; Fri, 26 Jun 2020 17:17:56 +0000 (UTC)
Message-ID: <3fb20e2d28d5ffaaa08bfabefd3a9fe4a43f121d.camel@gentoo.org>
Subject: Re: [gentoo-dev] [PATCH] profiles/package.deprecated: deprecate
 python:2.7
From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= <mgorny@gentoo.org>
To: gentoo-dev@lists.gentoo.org
Date: Fri, 26 Jun 2020 19:17:50 +0200
In-Reply-To: <20200626174724.614c9b15@sf>
References: <20200620135742.2603768-1-slyfox@gentoo.org>
	 <e800fbb56876cb9589f04f53ac2ba7c9ea9801e1.camel@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>
Organization: Gentoo
Content-Type: multipart/signed; micalg="pgp-sha512";
	protocol="application/pgp-signature"; boundary="=-13cXAdeUj3B2w71r/HPx"
User-Agent: Evolution 3.36.3 
Precedence: bulk
List-Post: <mailto:gentoo-dev@lists.gentoo.org>
List-Help: <mailto:gentoo-dev+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-dev+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-dev+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-dev.gentoo.org>
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: 5d8471dc-adb5-499a-962d-e3c0881d9b2c
X-Archives-Hash: 04d419ebef01e80a43fc3b301e11afb6


--=-13cXAdeUj3B2w71r/HPx
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

On Fri, 2020-06-26 at 17:47 +0100, Sergei Trofimovich wrote:
> On Fri, 26 Jun 2020 11:38:58 +0200
> Micha=C5=82 G=C3=B3rny <mgorny@gentoo.org> wrote:
>=20
> > On Fri, 2020-06-26 at 09:51 +0100, Sergei Trofimovich wrote:
> > > On Fri, 26 Jun 2020 07:29:45 +0000
> > > Micha=C5=82 G=C3=B3rny <mgorny@gentoo.org> wrote:
> > >  =20
> > > > Dnia June 26, 2020 6:42:57 AM UTC, Sergei Trofimovich <slyfox@gento=
o.org> napisa=C5=82(a): =20
> > > > > On Sat, 20 Jun 2020 16:29:53 +0100
> > > > > Sergei Trofimovich <slyfox@gentoo.org> wrote:
> > > > >   =20
> > > > > > On Sat, 20 Jun 2020 16:05:38 +0200
> > > > > > Micha=C5=82 G=C3=B3rny <mgorny@gentoo.org> wrote:
> > > > > >    =20
> > > > > > > On Sat, 2020-06-20 at 14:57 +0100, Sergei Trofimovich wrote: =
    =20
> > > > > > > > Give maintainers the chance to act and flag packages that p=
ull in   =20
> > > > > python:2.7.   =20
> > > > > > > > Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
> > > > > > > > ---
> > > > > > > >  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 <slyfox@gentoo.org> (2020-06-20)
> > > > > > > > +# Deprecated. Consider poring to python 3 and drop support=
 for   =20
> > > > > python2.   =20
> > > > > > > > +dev-lang/python:2.7
> > > > > > > > +
> > > > > > > >  # Sergei Trofimovich <slyfox@gentoo.org> (2020-02-22)
> > > > > > > >  # virtual/libstdc++ has only one sys-libs/libstdc++-v3 pro=
vider.
> > > > > > > >  # Use that instead. Or even better use none of them. 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 to =
3   =20
> > > > > because   =20
> > > > > > > they have 2.7 deps.     =20
> > > > > >=20
> > > > > > If we expect actions by developers on both cases I don't see a =
  =20
> > > > > problem with that.
> > > > >=20
> > > > > Pushed as:
> > > > > https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3D79d65d6641=
cfc0ef7b44df491c390e8c880e3049
> > > > > with full text being:
> > > > >=20
> > > > > +# Sergei Trofimovich <slyfox@gentoo.org> (2020-06-26)
> > > > > +# Deprecated.
> > > > > +# - optional python:2.7 dependency should be dropped if no rever=
se
> > > > > +#   dependencies are using it.
> > > > > +# - mandatory python:2.7 depepndency will require package portin=
g
> > > > > +#   or package removal if no reverse dependencies are using it.
> > > > > +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 in =
these packages. =20
> > >=20
> > > Correct. Citing above:
> > >=20
> > > "If we expect actions by developers on both cases I don't see a  prob=
lem 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 for
> > Python 2 is a secondary goal.
>=20
> What is the desired end state here? All packages that depend on
> python should support python3?

Yes, or be masked for removal.  The desired result is that at some point
in time we can disable py2 target in eclass without anything breaking.

> > Flagging packages that support Python 2 in addition to Python 3
> > and cause no trouble in py2 cleanup is doubtful.
>=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:

Some of this is mentioned in Python Guide [1].

[1] https://dev.gentoo.org/~mgorny/python-guide/package-maintenance.html#su=
pport-for-python-2

> - How packages are picked for masking? Maybe we can deprecate them
>   instead? Or we (I) can write a bit of code that flags packages requirin=
g
>   maintainers' attention.

This is really decided by humans, and I don't think it can be trivially
automated.  So far we've focused on masking packages that are either
a. unlikely to be ported (e.g. dead upstream), b. have no Gentoo
maintainers.

> - What is the expected end state for the "py2 cleanup"?=20

Not sure if I understand right but I think the answer is: we can disable
py2 support via eclass and nothing breaks.

> The doc would also be a good link to add to recently added "# Py2 only"
> 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 py2
> > because of revdeps.
>=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.

The 'early' py2 removal date is set for 2021-01-01 AFAIR (I'm yet to
publish the timeline I've RFC-ed earlier).  Not sure if it's possible.
 One thing I'm sure of is that py2 support is becoming harder
and harder.

>=20
> > Flagging dev-python/pypy* which needs py2 but is entirely outside
> > the eclass system is not helpful at all.
>=20
> To pick a concrete example: from what I read above I don't see why
> app-misc/golly was masked for removal.

Me neither.  But I really do think this can be resolved peacefully
without neverending debates.

--=20
Best regards,
Micha=C5=82 G=C3=B3rny


--=-13cXAdeUj3B2w71r/HPx
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part
Content-Transfer-Encoding: 7bit

-----BEGIN PGP SIGNATURE-----

iQGTBAABCgB9FiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAl72Lb5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldEM3
NkE4NDUwOTQwOThEMjhDQzhCMjZDNTYzOUFEQUUyMzI5RTI0MEUACgkQY5ra4jKe
JA5jrgf/R0zjdTuvIk7noO9yP1ZNDfoGZ+OcRUB0RkVrOLrK+2yilOElpaQAKZ6N
Pd20hYbnj0eW0DIW4sOuiSJH/TlX5eQPkOgC/6mzLQYSo1dm0dsdBdVSFxHwA+0P
iSokoWIANRi8k0v2OuhKJFJuSqRPiLoA6tYAcpPHgXb9jx8P2yRaYFISrMEPlvg6
r4eHU0REZuzqPUz4cW9vUg/MbO90GpnRnMDDAPe4NY4MCtLr/Te+aU59WHR8SM2l
G0L+cGbkAXL0hiqEzxcxpwR1UVXPXPOI/SIOevyPcxstc51Dfs0OSPKa7RqdwDGD
nthCNcaKnReJrppSOM7kMyEEN9PKxw==
=k+Tc
-----END PGP SIGNATURE-----

--=-13cXAdeUj3B2w71r/HPx--