1 |
On Sat, Aug 28, 2021 at 06:35:06PM +0200, Michał Górny wrote: |
2 |
> Hi, |
3 |
> |
4 |
> I've been informed of a slight inconsistency in package manager behavior |
5 |
> that affects combining EXPORT_FUNCTIONS with inherit (by ionic, thanks |
6 |
> for the report!). Please consider the three following snippets: |
7 |
|
8 |
... |
9 |
|
10 |
> 1. I'd like to propose that we explicitly require all inherits to happen |
11 |
> before EXPORT_FUNCTIONS. This will ensure consistent behavior across |
12 |
> all package managers. |
13 |
> |
14 |
> 2. I'd like to ask your opinion whether we should: |
15 |
> |
16 |
> a. revert the Portage behavior to be consistent with PkgCore/Paludis |
17 |
> |
18 |
> b. update PMS to identify the behavior as 'undefined', i.e. either |
19 |
> solution is correct. |
20 |
|
21 |
I would go with 1 and 2 b, but I also propose another option for the |
22 |
next eapi which may be a bit controversial. |
23 |
|
24 |
Starting with eapi 9, make export_functions a noop (you can't remove it |
25 |
until all eclasses/ebuilds only support eapis that don't require it). |
26 |
|
27 |
I understand that this is controversial, because it would require a lot |
28 |
of work to convert ebuilds to eapi 9, but it would eliminate this |
29 |
ambiguity/inconsistency in the future because it would require all |
30 |
ebuilds to have phase functions unless they can use the default phases |
31 |
the eapis provide. |
32 |
|
33 |
Thoughts? |
34 |
|
35 |
William |
36 |
|
37 |
> |
38 |
> WDYT? |
39 |
> |
40 |
> |
41 |
> [1] https://github.com/gentoo/portage/commit/06d4433e8b8be60d606733b9e23f57f8a5869d8f |
42 |
> |
43 |
> -- |
44 |
> Best regards, |
45 |
> Michał Górny |
46 |
> |
47 |
> |
48 |
> |