1 |
On Fri, Mar 27, 2020 at 3:54 PM Patrick McLean <chutzpah@g.o> wrote: |
2 |
|
3 |
> On Fri, 27 Mar 2020 15:51:35 -0700 |
4 |
> Alec Warner <antarus@g.o> wrote: |
5 |
> |
6 |
> > On Fri, Mar 27, 2020 at 3:11 PM Patrick McLean <chutzpah@g.o> |
7 |
> wrote: |
8 |
> > |
9 |
> > > On Fri, 27 Mar 2020 14:48:53 -0700 |
10 |
> > > Matt Turner <mattst88@g.o> wrote: |
11 |
> > > |
12 |
> > > > On Thu, Mar 26, 2020 at 2:03 PM Patrick McLean <chutzpah@g.o> |
13 |
> |
14 |
> > > wrote: |
15 |
> > > > > |
16 |
> > > > > This patch splits the definition of _PYTHON_ALL_IMPLS and |
17 |
> > > > > _python_impl_supported to a separate eclass, this allows overlays |
18 |
> > > > > to easily support a different set of python implementations than |
19 |
> > > > > ::gentoo without having to fork the entire suite of eclasses. |
20 |
> > > > |
21 |
> > > > (I think the issue is that you have some packages that still need |
22 |
> > > > Python 3.4. Correct me if I'm wrong) |
23 |
> > > > |
24 |
> > > > How many packages do you need to work with Python 3.4? Presumably |
25 |
> just |
26 |
> > > > a couple and then a pile of dependencies in ::gentoo? |
27 |
> > > > |
28 |
> > > |
29 |
> > > For our particular purpose, it's more complicated than that. We do not |
30 |
> > > expect or want ::gentoo to try support Python 3.4 in any way. We have |
31 |
> an |
32 |
> > > overlay that is shared on a lot of machines, some of those machines are |
33 |
> > > older than others. As such we still have ebuilds that only support |
34 |
> > > python3_4 that still exist in the overlay. We would like it if the |
35 |
> > > existence of these packages in the overlay, do not cause metadata |
36 |
> > > generation or dependency calculation to explode on the more up-to-date |
37 |
> > > machines. |
38 |
> > > |
39 |
> > |
40 |
> > > We do not need Python 3.4 packages to be installable on the newer |
41 |
> > > machines, we just need them not to explode. |
42 |
> > > |
43 |
> > |
44 |
> > Couldn't you simply remove the ebuilds from the overlay entirely in this |
45 |
> > case? It's my understanding that on the machines with the packages |
46 |
> > installed, the merged package metadata is being used (which is why those |
47 |
> > machines work) and since the newer machines don't have this merged |
48 |
> package |
49 |
> > metadata, they don't work properly. |
50 |
> > |
51 |
> |
52 |
> Sometimes we have to fix the older machines, so we have to keep |
53 |
> everything around until none of our machines are using it any more. |
54 |
> |
55 |
|
56 |
+Zac Medico <zmedico@g.o> |
57 |
|
58 |
I'm not following something then. One of the proposals earlier was "do not |
59 |
generate metadata for these ebuilds" which to me reads as "keep these |
60 |
ebuilds in the repo, but the ebuilds themselves will not be usable[0]." |
61 |
Then you go on to say that old machines need to be fixed occasionally, so |
62 |
either you need to reinstall a package or update it. The reinstall might be |
63 |
strictly possible from the vdb metadata, but the upgrade would require |
64 |
working repository metadata, which we said earlier we didn't want to |
65 |
generate. |
66 |
|
67 |
(There is a different question of whether you could use a binpkg binhost to |
68 |
basically build versions of these packages and use those for reinstalls, |
69 |
because at least the binpkg metadata *is* nominally fixed in time and can |
70 |
be re-used easily and doesn't require eclass magic in theory, as the |
71 |
eclasses are bound in the environment.tar?) I suspect in essence it might |
72 |
be easier to just do what Robin suggested and use a frozen ::gentoo on the |
73 |
older machines. |
74 |
|
75 |
-A |
76 |
|
77 |
[0] Perhaps the earlier proposals were ..slightly off. With more |
78 |
information it seems like what you want is to be able to easily maintain |
79 |
some python-3.4 ebuilds in your overlay, even though Gentoo is on to 3.6 |
80 |
(and soon 3.7). I personally think the conversation would have gone much |
81 |
better had you just come out and said "hey we have a bunch of internal |
82 |
overlays with 3.4 and we need to keep the packages for another N months, |
83 |
how can we do this easily?" Instead of whatever happened. I tend to agree |
84 |
with mgorny that it's not simply carrying this single patch, but in reality |
85 |
it's a stronger commitment to build some kind of method to let you continue |
86 |
to support older python versions. Future changes might impact your ability |
87 |
to support your ebuilds and we have no real way of knowing if we broke |
88 |
you..so I can see why (irrespective of the tone of the conversation) he |
89 |
would be reticent to pick that up. |
90 |
|
91 |
|
92 |
> |
93 |
> > > |
94 |
> > > I am trying to come up with a solution that *any* overlay can use, I |
95 |
> > > am happy to do work towards that end. Basically, it would be very |
96 |
> > > nice if there was a minimal eclass that handles all the python |
97 |
> > > version compatibility. Almost everything in the eclasses does not care |
98 |
> > > about versions. |
99 |
> > > |
100 |
> > > This is not meant to be something just for our usage, we want this to |
101 |
> > > be usable for *any* overlay, and are more than happy to make things as |
102 |
> > > generic as possible. If some overlay wants to support Python 3.10 |
103 |
> alpha, |
104 |
> > > resurrect jython support, or add Ironpython support, without forking |
105 |
> > > all the eclasses, I would like to think that could be doable as well. |
106 |
> > > |
107 |
> > > |
108 |
> |
109 |
> |