aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/cooker.py
diff options
context:
space:
mode:
authorAlexandru DAMIAN <alexandru.damian@intel.com>2013-11-14 13:56:30 +0000
committerRichard Purdie <richard.purdie@linuxfoundation.org>2013-11-15 11:48:53 +0000
commit9fdd8adc17dc732d3983afcaa30b63d69f483dad (patch)
tree9ce36e083236327ed1f15a52920cd2950de4dc3f /bitbake/lib/bb/cooker.py
parent51084379d43a6b6bbf828d2adaaccf803e9da081 (diff)
downloadopenembedded-core-contrib-9fdd8adc17dc732d3983afcaa30b63d69f483dad.tar.gz
bitbake: cooker, toaster: variable definition tracking
In order to track the file where a configuration variable was defined, this patch bring these changes: * a new feature is defined in CookerFeatures, named BASEDATASTORE_TRACKING. When a UI requests BASEDATASTORE_TRACKING, the base variable definition are tracked when configuration is parsed. * getAllKeysWithFlags now includes variable history in the data dump * toaster_ui.py will record the operation, file path and line number where the variable was changes * toaster Simple UI will display the file path and line number for Configuration page There is a change in the models to accomodate the recording of variable change history. [YOCTO #5227] (Bitbake rev: 78e58fed82f2a71f052485de0052d7b9cca53ffd) Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/cooker.py')
-rw-r--r--bitbake/lib/bb/cooker.py15
1 files changed, 12 insertions, 3 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py
index 267d19e3e2..524ba1182c 100644
--- a/bitbake/lib/bb/cooker.py
+++ b/bitbake/lib/bb/cooker.py
@@ -81,7 +81,7 @@ class SkippedPackage:
class CookerFeatures(object):
- _feature_list = [HOB_EXTRA_CACHES, SEND_DEPENDS_TREE] = range(2)
+ _feature_list = [HOB_EXTRA_CACHES, SEND_DEPENDS_TREE, BASEDATASTORE_TRACKING] = range(3)
def __init__(self):
self._features=set()
@@ -177,6 +177,9 @@ class BBCooker:
self.data.disableTracking()
def loadConfigurationData(self):
+ if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
+ self.enableDataTracking()
+
self.initConfigurationData()
self.databuilder.parseBaseConfiguration()
self.data = self.databuilder.data
@@ -189,6 +192,10 @@ class BBCooker:
bb.data.update_data(self.event_data)
bb.parse.init_parser(self.event_data)
+ if CookerFeatures.BASEDATASTORE_TRACKING in self.featureset:
+ self.disableDataTracking()
+
+
def modifyConfigurationVar(self, var, val, default_file, op):
if op == "append":
self.appendConfigurationVar(var, val, default_file)
@@ -320,7 +327,6 @@ class BBCooker:
open(confpath, 'w').close()
def parseConfiguration(self):
-
# Set log file verbosity
verboselogs = bb.utils.to_boolean(self.data.getVar("BB_VERBOSE_LOGS", "0"))
if verboselogs:
@@ -1175,7 +1181,10 @@ class BBCooker:
try:
v = self.data.getVar(k, True)
if not k.startswith("__") and not isinstance(v, bb.data_smart.DataSmart):
- dump[k] = { 'v' : v }
+ dump[k] = {
+ 'v' : v ,
+ 'history' : self.data.varhistory.variable(k),
+ }
for d in flaglist:
dump[k][d] = self.data.getVarFlag(k, d)
except Exception as e: