* [PATCH 0/5] bug fixes for Toaster
@ 2013-11-14 10:52 Alex DAMIAN
2013-11-14 10:52 ` [PATCH 1/5] cooker, toaster: variable definition tracking Alex DAMIAN
` (4 more replies)
0 siblings, 5 replies; 9+ messages in thread
From: Alex DAMIAN @ 2013-11-14 10:52 UTC (permalink / raw)
To: bitbake-devel; +Cc: Alexandru DAMIAN
From: Alexandru DAMIAN <alexandru.damian@intel.com>
Hello,
This patchset contains a number of bugfixes for Toaster.
This should be merged on both origin/master and origin/dora-toaster of OE-Core.
Cheers,
Alex
Alexandru DAMIAN (5):
cooker, toaster: variable definition tracking
toaster: fix tasks showing as NoExec
toaster: remove author field
toaster: fix path to buildstats file
toasterui: mark failed sceneQueue tasks as failed
lib/bb/cooker.py | 15 +++++++++++---
lib/bb/cookerdata.py | 1 +
lib/bb/ui/buildinfohelper.py | 23 +++++++++++++++-------
lib/bb/ui/toasterui.py | 2 +-
lib/toaster/bldviewer/templates/configuration.html | 6 ++++--
lib/toaster/bldviewer/templates/recipe.html | 1 -
lib/toaster/orm/models.py | 17 ++++++++++------
7 files changed, 45 insertions(+), 20 deletions(-)
--
1.8.3.2
^ permalink raw reply [flat|nested] 9+ messages in thread* [PATCH 1/5] cooker, toaster: variable definition tracking 2013-11-14 10:52 [PATCH 0/5] bug fixes for Toaster Alex DAMIAN @ 2013-11-14 10:52 ` Alex DAMIAN 2013-11-14 13:56 ` [PATCH v2] " Alex DAMIAN 2013-11-14 10:52 ` [PATCH 2/5] toaster: fix tasks showing as NoExec Alex DAMIAN ` (3 subsequent siblings) 4 siblings, 1 reply; 9+ messages in thread From: Alex DAMIAN @ 2013-11-14 10:52 UTC (permalink / raw) To: bitbake-devel; +Cc: Alexandru DAMIAN From: Alexandru DAMIAN <alexandru.damian@intel.com> 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 VARIABLE_TRACKING. When a UI requests VARIABLE_TRACKING, the 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] Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> --- lib/bb/cooker.py | 15 ++++++++++++--- lib/bb/cookerdata.py | 1 + lib/bb/ui/buildinfohelper.py | 14 ++++++++++---- lib/bb/ui/toasterui.py | 2 +- lib/toaster/bldviewer/templates/configuration.html | 6 ++++-- lib/toaster/orm/models.py | 6 +++++- 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 0580cd5..4c9067b 100644 --- a/lib/bb/cooker.py +++ b/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: diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index e640ed0..1cc7bc2 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -127,6 +127,7 @@ class CookerConfiguration(object): self.dump_signatures = False self.dry_run = False self.tracking = False + self.server_only = False self.env = {} diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index 2b0298e..863a20e 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/lib/bb/ui/buildinfohelper.py @@ -27,8 +27,10 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "toaster.toastermain.settings") import toaster.toastermain.settings as toaster_django_settings from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage -from toaster.orm.models import Target_Package, Build_Package, Variable, Build_File -from toaster.orm.models import Task_Dependency, Build_Package_Dependency, Target_Package_Dependency, Recipe_Dependency +from toaster.orm.models import Variable, VariableHistory +from toaster.orm.models import Target_Package, Build_Package, Build_File +from toaster.orm.models import Task_Dependency, Build_Package_Dependency +from toaster.orm.models import Target_Package_Dependency, Recipe_Dependency from bb.msg import BBLogFormatter as format class ORMWrapper(object): @@ -232,11 +234,15 @@ class ORMWrapper(object): desc = vardump[root_var]['doc'] if desc is None: desc = '' - Variable.objects.create( build = build_obj, + variable_obj = Variable.objects.create( build = build_obj, variable_name = k, variable_value = value, description = desc) - + for vh in vardump[k]['history']: + VariableHistory.objects.create( variable = variable_obj, + file_name = vh['file'], + line_number = vh['line'], + operation = vh['op']) class BuildInfoHelper(object): """ This class gathers the build information from the server and sends it diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 6c5b152..d2dba25 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -41,7 +41,7 @@ import sys import time import xmlrpclib -featureSet = [bb.cooker.CookerFeatures.HOB_EXTRA_CACHES, bb.cooker.CookerFeatures.SEND_DEPENDS_TREE] +featureSet = [bb.cooker.CookerFeatures.HOB_EXTRA_CACHES, bb.cooker.CookerFeatures.SEND_DEPENDS_TREE, bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] logger = logging.getLogger("BitBake") interactive = sys.stdout.isatty() diff --git a/lib/toaster/bldviewer/templates/configuration.html b/lib/toaster/bldviewer/templates/configuration.html index 052c37c..8db35e0 100644 --- a/lib/toaster/bldviewer/templates/configuration.html +++ b/lib/toaster/bldviewer/templates/configuration.html @@ -5,16 +5,18 @@ <tr> <th>Name</th> - <th>Value</th> <th>Description</th> + <th>Definition history</th> + <th>Value</th> </tr> {% for variable in configuration %} <tr class="data"> <td>{{variable.variable_name}}</td> - <td>{{variable.variable_value}}</td> <td>{% if variable.description %}{{variable.description}}{% endif %}</td> + <td>{% for vh in variable.variablehistory_set.all %}{{vh.operation}} in {{vh.file_name}}:{{vh.line_number}}<br/>{%endfor%}</td> + <td>{{variable.variable_value}}</td> {% endfor %} {% endblock %} diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index 53b9e3a..2ae0b51 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -238,11 +238,15 @@ class Variable(models.Model): build = models.ForeignKey(Build, related_name='variable_build') variable_name = models.CharField(max_length=100) variable_value = models.TextField(blank=True) - file = models.FilePathField(max_length=255) changed = models.BooleanField(default=False) human_readable_name = models.CharField(max_length=200) description = models.TextField(blank=True) +class VariableHistory(models.Model): + variable = models.ForeignKey(Variable) + file_name = models.FilePathField(max_length=255) + line_number = models.IntegerField(null=True) + operation = models.CharField(max_length=16) class LogMessage(models.Model): INFO = 0 -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v2] cooker, toaster: variable definition tracking 2013-11-14 10:52 ` [PATCH 1/5] cooker, toaster: variable definition tracking Alex DAMIAN @ 2013-11-14 13:56 ` Alex DAMIAN 2013-11-15 11:28 ` Richard Purdie 0 siblings, 1 reply; 9+ messages in thread From: Alex DAMIAN @ 2013-11-14 13:56 UTC (permalink / raw) To: bitbake-devel; +Cc: Alexandru DAMIAN From: Alexandru DAMIAN <alexandru.damian@intel.com> 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] Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> --- lib/bb/cooker.py | 15 ++++++++++++--- lib/bb/cookerdata.py | 1 + lib/bb/ui/buildinfohelper.py | 14 ++++++++++---- lib/bb/ui/toasterui.py | 2 +- lib/toaster/bldviewer/templates/configuration.html | 6 ++++-- lib/toaster/orm/models.py | 6 +++++- 6 files changed, 33 insertions(+), 11 deletions(-) diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py index 0580cd5..4c9067b 100644 --- a/lib/bb/cooker.py +++ b/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: diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py index e640ed0..1cc7bc2 100644 --- a/lib/bb/cookerdata.py +++ b/lib/bb/cookerdata.py @@ -127,6 +127,7 @@ class CookerConfiguration(object): self.dump_signatures = False self.dry_run = False self.tracking = False + self.server_only = False self.env = {} diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index 2b0298e..863a20e 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/lib/bb/ui/buildinfohelper.py @@ -27,8 +27,10 @@ os.environ.setdefault("DJANGO_SETTINGS_MODULE", "toaster.toastermain.settings") import toaster.toastermain.settings as toaster_django_settings from toaster.orm.models import Build, Task, Recipe, Layer_Version, Layer, Target, LogMessage -from toaster.orm.models import Target_Package, Build_Package, Variable, Build_File -from toaster.orm.models import Task_Dependency, Build_Package_Dependency, Target_Package_Dependency, Recipe_Dependency +from toaster.orm.models import Variable, VariableHistory +from toaster.orm.models import Target_Package, Build_Package, Build_File +from toaster.orm.models import Task_Dependency, Build_Package_Dependency +from toaster.orm.models import Target_Package_Dependency, Recipe_Dependency from bb.msg import BBLogFormatter as format class ORMWrapper(object): @@ -232,11 +234,15 @@ class ORMWrapper(object): desc = vardump[root_var]['doc'] if desc is None: desc = '' - Variable.objects.create( build = build_obj, + variable_obj = Variable.objects.create( build = build_obj, variable_name = k, variable_value = value, description = desc) - + for vh in vardump[k]['history']: + VariableHistory.objects.create( variable = variable_obj, + file_name = vh['file'], + line_number = vh['line'], + operation = vh['op']) class BuildInfoHelper(object): """ This class gathers the build information from the server and sends it diff --git a/lib/bb/ui/toasterui.py b/lib/bb/ui/toasterui.py index 6c5b152..d2dba25 100644 --- a/lib/bb/ui/toasterui.py +++ b/lib/bb/ui/toasterui.py @@ -41,7 +41,7 @@ import sys import time import xmlrpclib -featureSet = [bb.cooker.CookerFeatures.HOB_EXTRA_CACHES, bb.cooker.CookerFeatures.SEND_DEPENDS_TREE] +featureSet = [bb.cooker.CookerFeatures.HOB_EXTRA_CACHES, bb.cooker.CookerFeatures.SEND_DEPENDS_TREE, bb.cooker.CookerFeatures.BASEDATASTORE_TRACKING] logger = logging.getLogger("BitBake") interactive = sys.stdout.isatty() diff --git a/lib/toaster/bldviewer/templates/configuration.html b/lib/toaster/bldviewer/templates/configuration.html index 052c37c..8db35e0 100644 --- a/lib/toaster/bldviewer/templates/configuration.html +++ b/lib/toaster/bldviewer/templates/configuration.html @@ -5,16 +5,18 @@ <tr> <th>Name</th> - <th>Value</th> <th>Description</th> + <th>Definition history</th> + <th>Value</th> </tr> {% for variable in configuration %} <tr class="data"> <td>{{variable.variable_name}}</td> - <td>{{variable.variable_value}}</td> <td>{% if variable.description %}{{variable.description}}{% endif %}</td> + <td>{% for vh in variable.variablehistory_set.all %}{{vh.operation}} in {{vh.file_name}}:{{vh.line_number}}<br/>{%endfor%}</td> + <td>{{variable.variable_value}}</td> {% endfor %} {% endblock %} diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index 53b9e3a..2ae0b51 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -238,11 +238,15 @@ class Variable(models.Model): build = models.ForeignKey(Build, related_name='variable_build') variable_name = models.CharField(max_length=100) variable_value = models.TextField(blank=True) - file = models.FilePathField(max_length=255) changed = models.BooleanField(default=False) human_readable_name = models.CharField(max_length=200) description = models.TextField(blank=True) +class VariableHistory(models.Model): + variable = models.ForeignKey(Variable) + file_name = models.FilePathField(max_length=255) + line_number = models.IntegerField(null=True) + operation = models.CharField(max_length=16) class LogMessage(models.Model): INFO = 0 -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH v2] cooker, toaster: variable definition tracking 2013-11-14 13:56 ` [PATCH v2] " Alex DAMIAN @ 2013-11-15 11:28 ` Richard Purdie 2013-11-15 11:35 ` Damian, Alexandru 0 siblings, 1 reply; 9+ messages in thread From: Richard Purdie @ 2013-11-15 11:28 UTC (permalink / raw) To: Alex DAMIAN; +Cc: bitbake-devel On Thu, 2013-11-14 at 13:56 +0000, Alex DAMIAN wrote: > From: Alexandru DAMIAN <alexandru.damian@intel.com> > > 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] > > Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> > --- > lib/bb/cooker.py | 15 ++++++++++++--- > lib/bb/cookerdata.py | 1 + > lib/bb/ui/buildinfohelper.py | 14 ++++++++++---- > lib/bb/ui/toasterui.py | 2 +- > lib/toaster/bldviewer/templates/configuration.html | 6 ++++-- > lib/toaster/orm/models.py | 6 +++++- > 6 files changed, 33 insertions(+), 11 deletions(-) > > diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py > index 0580cd5..4c9067b 100644 > --- a/lib/bb/cooker.py > +++ b/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: > diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py > index e640ed0..1cc7bc2 100644 > --- a/lib/bb/cookerdata.py > +++ b/lib/bb/cookerdata.py > @@ -127,6 +127,7 @@ class CookerConfiguration(object): > self.dump_signatures = False > self.dry_run = False > self.tracking = False > + self.server_only = False > > self.env = {} > Patch looks ok in general but I think the above is leftover and unneeded? Cheers, Richard ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v2] cooker, toaster: variable definition tracking 2013-11-15 11:28 ` Richard Purdie @ 2013-11-15 11:35 ` Damian, Alexandru 0 siblings, 0 replies; 9+ messages in thread From: Damian, Alexandru @ 2013-11-15 11:35 UTC (permalink / raw) To: Richard Purdie; +Cc: bitbake-devel [-- Attachment #1: Type: text/plain, Size: 4422 bytes --] Not sure about what leftover you're referring to... the commit message is not right ? Alex On Fri, Nov 15, 2013 at 11:28 AM, Richard Purdie < richard.purdie@linuxfoundation.org> wrote: > On Thu, 2013-11-14 at 13:56 +0000, Alex DAMIAN wrote: > > From: Alexandru DAMIAN <alexandru.damian@intel.com> > > > > 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] > > > > Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> > > --- > > lib/bb/cooker.py | 15 ++++++++++++--- > > lib/bb/cookerdata.py | 1 + > > lib/bb/ui/buildinfohelper.py | 14 ++++++++++---- > > lib/bb/ui/toasterui.py | 2 +- > > lib/toaster/bldviewer/templates/configuration.html | 6 ++++-- > > lib/toaster/orm/models.py | 6 +++++- > > 6 files changed, 33 insertions(+), 11 deletions(-) > > > > diff --git a/lib/bb/cooker.py b/lib/bb/cooker.py > > index 0580cd5..4c9067b 100644 > > --- a/lib/bb/cooker.py > > +++ b/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: > > diff --git a/lib/bb/cookerdata.py b/lib/bb/cookerdata.py > > index e640ed0..1cc7bc2 100644 > > --- a/lib/bb/cookerdata.py > > +++ b/lib/bb/cookerdata.py > > @@ -127,6 +127,7 @@ class CookerConfiguration(object): > > self.dump_signatures = False > > self.dry_run = False > > self.tracking = False > > + self.server_only = False > > > > self.env = {} > > > > Patch looks ok in general but I think the above is leftover and > unneeded? > > Cheers, > > Richard > > -- Alex Damian Yocto Project SSG / OTC [-- Attachment #2: Type: text/html, Size: 5855 bytes --] ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/5] toaster: fix tasks showing as NoExec 2013-11-14 10:52 [PATCH 0/5] bug fixes for Toaster Alex DAMIAN 2013-11-14 10:52 ` [PATCH 1/5] cooker, toaster: variable definition tracking Alex DAMIAN @ 2013-11-14 10:52 ` Alex DAMIAN 2013-11-14 10:52 ` [PATCH 3/5] toaster: remove author field Alex DAMIAN ` (2 subsequent siblings) 4 siblings, 0 replies; 9+ messages in thread From: Alex DAMIAN @ 2013-11-14 10:52 UTC (permalink / raw) To: bitbake-devel; +Cc: Alexandru DAMIAN From: Alexandru DAMIAN <alexandru.damian@intel.com> Tasks without script type information showed by default as NoExec; this happens for all Prebuild or Covered tasks, as script type information comes only on TaskStarted event. Such a default value may drive confusion, as NoExec value should be reserved for the NoExec-flagged tasks. This patch adds a new default value named Unknown that will be used for all tasks that don't have script type information available. [YOCTO #5327] Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> --- lib/toaster/orm/models.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index 2ae0b51..a3df990 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -74,11 +74,13 @@ class Task(models.Model): (SSTATE_RESTORED, 'Restored'), # succesfully restored ) - CODING_NOEXEC = 0 - CODING_PYTHON = 1 - CODING_SHELL = 2 + CODING_NA = 0 + CODING_NOEXEC = 1 + CODING_PYTHON = 2 + CODING_SHELL = 3 TASK_CODING = ( + (CODING_NA, 'N/A'), (CODING_NOEXEC, 'NoExec'), (CODING_PYTHON, 'Python'), (CODING_SHELL, 'Shell'), @@ -110,7 +112,7 @@ class Task(models.Model): task_name = models.CharField(max_length=100) source_url = models.FilePathField(max_length=255, blank=True) work_directory = models.FilePathField(max_length=255, blank=True) - script_type = models.IntegerField(choices=TASK_CODING, default=CODING_NOEXEC) + script_type = models.IntegerField(choices=TASK_CODING, default=CODING_NA) line_number = models.IntegerField(default=0) disk_io = models.IntegerField(null=True) cpu_usage = models.DecimalField(max_digits=6, decimal_places=2, null=True) -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 3/5] toaster: remove author field 2013-11-14 10:52 [PATCH 0/5] bug fixes for Toaster Alex DAMIAN 2013-11-14 10:52 ` [PATCH 1/5] cooker, toaster: variable definition tracking Alex DAMIAN 2013-11-14 10:52 ` [PATCH 2/5] toaster: fix tasks showing as NoExec Alex DAMIAN @ 2013-11-14 10:52 ` Alex DAMIAN 2013-11-14 10:53 ` [PATCH 4/5] toaster: fix path to buildstats file Alex DAMIAN 2013-11-14 10:53 ` [PATCH 5/5] toasterui: mark failed sceneQueue tasks as failed Alex DAMIAN 4 siblings, 0 replies; 9+ messages in thread From: Alex DAMIAN @ 2013-11-14 10:52 UTC (permalink / raw) To: bitbake-devel; +Cc: Alexandru DAMIAN From: Alexandru DAMIAN <alexandru.damian@intel.com> The AUTHOR field in most recipes is not defined, or it's not really consistently set in the metadata, Also does it seem particularly useful. This patch removes the AUTHOR variable from the toaster system [YOCTO #5449] Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> --- lib/bb/ui/buildinfohelper.py | 1 - lib/toaster/bldviewer/templates/recipe.html | 1 - lib/toaster/orm/models.py | 1 - 3 files changed, 3 deletions(-) diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index 863a20e..c1ffa26 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/lib/bb/ui/buildinfohelper.py @@ -624,7 +624,6 @@ class BuildInfoHelper(object): recipe_info['licensing_info'] = 'Not Available' recipe_info['homepage'] = event._depgraph['pn'][pn]['homepage'] recipe_info['bugtracker'] = event._depgraph['pn'][pn]['bugtracker'] - recipe_info['author'] = 'Not Available' recipe_info['file_path'] = file_name recipe = self.orm_wrapper.get_update_recipe_object(recipe_info) if 'inherits' in event._depgraph['pn'][pn].keys(): diff --git a/lib/toaster/bldviewer/templates/recipe.html b/lib/toaster/bldviewer/templates/recipe.html index a624370..e9a1c10 100644 --- a/lib/toaster/bldviewer/templates/recipe.html +++ b/lib/toaster/bldviewer/templates/recipe.html @@ -38,7 +38,6 @@ <td>{{recipe.licensing_info}}</td> <td>{{recipe.homepage}}</td> <td>{{recipe.bugtracker}}</td> - <td>{{recipe.author}}</td> <td>{{recipe.file_path}}</td> <td> <div style="height: 5em; overflow:auto"> diff --git a/lib/toaster/orm/models.py b/lib/toaster/orm/models.py index a3df990..cac8367 100644 --- a/lib/toaster/orm/models.py +++ b/lib/toaster/orm/models.py @@ -207,7 +207,6 @@ class Recipe(models.Model): licensing_info = models.TextField(blank=True) homepage = models.URLField(blank=True) bugtracker = models.URLField(blank=True) - author = models.CharField(max_length=100, blank=True) file_path = models.FilePathField(max_length=255) -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 4/5] toaster: fix path to buildstats file 2013-11-14 10:52 [PATCH 0/5] bug fixes for Toaster Alex DAMIAN ` (2 preceding siblings ...) 2013-11-14 10:52 ` [PATCH 3/5] toaster: remove author field Alex DAMIAN @ 2013-11-14 10:53 ` Alex DAMIAN 2013-11-14 10:53 ` [PATCH 5/5] toasterui: mark failed sceneQueue tasks as failed Alex DAMIAN 4 siblings, 0 replies; 9+ messages in thread From: Alex DAMIAN @ 2013-11-14 10:53 UTC (permalink / raw) To: bitbake-devel; +Cc: Alexandru DAMIAN From: Alexandru DAMIAN <alexandru.damian@intel.com> The buildstats file path changes based on the optional PE variable that may be defined for a recipe. The toasterui simply ignored the PE value, and as such it didn't correctly reach buildstats files for some of the tasks. This patch fixes the issue. [YOCTO #5073] Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> --- lib/bb/ui/buildinfohelper.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index c1ffa26..92d6bbe 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/lib/bb/ui/buildinfohelper.py @@ -392,7 +392,11 @@ class BuildInfoHelper(object): target = t.target machine = self.internal_state['build'].machine buildname = self.internal_state['build'].build_name - package = task_object.recipe.name + "-" + task_object.recipe.version.strip(":") + pe, pv = task_object.recipe.version.split(":",1) + if len(pe) > 0: + package = task_object.recipe.name + "-" + pe + "_" + pv + else: + package = task_object.recipe.name + "-" + pv build_stats_path.append(build_stats_format.format(tmpdir=self.tmp_dir, target=target, machine=machine, buildname=buildname, -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH 5/5] toasterui: mark failed sceneQueue tasks as failed 2013-11-14 10:52 [PATCH 0/5] bug fixes for Toaster Alex DAMIAN ` (3 preceding siblings ...) 2013-11-14 10:53 ` [PATCH 4/5] toaster: fix path to buildstats file Alex DAMIAN @ 2013-11-14 10:53 ` Alex DAMIAN 4 siblings, 0 replies; 9+ messages in thread From: Alex DAMIAN @ 2013-11-14 10:53 UTC (permalink / raw) To: bitbake-devel; +Cc: Alexandru DAMIAN From: Alexandru DAMIAN <alexandru.damian@intel.com> This patch addresses an issue where a failed sceneQueue task entry was not updated on the Fail event. As a result, it always showed the task as not-available. [YOCTO #5216] Signed-off-by: Alexandru DAMIAN <alexandru.damian@intel.com> --- lib/bb/ui/buildinfohelper.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/bb/ui/buildinfohelper.py b/lib/bb/ui/buildinfohelper.py index 92d6bbe..38e89ec 100644 --- a/lib/bb/ui/buildinfohelper.py +++ b/lib/bb/ui/buildinfohelper.py @@ -537,7 +537,7 @@ class BuildInfoHelper(object): task_information['disk_io'] = task_build_stats['disk_io'] del self.internal_state[identifier] - if isinstance(event, bb.runqueue.runQueueTaskFailed): + if isinstance(event, (bb.runqueue.runQueueTaskFailed, bb.runCommand.sceneQueueTaskFailed)): task_information['outcome'] = Task.OUTCOME_FAILED del self.internal_state[identifier] -- 1.8.3.2 ^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-11-15 11:36 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-11-14 10:52 [PATCH 0/5] bug fixes for Toaster Alex DAMIAN 2013-11-14 10:52 ` [PATCH 1/5] cooker, toaster: variable definition tracking Alex DAMIAN 2013-11-14 13:56 ` [PATCH v2] " Alex DAMIAN 2013-11-15 11:28 ` Richard Purdie 2013-11-15 11:35 ` Damian, Alexandru 2013-11-14 10:52 ` [PATCH 2/5] toaster: fix tasks showing as NoExec Alex DAMIAN 2013-11-14 10:52 ` [PATCH 3/5] toaster: remove author field Alex DAMIAN 2013-11-14 10:53 ` [PATCH 4/5] toaster: fix path to buildstats file Alex DAMIAN 2013-11-14 10:53 ` [PATCH 5/5] toasterui: mark failed sceneQueue tasks as failed Alex DAMIAN
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.