[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