diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-11 00:01:56 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2012-12-11 15:59:42 +0000 |
commit | 8ead7dc3cc1b0c878f246ea233e34d58a74a66db (patch) | |
tree | 25e3a4d7780837d34f4c90490eb53d3c79006f1b /meta | |
parent | f823f0a0c04d6f13359f0aac4a2946a6e4dd3649 (diff) | |
download | poky-8ead7dc3cc1b0c878f246ea233e34d58a74a66db.tar.gz |
bitbake: BBHandler/ast: Simplify/fix EXPORT_FUNCTIONS usage
The current usage of EXPORT_FUNCTIONS is rather problematic since a class
list (classes) is passed into the ast statement and cached as it was
when first parsed. This class list may be different in other cases but
is locked once in the cache.
Worse, the construction of classes can be broken by exceptions during parsing
at the wrong moments since the state of the parser is not always reset
correctly. This can lead to leakage of other classes into the classes list.
The current EXPORT_FUNCTIONS implementation looks at the last two currently
inherited classes and sets up an indirect function call view the second last
class inherited, e.g.:
do_configure calls gnomebase_do_configure
gnomebase_do_configure calls autotools_do_configure
This intermediary doesn't seem to serve a useful purpose.
This patch therefore makes builds deterministic and fixes various cache problems
and indirection by removing the intermediaries and simply performing
directly mapping for the cases where its needed.
(Bitbake rev: 9fc98f96f0e0320beda0ce9546275a99336732c1)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta')
0 files changed, 0 insertions, 0 deletions