Gentoo Archives: gentoo-dev

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

Attachments

File name MIME type
signature.asc application/pgp-signature