aboutsummaryrefslogtreecommitdiffstats
path: root/bitbake
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake')
-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):
class TaskStarted(TaskBase):
"""Task execution started"""
+ def __init__(self, t, logfile, taskflags, d):
+ super(TaskStarted, self).__init__(t, logfile, d)
+ self.taskflags = taskflags
class TaskSucceeded(TaskBase):
"""Task execution completed"""
@@ -422,7 +425,9 @@ def _exec_task(fn, task, d, quieterr):
localdata.setVar('BB_LOGFILE', logfn)
localdata.setVar('BB_RUNTASK', task)
- event.fire(TaskStarted(task, logfn, localdata), localdata)
+ flags = localdata.getVarFlags(task)
+
+ event.fire(TaskStarted(task, logfn, flags, localdata), localdata)
try:
for func in (prefuncs or '').split():
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):
task_information['outcome'] = Task.OUTCOME_EXISTING
else:
task_information['task_executed'] = True
+ if 'noexec' in vars(event) and event.noexec == True:
+ task_information['script_type'] = Task.CODING_NOEXEC
self.task_order += 1
task_information['order'] = self.task_order
@@ -506,8 +508,9 @@ class BuildInfoHelper(object):
if '_message' in vars(event):
task_information['message'] = event._message
- if 'ispython' in vars(event):
- if event.ispython:
+ if 'taskflags' in vars(event):
+ # with TaskStarted, we get even more information
+ if 'python' in event.taskflags.keys() and event.taskflags['python'] == '1':
task_information['script_type'] = Task.CODING_PYTHON
else:
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):
(SSTATE_RESTORED, 'Restored'), # succesfully restored
)
- CODING_PYTHON = 0
- CODING_SHELL = 1
+ CODING_NOEXEC = 0
+ CODING_PYTHON = 1
+ CODING_SHELL = 2
TASK_CODING = (
+ (CODING_NOEXEC, 'NoExec'),
(CODING_PYTHON, 'Python'),
(CODING_SHELL, 'Shell'),
)
@@ -108,7 +110,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_PYTHON)
+ script_type = models.IntegerField(choices=TASK_CODING, default=CODING_NOEXEC)
line_number = models.IntegerField(default=0)
disk_io = models.IntegerField(null=True)
cpu_usage = models.DecimalField(max_digits=6, decimal_places=2, null=True)