Gentoo Archives: gentoo-dev

From: William Hubbs <williamh@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] [PATCH 0/1] allow extra implementations of python
Date: Thu, 26 Mar 2020 20:30:34
Message-Id: 20200326203015.GB3158@linux1.home
In Reply to: Re: [gentoo-dev] [PATCH 0/1] allow extra implementations of python by David Seifert
1 On Thu, Mar 26, 2020 at 08:37:17PM +0100, David Seifert wrote:
2
3 *snip*
4
5 > How do you prevent some extra clever Gentoo developer from doing the following
6 > in ::gentoo
7 >
8 > dev-python/foo/foo-1.ebuild:
9 >
10 > # don't have the time to port this right now, patches welcome
11 > PYTHON_COMPAT_ALLOW_EXTRA_IMPLS=( python3_4 )
12 > PYTHON_COMPAT=( python3_4 )
13 > inherit distutils-r1
14
15 If there's a way inside an eclass to check that the ebuild inheriting
16 it is in ::gentoo, I will use it to die if the ebuild is in ::gentoo
17 and this variable is set.
18
19 > Furthermore, defining PYTHON_COMPAT_ALLOW_EXTRA_IMPLS is going to break metadata
20 > invariance, causing tons of cache mis-hits. How do you prevent that?
21 >
22 > In addition, this will very quickly cause whatever overlay this is being used in
23 > to become invalid. Imagine I have dev-python/foo::gentoo that supports python
24 > 3.4 and 3.5 and have dev-python/bar::sony supporting 3.4 and 3.5 sitting in a
25 > hypothetical overlay, which depends on dev-python/foo::gentoo. Now we remove
26 > python 3.4 from ::gentoo in python-utils-r1, and one week later we remove
27 > python3.4 from dev-python/foo::gentoo's PYTHON_COMPAT. Now your dev-
28 > python/bar::sony in conjunction with PYTHON_COMPAT_ALLOW_EXTRA_IMPLS has an
29 > invalid depgraph. How do you wish to resolve this?
30
31 These are both overlay maintenance questions that wouldn't affect
32 ::gentoo, but the answer to the first one is we regenerate the metadata
33 very often so it wouldn't be an issue, and the second one is resolved
34 by grabbing packages and putting them in another overlay until we don't
35 need them.
36
37 > I feel like keeping up with ::gentoo is ultimately the better strategy than
38 > trying to add backdoors to eclasses because some overlays are somewhat behind.
39
40 I agree with you. However, sometimes in the real world it doesn't work
41 that way, or it can take longer to move than Gentoo.
42
43 If we can do something minimal to allow downstream overlays to do what
44 they need to do to catch up, I think we should, especially if someone
45 from downstream is offering to do the work.
46
47 William

Attachments

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

Replies