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: |
