Gentoo Archives: gentoo-dev

From: Patrick McLean <chutzpah@g.o>
To: Alec Warner <antarus@g.o>
Cc: gentoo-dev@l.g.o, Matt Turner <mattst88@g.o>
Subject: Re: [gentoo-dev] [PATCH] Split python implementations definition to separate eclass
Date: Fri, 27 Mar 2020 22:54:05
Message-Id: 20200327155355.2233bd4f@moya.linuxfreak.ca
In Reply to: Re: [gentoo-dev] [PATCH] Split python implementations definition to separate eclass by Alec Warner
1 On Fri, 27 Mar 2020 15:51:35 -0700
2 Alec Warner <antarus@g.o> wrote:
3
4 > On Fri, Mar 27, 2020 at 3:11 PM Patrick McLean <chutzpah@g.o> wrote:
5 >
6 > > On Fri, 27 Mar 2020 14:48:53 -0700
7 > > Matt Turner <mattst88@g.o> wrote:
8 > >
9 > > > On Thu, Mar 26, 2020 at 2:03 PM Patrick McLean <chutzpah@g.o>
10 > > wrote:
11 > > > >
12 > > > > This patch splits the definition of _PYTHON_ALL_IMPLS and
13 > > > > _python_impl_supported to a separate eclass, this allows overlays
14 > > > > to easily support a different set of python implementations than
15 > > > > ::gentoo without having to fork the entire suite of eclasses.
16 > > >
17 > > > (I think the issue is that you have some packages that still need
18 > > > Python 3.4. Correct me if I'm wrong)
19 > > >
20 > > > How many packages do you need to work with Python 3.4? Presumably just
21 > > > a couple and then a pile of dependencies in ::gentoo?
22 > > >
23 > >
24 > > For our particular purpose, it's more complicated than that. We do not
25 > > expect or want ::gentoo to try support Python 3.4 in any way. We have an
26 > > overlay that is shared on a lot of machines, some of those machines are
27 > > older than others. As such we still have ebuilds that only support
28 > > python3_4 that still exist in the overlay. We would like it if the
29 > > existence of these packages in the overlay, do not cause metadata
30 > > generation or dependency calculation to explode on the more up-to-date
31 > > machines.
32 > >
33 >
34 > > We do not need Python 3.4 packages to be installable on the newer
35 > > machines, we just need them not to explode.
36 > >
37 >
38 > Couldn't you simply remove the ebuilds from the overlay entirely in this
39 > case? It's my understanding that on the machines with the packages
40 > installed, the merged package metadata is being used (which is why those
41 > machines work) and since the newer machines don't have this merged package
42 > metadata, they don't work properly.
43 >
44
45 Sometimes we have to fix the older machines, so we have to keep
46 everything around until none of our machines are using it any more.
47
48 >
49 > >
50 > > I am trying to come up with a solution that *any* overlay can use, I
51 > > am happy to do work towards that end. Basically, it would be very
52 > > nice if there was a minimal eclass that handles all the python
53 > > version compatibility. Almost everything in the eclasses does not care
54 > > about versions.
55 > >
56 > > This is not meant to be something just for our usage, we want this to
57 > > be usable for *any* overlay, and are more than happy to make things as
58 > > generic as possible. If some overlay wants to support Python 3.10 alpha,
59 > > resurrect jython support, or add Ironpython support, without forking
60 > > all the eclasses, I would like to think that could be doable as well.
61 > >
62 > >

Replies