[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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.