diff options
Diffstat (limited to 'bitbake/lib/bb/data_smart.py')
-rw-r--r-- | bitbake/lib/bb/data_smart.py | 16 |
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: |