summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bitbake/lib/bb/build.py7
-rw-r--r--bitbake/lib/bb/ui/buildinfohelper.py7
-rw-r--r--bitbake/lib/toaster/orm/models.py8
3 files changed, 16 insertions, 6 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index 2e49a09365..f9aca42b37 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -91,6 +91,9 @@ class TaskBase(event.Event):
91 91
92class TaskStarted(TaskBase): 92class TaskStarted(TaskBase):
93 """Task execution started""" 93 """Task execution started"""
94 def __init__(self, t, logfile, taskflags, d):
95 super(TaskStarted, self).__init__(t, logfile, d)
96 self.taskflags = taskflags
94 97
95class TaskSucceeded(TaskBase): 98class TaskSucceeded(TaskBase):
96 """Task execution completed""" 99 """Task execution completed"""
@@ -422,7 +425,9 @@ def _exec_task(fn, task, d, quieterr):
422 localdata.setVar('BB_LOGFILE', logfn) 425 localdata.setVar('BB_LOGFILE', logfn)
423 localdata.setVar('BB_RUNTASK', task) 426 localdata.setVar('BB_RUNTASK', task)
424 427
425 event.fire(TaskStarted(task, logfn, localdata), localdata) 428 flags = localdata.getVarFlags(task)
429
430 event.fire(TaskStarted(task, logfn, flags, localdata), localdata)
426 try: 431 try:
427 for func in (prefuncs or '').split(): 432 for func in (prefuncs or '').split():
428 exec_func(func, localdata) 433 exec_func(func, localdata)
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py
index 5881d136c2..4996b4235d 100644
--- a/bitbake/lib/bb/ui/buildinfohelper.py
+++ b/bitbake/lib/bb/ui/buildinfohelper.py
@@ -483,6 +483,8 @@ class BuildInfoHelper(object):
483 task_information['outcome'] = Task.OUTCOME_EXISTING 483 task_information['outcome'] = Task.OUTCOME_EXISTING
484 else: 484 else:
485 task_information['task_executed'] = True 485 task_information['task_executed'] = True
486 if 'noexec' in vars(event) and event.noexec == True:
487 task_information['script_type'] = Task.CODING_NOEXEC
486 488
487 self.task_order += 1 489 self.task_order += 1
488 task_information['order'] = self.task_order 490 task_information['order'] = self.task_order
@@ -506,8 +508,9 @@ class BuildInfoHelper(object):
506 if '_message' in vars(event): 508 if '_message' in vars(event):
507 task_information['message'] = event._message 509 task_information['message'] = event._message
508 510
509 if 'ispython' in vars(event): 511 if 'taskflags' in vars(event):
510 if event.ispython: 512 # with TaskStarted, we get even more information
513 if 'python' in event.taskflags.keys() and event.taskflags['python'] == '1':
511 task_information['script_type'] = Task.CODING_PYTHON 514 task_information['script_type'] = Task.CODING_PYTHON
512 else: 515 else:
513 task_information['script_type'] = Task.CODING_SHELL 516 task_information['script_type'] = Task.CODING_SHELL
diff --git a/bitbake/lib/toaster/orm/models.py b/bitbake/lib/toaster/orm/models.py
index cb6581c9e1..53b9e3a024 100644
--- a/bitbake/lib/toaster/orm/models.py
+++ b/bitbake/lib/toaster/orm/models.py
@@ -74,10 +74,12 @@ class Task(models.Model):
74 (SSTATE_RESTORED, 'Restored'), # succesfully restored 74 (SSTATE_RESTORED, 'Restored'), # succesfully restored
75 ) 75 )
76 76
77 CODING_PYTHON = 0 77 CODING_NOEXEC = 0
78 CODING_SHELL = 1 78 CODING_PYTHON = 1
79 CODING_SHELL = 2
79 80
80 TASK_CODING = ( 81 TASK_CODING = (
82 (CODING_NOEXEC, 'NoExec'),
81 (CODING_PYTHON, 'Python'), 83 (CODING_PYTHON, 'Python'),
82 (CODING_SHELL, 'Shell'), 84 (CODING_SHELL, 'Shell'),
83 ) 85 )
@@ -108,7 +110,7 @@ class Task(models.Model):
108 task_name = models.CharField(max_length=100) 110 task_name = models.CharField(max_length=100)
109 source_url = models.FilePathField(max_length=255, blank=True) 111 source_url = models.FilePathField(max_length=255, blank=True)
110 work_directory = models.FilePathField(max_length=255, blank=True) 112 work_directory = models.FilePathField(max_length=255, blank=True)
111 script_type = models.IntegerField(choices=TASK_CODING, default=CODING_PYTHON) 113 script_type = models.IntegerField(choices=TASK_CODING, default=CODING_NOEXEC)
112 line_number = models.IntegerField(default=0) 114 line_number = models.IntegerField(default=0)
113 disk_io = models.IntegerField(null=True) 115 disk_io = models.IntegerField(null=True)
114 cpu_usage = models.DecimalField(max_digits=6, decimal_places=2, null=True) 116 cpu_usage = models.DecimalField(max_digits=6, decimal_places=2, null=True)