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 |