1 |
Hello, |
2 |
|
3 |
As some of you may have noticed, lately introduced 'double include |
4 |
preventions' have caused changes in effective phase functions in a few |
5 |
ebuilds. Also, often it is undesirable that change in inherits of |
6 |
an eclass may cause an undesired change of exported functions. To solve |
7 |
these problems, we are proposing the following: |
8 |
|
9 |
|
10 |
1. If an ebuild does not provide an explicit phase function, the phase |
11 |
functions *directly exported* by *directly inherited* eclasses are used |
12 |
to find a suitable default, |
13 |
|
14 |
2. Thus, if an eclass inherits another eclass and expects the phase |
15 |
functions of that eclass to be effective to the ebuild, it needs to |
16 |
create its own phase function and export it. |
17 |
|
18 |
|
19 |
This should make the ebuild behavior simpler to understand and saner. |
20 |
It should also fix the forementioned issues, and allow us to make |
21 |
the 'source eclasses only once'[1] proposal simpler. |
22 |
|
23 |
[1]:https://bugs.gentoo.org/show_bug.cgi?id=422533 |
24 |
|
25 |
-- |
26 |
Best regards, |
27 |
Michał Górny |