ast: Improve function flags handling for EXPORT_FUNCTIONS

Message ID 20220412113545.2126562-1-richard.purdie@linuxfoundation.org
State Accepted, archived
Commit b074f4aff00923acc5bf6649d204d541a79fd2b6
Headers show
Series ast: Improve function flags handling for EXPORT_FUNCTIONS | expand

Commit Message

Richard Purdie April 12, 2022, 11:35 a.m. UTC
Currently, if you use one of the functions from EXPORT_FUNCTIONS,
the meaning of cleandirs and fakeroot are lost. This leads to the function
changing in behaviour depending upon it's caller context. This isn't intended
so add mapping for the cleandirs and fakeroot flags too.

This does break devtool in OE-Core and there is a separate fix for that.

[YOCTO #8621]

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
 lib/bb/parse/ast.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch

diff --git a/lib/bb/parse/ast.py b/lib/bb/parse/ast.py
index 4b1b44ce19..9e0a0f5c98 100644
--- a/lib/bb/parse/ast.py
+++ b/lib/bb/parse/ast.py
@@ -223,7 +223,7 @@  class ExportFuncsNode(AstNode):
             for flag in [ "func", "python" ]:
                 if data.getVarFlag(calledfunc, flag, False):
                     data.setVarFlag(func, flag, data.getVarFlag(calledfunc, flag, False))
-            for flag in [ "dirs" ]:
+            for flag in ["dirs", "cleandirs", "fakeroot"]:
                 if data.getVarFlag(func, flag, False):
                     data.setVarFlag(calledfunc, flag, data.getVarFlag(func, flag, False))
             data.setVarFlag(func, "filename", "autogenerated")