[PATCH v3 2/3] doc: bitbake-user-manual-metadata: remove invalid anonymous Python example
Dawid Bijak <[email protected]>
| Newsgroups | org.openembedded.lists.bitbake-devel,org.yoctoproject.lists.docs |
|---|---|
| Message-ID | <[email protected]> |
The documentation for inherit_defer suggested that conditional inheritance can be achieved by setting a variable inside an anonymous python function and then referencing it from inherit_defer. This does not work: inherit_defer is resolved before the anonymous Python functions run. Replace the example with a warning explaining that anonymous Python functions cannot be used to drive inherit_defer, since they run after the directive has already been resolved. Suggested-by: Quentin Schulz <[email protected]> Signed-off-by: Dawid Bijak <[email protected]> --- .../bitbake-user-manual-metadata.rst | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst index ee6919dc4..52a9e7fa7 100644 --- a/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst +++ b/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst @@ -835,17 +835,6 @@ overrides:: VARIABLE = "" VARIABLE:someoverride = "myclass" -Another method is by using :ref:`anonymous Python -<bitbake-user-manual/bitbake-user-manual-metadata:Anonymous Python Functions>`. -Here is an example:: - - python () { - if condition == value: - d.setVar('VARIABLE', 'myclass') - else: - d.setVar('VARIABLE', '') - } - Alternatively, you could use an inline Python expression in the following form:: @@ -859,6 +848,14 @@ In all cases, if the expression evaluates to an empty string, the statement does not trigger a syntax error because it becomes a no-op. +.. warning:: + + Setting or modifying variables within an :ref:`anonymous Python function + <bitbake-user-manual/bitbake-user-manual-metadata:Anonymous Python Functions>` + will have no impact on the value of that variable in an + :ref:`inherit_defer <ref-bitbake-user-manual-metadata-inherit-defer>` directive + as the function is run after the directive is resolved. + See also :term:`BB_DEFER_BBCLASSES` for automatically promoting classes ``inherit`` calls to ``inherit_defer``. -- 2.48.1