mirror of
https://git.yoctoproject.org/poky
synced 2026-05-31 12:49:46 +00:00
bitbake: data_smart: Fix cache clearance problems
These write operations should clear the expand cache since they can influence returned variable values but currently do not. Fix this. (Bitbake rev: a075332c9e13be35f1ae84adc6b29e9137a487ff) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
@@ -536,6 +536,7 @@ class DataSmart(MutableMapping):
|
|||||||
self._seen_overrides[override].remove(var)
|
self._seen_overrides[override].remove(var)
|
||||||
|
|
||||||
def setVarFlag(self, var, flag, value, **loginfo):
|
def setVarFlag(self, var, flag, value, **loginfo):
|
||||||
|
self.expand_cache = {}
|
||||||
if 'op' not in loginfo:
|
if 'op' not in loginfo:
|
||||||
loginfo['op'] = "set"
|
loginfo['op'] = "set"
|
||||||
loginfo['flag'] = flag
|
loginfo['flag'] = flag
|
||||||
@@ -624,6 +625,7 @@ class DataSmart(MutableMapping):
|
|||||||
return value
|
return value
|
||||||
|
|
||||||
def delVarFlag(self, var, flag, **loginfo):
|
def delVarFlag(self, var, flag, **loginfo):
|
||||||
|
self.expand_cache = {}
|
||||||
local_var = self._findVar(var)
|
local_var = self._findVar(var)
|
||||||
if not local_var:
|
if not local_var:
|
||||||
return
|
return
|
||||||
@@ -653,6 +655,7 @@ class DataSmart(MutableMapping):
|
|||||||
self.setVarFlag(var, flag, newvalue, ignore=True)
|
self.setVarFlag(var, flag, newvalue, ignore=True)
|
||||||
|
|
||||||
def setVarFlags(self, var, flags, **loginfo):
|
def setVarFlags(self, var, flags, **loginfo):
|
||||||
|
self.expand_cache = {}
|
||||||
infer_caller_details(loginfo)
|
infer_caller_details(loginfo)
|
||||||
if not var in self.dict:
|
if not var in self.dict:
|
||||||
self._makeShadowCopy(var)
|
self._makeShadowCopy(var)
|
||||||
@@ -682,6 +685,7 @@ class DataSmart(MutableMapping):
|
|||||||
|
|
||||||
|
|
||||||
def delVarFlags(self, var, **loginfo):
|
def delVarFlags(self, var, **loginfo):
|
||||||
|
self.expand_cache = {}
|
||||||
if not var in self.dict:
|
if not var in self.dict:
|
||||||
self._makeShadowCopy(var)
|
self._makeShadowCopy(var)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user