[bitbake-devel] [PATCH] data_smart.py: Rename variable flags

Otavio Salvador otavio at ossystems.com.br
Wed Mar 20 17:59:56 UTC 2013


The variable expansion needs to handle variable flags as well
otherwise those do not behave as expected. One example of this is:

,----
| ALTERNATIVE_TARGET_${PN}-foo[name] = "value"
`----

Signed-off-by: Otavio Salvador <otavio at ossystems.com.br>
---
 bitbake/lib/bb/data_smart.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index 5bf11e5..2e43a8e 100644
--- a/lib/bb/data_smart.py
+++ b/lib/bb/data_smart.py
@@ -515,13 +515,17 @@ class DataSmart(MutableMapping):
             self.varhistory.record(**loginfo)
             self.setVar(newkey, val, ignore=True)
 
-        for i in ('_append', '_prepend'):
+        for i in (self.getVarFlags(key) or {}).keys():
             src = self.getVarFlag(key, i)
             if src is None:
                 continue
 
-            dest = self.getVarFlag(newkey, i) or []
-            dest.extend(src)
+            if i in ('_append', '_prepend'):
+                dest = self.getVarFlag(newkey, i) or []
+            else:
+                dest = self.getVarFlag(newkey, i) or ''
+            dest += src
+
             self.setVarFlag(newkey, i, dest, ignore=True)
 
             if i in self._special_values and key in self._special_values[i]:
-- 
1.8.1





More information about the bitbake-devel mailing list