18.08.2014 16:56, hasufell пишет:
> hasufell:
>>
>> Even more interesting... you can work around this by inheriting
>> base.eclass explicitly before e.g. unpacker.eclass, something like
>>
>> inherit base unpacker games
>>
>> => unpacker_src_unpack() is carried out by default (and the ebuild
>> breaks if someone thinks the base.eclass is useless and removes it)
>>
>> inherit unpacker games
>>
>> => unpacker_src_unpack is not carried out by default although
>> games.eclass does not directly overwrite it
>>
>> If you think any of this is sensible...
>>
> 
> Almost forgot, of course this does not work if you expect
> unpacker_src_unpacker() to run:
> inherit unpacker games base
> 
> as well as
> inherit unpacker base games
> 
> however
> inherit games unpacker base
> 
> will work.
> 
> And now... guess why the games herd made it a policy to always inherit
> games.eclass last. Because of the unpredictability of eclasses and that
> they may randomly add exported phase functions. It's a bit paranoid, but
> understandable, since we don't have any real rules here.
> 
> So in the end 3 eclasses all tell you "inherit me last! really!". Good
> luck with figuring out how to make a gnome game with python and multilib
> support work together. I can predict the days such a review would take
> in #gentoo-sunrise. Not less than 3.
> 

As i said early - always override necessary functions if you want
non-default behaviour. Proposed solution with variable just add syntax
sugar, doing the same thing.

As for you as sunrise reviewer. I am member of proxy maintainers, i am
also reviewing ebuilds from users. And they usually understands inherit
logic very well, even in non-trivial cases.

So, your expirience just differs with mine, not more, not less.

-- 
Best regards, Sergey Popov
Gentoo developer
Gentoo Desktop Effects project lead
Gentoo Proxy maintainers project lead

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to