diff options
author | Alexandru DAMIAN <alexandru.damian@intel.com> | 2013-11-14 13:56:30 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2013-11-15 11:48:53 +0000 |
commit | 9fdd8adc17dc732d3983afcaa30b63d69f483dad (patch) | |
tree | 9ce36e083236327ed1f15a52920cd2950de4dc3f /bitbake/lib/bb/cooker.py | |
parent | 51084379d43a6b6bbf828d2adaaccf803e9da081 (diff) | |
download | openembedded-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.py | 15 |
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: |