summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/data_smart.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/data_smart.py')
-rw-r--r--bitbake/lib/bb/data_smart.py16
1 files changed, 14 insertions, 2 deletions
diff --git a/bitbake/lib/bb/data_smart.py b/bitbake/lib/bb/data_smart.py
index c559102cf5..b4ed62a4e5 100644
--- a/bitbake/lib/bb/data_smart.py
+++ b/bitbake/lib/bb/data_smart.py
@@ -28,7 +28,7 @@ logger = logging.getLogger("BitBake.Data")
28 28
29__setvar_keyword__ = ["_append", "_prepend", "_remove"] 29__setvar_keyword__ = ["_append", "_prepend", "_remove"]
30__setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$') 30__setvar_regexp__ = re.compile(r'(?P<base>.*?)(?P<keyword>_append|_prepend|_remove)(_(?P<add>[^A-Z]*))?$')
31__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~]+?}") 31__expand_var_regexp__ = re.compile(r"\${[a-zA-Z0-9\-_+./~:]+?}")
32__expand_python_regexp__ = re.compile(r"\${@.+?}") 32__expand_python_regexp__ = re.compile(r"\${@.+?}")
33__whitespace_split__ = re.compile(r'(\s)') 33__whitespace_split__ = re.compile(r'(\s)')
34__override_regexp__ = re.compile(r'[a-z0-9]+') 34__override_regexp__ = re.compile(r'[a-z0-9]+')
@@ -481,6 +481,7 @@ class DataSmart(MutableMapping):
481 481
482 def setVar(self, var, value, **loginfo): 482 def setVar(self, var, value, **loginfo):
483 #print("var=" + str(var) + " val=" + str(value)) 483 #print("var=" + str(var) + " val=" + str(value))
484 var = var.replace(":", "_")
484 self.expand_cache = {} 485 self.expand_cache = {}
485 parsing=False 486 parsing=False
486 if 'parsing' in loginfo: 487 if 'parsing' in loginfo:
@@ -589,6 +590,8 @@ class DataSmart(MutableMapping):
589 """ 590 """
590 Rename the variable key to newkey 591 Rename the variable key to newkey
591 """ 592 """
593 key = key.replace(":", "_")
594 newkey = newkey.replace(":", "_")
592 if key == newkey: 595 if key == newkey:
593 bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key) 596 bb.warn("Calling renameVar with equivalent keys (%s) is invalid" % key)
594 return 597 return
@@ -637,6 +640,7 @@ class DataSmart(MutableMapping):
637 self.setVar(var + "_prepend", value, ignore=True, parsing=True) 640 self.setVar(var + "_prepend", value, ignore=True, parsing=True)
638 641
639 def delVar(self, var, **loginfo): 642 def delVar(self, var, **loginfo):
643 var = var.replace(":", "_")
640 self.expand_cache = {} 644 self.expand_cache = {}
641 645
642 loginfo['detail'] = "" 646 loginfo['detail'] = ""
@@ -664,6 +668,7 @@ class DataSmart(MutableMapping):
664 override = None 668 override = None
665 669
666 def setVarFlag(self, var, flag, value, **loginfo): 670 def setVarFlag(self, var, flag, value, **loginfo):
671 var = var.replace(":", "_")
667 self.expand_cache = {} 672 self.expand_cache = {}
668 673
669 if 'op' not in loginfo: 674 if 'op' not in loginfo:
@@ -687,6 +692,7 @@ class DataSmart(MutableMapping):
687 self.dict["__exportlist"]["_content"].add(var) 692 self.dict["__exportlist"]["_content"].add(var)
688 693
689 def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False, retparser=False): 694 def getVarFlag(self, var, flag, expand=True, noweakdefault=False, parsing=False, retparser=False):
695 var = var.replace(":", "_")
690 if flag == "_content": 696 if flag == "_content":
691 cachename = var 697 cachename = var
692 else: 698 else:
@@ -814,6 +820,7 @@ class DataSmart(MutableMapping):
814 return value 820 return value
815 821
816 def delVarFlag(self, var, flag, **loginfo): 822 def delVarFlag(self, var, flag, **loginfo):
823 var = var.replace(":", "_")
817 self.expand_cache = {} 824 self.expand_cache = {}
818 825
819 local_var, _ = self._findVar(var) 826 local_var, _ = self._findVar(var)
@@ -831,6 +838,7 @@ class DataSmart(MutableMapping):
831 del self.dict[var][flag] 838 del self.dict[var][flag]
832 839
833 def appendVarFlag(self, var, flag, value, **loginfo): 840 def appendVarFlag(self, var, flag, value, **loginfo):
841 var = var.replace(":", "_")
834 loginfo['op'] = 'append' 842 loginfo['op'] = 'append'
835 loginfo['flag'] = flag 843 loginfo['flag'] = flag
836 self.varhistory.record(**loginfo) 844 self.varhistory.record(**loginfo)
@@ -838,6 +846,7 @@ class DataSmart(MutableMapping):
838 self.setVarFlag(var, flag, newvalue, ignore=True) 846 self.setVarFlag(var, flag, newvalue, ignore=True)
839 847
840 def prependVarFlag(self, var, flag, value, **loginfo): 848 def prependVarFlag(self, var, flag, value, **loginfo):
849 var = var.replace(":", "_")
841 loginfo['op'] = 'prepend' 850 loginfo['op'] = 'prepend'
842 loginfo['flag'] = flag 851 loginfo['flag'] = flag
843 self.varhistory.record(**loginfo) 852 self.varhistory.record(**loginfo)
@@ -845,6 +854,7 @@ class DataSmart(MutableMapping):
845 self.setVarFlag(var, flag, newvalue, ignore=True) 854 self.setVarFlag(var, flag, newvalue, ignore=True)
846 855
847 def setVarFlags(self, var, flags, **loginfo): 856 def setVarFlags(self, var, flags, **loginfo):
857 var = var.replace(":", "_")
848 self.expand_cache = {} 858 self.expand_cache = {}
849 infer_caller_details(loginfo) 859 infer_caller_details(loginfo)
850 if not var in self.dict: 860 if not var in self.dict:
@@ -859,6 +869,7 @@ class DataSmart(MutableMapping):
859 self.dict[var][i] = flags[i] 869 self.dict[var][i] = flags[i]
860 870
861 def getVarFlags(self, var, expand = False, internalflags=False): 871 def getVarFlags(self, var, expand = False, internalflags=False):
872 var = var.replace(":", "_")
862 local_var, _ = self._findVar(var) 873 local_var, _ = self._findVar(var)
863 flags = {} 874 flags = {}
864 875
@@ -875,6 +886,7 @@ class DataSmart(MutableMapping):
875 886
876 887
877 def delVarFlags(self, var, **loginfo): 888 def delVarFlags(self, var, **loginfo):
889 var = var.replace(":", "_")
878 self.expand_cache = {} 890 self.expand_cache = {}
879 if not var in self.dict: 891 if not var in self.dict:
880 self._makeShadowCopy(var) 892 self._makeShadowCopy(var)
@@ -1005,7 +1017,7 @@ class DataSmart(MutableMapping):
1005 else: 1017 else:
1006 data.update({key:value}) 1018 data.update({key:value})
1007 1019
1008 varflags = d.getVarFlags(key, internalflags = True) 1020 varflags = d.getVarFlags(key, internalflags = True, expand=["vardepvalue"])
1009 if not varflags: 1021 if not varflags:
1010 continue 1022 continue
1011 for f in varflags: 1023 for f in varflags: