[PATCH v4] doc: bitbake-user-manual-metadata: document inherit_defer limitations
Dawid Bijak <[email protected]>
| Newsgroups | org.openembedded.lists.bitbake-devel,org.yoctoproject.lists.docs |
|---|---|
| Message-ID | <[email protected]> |
Add a warning explaining that anonymous Python functions cannot be used to influence inherit_defer, since they run after the directive has already been resolved. Also rename VARNAME to VARIABLE for consistency throughout the documentation. Suggested-by: Quentin Schulz <[email protected]> Signed-off-by: Dawid Bijak <[email protected]> --- .../bitbake-user-manual-metadata.rst | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst b/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst index 0c7c3ff99..134cf8ff1 100644 --- a/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst +++ b/doc/bitbake-user-manual/bitbake-user-manual-metadata.rst @@ -827,17 +827,17 @@ the variable after the line is parsed will take effect. With the :ref:`inherit Here is an example:: - inherit_defer ${VARNAME} + inherit_defer ${VARIABLE} One way to achieve a conditional inherit in this case is to use overrides:: - VARNAME = "" - VARNAME:someoverride = "myclass" + VARIABLE = "" + VARIABLE:someoverride = "myclass" :ref:`inherit_defer <ref-bitbake-user-manual-metadata-inherit-defer>` -defers the evaluation of ``${VARNAME}`` until the end of -parsing. Assuming ``someoverride`` is in :term:`OVERRIDES`, ``${VARNAME}`` +defers the evaluation of ``${VARIABLE}`` until the end of +parsing. Assuming ``someoverride`` is in :term:`OVERRIDES`, ``${VARIABLE}`` expands to ``myclass``, which is then inherited. Alternatively, you could use an inline Python expression in the @@ -853,6 +853,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 runs after the directive has been resolved. + See also :term:`BB_DEFER_BBCLASSES` for automatically promoting classes ``inherit`` calls to ``inherit_defer``. -- 2.48.1