1 |
hasufell: |
2 |
> |
3 |
> Even more interesting... you can work around this by inheriting |
4 |
> base.eclass explicitly before e.g. unpacker.eclass, something like |
5 |
> |
6 |
> inherit base unpacker games |
7 |
> |
8 |
> => unpacker_src_unpack() is carried out by default (and the ebuild |
9 |
> breaks if someone thinks the base.eclass is useless and removes it) |
10 |
> |
11 |
> inherit unpacker games |
12 |
> |
13 |
> => unpacker_src_unpack is not carried out by default although |
14 |
> games.eclass does not directly overwrite it |
15 |
> |
16 |
> If you think any of this is sensible... |
17 |
> |
18 |
|
19 |
Almost forgot, of course this does not work if you expect |
20 |
unpacker_src_unpacker() to run: |
21 |
inherit unpacker games base |
22 |
|
23 |
as well as |
24 |
inherit unpacker base games |
25 |
|
26 |
however |
27 |
inherit games unpacker base |
28 |
|
29 |
will work. |
30 |
|
31 |
And now... guess why the games herd made it a policy to always inherit |
32 |
games.eclass last. Because of the unpredictability of eclasses and that |
33 |
they may randomly add exported phase functions. It's a bit paranoid, but |
34 |
understandable, since we don't have any real rules here. |
35 |
|
36 |
So in the end 3 eclasses all tell you "inherit me last! really!". Good |
37 |
luck with figuring out how to make a gnome game with python and multilib |
38 |
support work together. I can predict the days such a review would take |
39 |
in #gentoo-sunrise. Not less than 3. |