[OE-core] [bitbake-devel] EXPORT_FUNCTIONS - change in behaviour proposal

Richard Purdie richard.purdie at linuxfoundation.org
Mon Dec 10 17:44:55 UTC 2012


On Mon, 2012-12-10 at 10:29 -0700, Chris Larson wrote:
> On Mon, Dec 10, 2012 at 9:09 AM, Richard Purdie
> <richard.purdie at linuxfoundation.org> wrote:
>         After Enrico's reported problem, I've been poking around the
>         EXPORT_FUNCTIONS code. Currently OE-Core metadata generates
>         list A
>         below. In particular, this leads to code like:
>         
>          do_configure calls gnomebase_do_configure
>          gnomebase_do_configure calls autotools_do_configure
>         
>         which has a level of indirection. The gnomebase class never
>         references
>         do_configure. I can appreciate adding in a default mapping of:
>         
>          do_configure calls autotools_do_configure
>         
>         since it allows a user to call into autotools_do_configure
>         from a custom
>         do_configure but I can't see the value of the intermediary
>         gnomebase_do_configure. Does anyone know of a use for it?
>         
>         I have a suspicion that if it ever did do anything useful, it
>         stopped
>         being useful long ago.
>         
>         I'm therefore strongly tempted to remove the intermediaries
>         from the
>         code. This would result in list B below which is a more direct
>         set of
>         mappings.
>         
>         Any thoughts/comments from anyone?
>
> In theory, I could see a situation where one class inherits another,
> rather than just individual components all inherited by the recipe.
>
> E.g. in class alpha:
>
> inherit beta
>
> alpha_do_stuff () {
>    pre_stuff
>    beta_do_stuff
>    post_stuff
> }
>
> But this is a theoretical case, and often we hack around things via
> _prepend/_append rather than doing things like this, so I doubt this
> is actually done anywhere in practice.

With an "EXPORT_FUNCTIONS = do_stuff" in alpha.bbclass, wouldn't that
still work without the intermediaries though?

Cheers,

Richard








More information about the Openembedded-core mailing list