[gnome-continuous-yocto/gnomeostree-3.28-rocko: 64/8267] bitbake: bb.{cooker, data}: only emit a var as python if 'func' is set



commit c6394a56f71028982006a821190c538c095a12f5
Author: Christopher Larson <chris_larson mentor com>
Date:   Sat Apr 30 13:10:34 2016 -0700

    bitbake: bb.{cooker, data}: only emit a var as python if 'func' is set
    
    This avoids a common issue where PACKAGECONFIG is emitted as a function in
    bitbake -e when the 'python' flag exists. It isn't a python function unless
    both 'func' and 'python' are set. This aligns with the behavior of
    emit_func_python.
    
    (Bitbake rev: c5e45063cb3ae17bbe3304ea5e712bd76e686c4a)
    
    Signed-off-by: Christopher Larson <chris_larson mentor com>
    Signed-off-by: Richard Purdie <richard purdie linuxfoundation org>

 bitbake/lib/bb/cooker.py |    2 +-
 bitbake/lib/bb/data.py   |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)
---
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 9b565fc..b2187d7 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -656,7 +656,7 @@ class BBCooker:
         # emit the metadata which isnt valid shell
         data.expandKeys(envdata)
         for e in envdata.keys():
-            if data.getVarFlag( e, 'python', envdata ):
+            if envdata.getVarFlag(e, 'func', False) and envdata.getVarFlag(e, 'python', False):
                 logger.plain("\npython %s () {\n%s}\n", e, envdata.getVar(e, False))
 
 
diff --git a/bitbake/lib/bb/data.py b/bitbake/lib/bb/data.py
index dbc6dea..b5dcdbd 100644
--- a/bitbake/lib/bb/data.py
+++ b/bitbake/lib/bb/data.py
@@ -182,12 +182,12 @@ def inheritFromOS(d, savedenv, permitted):
 
 def emit_var(var, o=sys.__stdout__, d = init(), all=False):
     """Emit a variable to be sourced by a shell."""
-    if d.getVarFlag(var, "python", False):
+    func = d.getVarFlag(var, "func", False)
+    if d.getVarFlag(var, 'python', False) and func:
         return False
 
     export = d.getVarFlag(var, "export", False)
     unexport = d.getVarFlag(var, "unexport", False)
-    func = d.getVarFlag(var, "func", False)
     if not all and not export and not unexport and not func:
         return False
 


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]