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.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id A35E4158046 for ; Sat, 12 Oct 2024 10:05:32 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 6022AE2A12; Sat, 12 Oct 2024 10:05:29 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 1DF93E29FA for ; Sat, 12 Oct 2024 10:05:29 +0000 (UTC) Message-ID: Subject: Re: [gentoo-dev] [RFC] Splitting dev-lang/python into per-slot packages, starting with 3.14 From: =?UTF-8?Q?Micha=C5=82_G=C3=B3rny?= To: gentoo-dev@lists.gentoo.org Cc: python@gentoo.org Date: Sat, 12 Oct 2024 12:05:24 +0200 In-Reply-To: References: Organization: Gentoo Content-Type: multipart/signed; micalg="pgp-sha512"; protocol="application/pgp-signature"; boundary="=-7u6Dp3nBcz4ACcDg53Ln" User-Agent: Evolution 3.52.4 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: 1d8444f6-a1be-49ae-8095-93f28b7cb17d X-Archives-Hash: 625c3f6ca9783101b2aeb47a900594a7 --=-7u6Dp3nBcz4ACcDg53Ln Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Sat, 2024-10-12 at 11:59 +0200, Ulrich Mueller wrote: > > > > > > On Sat, 12 Oct 2024, Micha=C5=82 G=C3=B3rny wrote: >=20 > > However, I think the cleanest way forward would be to stop slotting > > CPython like this, and instead have a separate package for each version= , > > just like the vast majority of distributions do, i.e.: >=20 > > =C2=A0=C2=A0dev-lang/python3_N >=20 > That other distributions do it that way is not an argument because most > other distributions don't have slots. >=20 > > This naturally means that only the specific version requested (e.g. via > > targets) would be installed, and no cross-slot autoupgrades would > > happen. Ideally, I'd like to start doing that with Python 3.14 whose > > first alpha is expected next week. Depending on how they handle > > freethreading, we'd end up having the first or both of: >=20 > > =C2=A0=C2=A0dev-lang/python3_14 > > =C2=A0=C2=A0dev-lang/python3_14t >=20 > IMHO this would abuse the package name for information that absolutely > doesn't belong there. It belongs in PV or SLOT. >=20 > To me it seems that you try to work around a problem (greedy upgrade > behaviour) that should really be solved in the package manager. In my opinion, it's the other way around. We have slots, that are a fit solution for packages that are roughly compatible between every major release, and we keep abusing them for every single thing we can bend enough to make it fit. Greedy upgrade behavior makes sense when you have packages where :=3D and :* operators are applicable. It doesn't make sense when every single dependency is expected to specify an explicit slot. In fact, when you are never supposed to depend on the package without specifying a slot, why would you think slots are the right solution? In fact, the "freethreading" variation already implies that there could be more than one "slot" per package version. It's as meaningless as having sqlite3 packaged as sqlite:3, or gtk that is now randomly split between gtk+:2, gtk+:3 and gtk:4. --=20 Best regards, Micha=C5=82 G=C3=B3rny --=-7u6Dp3nBcz4ACcDg53Ln Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- iQFGBAABCgAwFiEEx2qEUJQJjSjMiybFY5ra4jKeJA4FAmcKSeQSHG1nb3JueUBn ZW50b28ub3JnAAoJEGOa2uIyniQOht0H/Ahkb+fkKJVOeHueQXHQUb2QyJwUOf61 jSWAA2nSVRa4SnnMls3WY0UZRhO7NvxOpwKLZN8hQpPeAMAQ/pG4k5qkt/Egw+d8 kx7GrWu6BlWpxY/ySC/kuXQsEMLVGaEa5Qq6IaxiaD2FKvqemylbqsBGM1E969RH UHQGJbJkcSZuFtRZmZ3L4suA3LQMy69sEoCAJNMqpG39AhWkuKpdXbMSWFr7To0c Jp6lqDVruSrSVxupFWLuXU2BKVry5B68HwMHGtd7fDK5H10rsyWC6XonSmi9vyG+ TGWhFZmHU9Gj2reN0mci4s28te1AbRKnjlMo5q8Vt5zX52ZZLNyRevs= =0Qih -----END PGP SIGNATURE----- --=-7u6Dp3nBcz4ACcDg53Ln--