]> code.ossystems Code Review - openembedded-core.git/commitdiff
bitbake: add optional expansion to getVarFlag()
authorPaul Eggleton <paul.eggleton@linux.intel.com>
Fri, 10 Dec 2010 15:30:30 +0000 (15:30 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Tue, 14 Dec 2010 22:36:19 +0000 (22:36 +0000)
Add a parameter to getVarFlag() to auto-expand the value of the flag. This
makes getVarFlag() more consistent with getVar(), and allows expansion of
vardeps and vardepsexclude (which has been done in this commit).

Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
bitbake/lib/bb/data.py
bitbake/lib/bb/data_smart.py

index 0c95ebb31b5bf1968be4c5656cce6d61b38414dc..0aa8b404cbfede71e5e219a5cdb75c4ee273d7b0 100644 (file)
@@ -296,8 +296,8 @@ def build_dependencies(key, keys, shelldeps, d):
             parser = d.expandWithRefs(d.getVar(key, False), key)
             deps |= parser.references
             deps = deps | (keys & parser.execs)
-        deps |= set((d.getVarFlag(key, "vardeps") or "").split())
-        deps -= set((d.getVarFlag(key, "vardepsexclude") or "").split())
+        deps |= set((d.getVarFlag(key, "vardeps", True) or "").split())
+        deps -= set((d.getVarFlag(key, "vardepsexclude", True) or "").split())
     except:
         bb.note("Error expanding variable %s" % key) 
         raise
index c8cd8f8739297458d34821b5eb546e9c83368521..30f9cbc2d4453dbdf3f7b3a77b775892d46d589d 100644 (file)
@@ -277,12 +277,15 @@ class DataSmart:
             self._makeShadowCopy(var)
         self.dict[var][flag] = flagvalue
 
-    def getVarFlag(self, var, flag):
+    def getVarFlag(self, var, flag, exp = False):
         local_var = self._findVar(var)
+        value = None
         if local_var:
             if flag in local_var:
-                return copy.copy(local_var[flag])
-        return None
+                value = copy.copy(local_var[flag])
+        if exp and value:
+            value = self.expand(value, None)
+        return value
 
     def delVarFlag(self, var, flag):
         local_var = self._findVar(var)