diff options
Diffstat (limited to 'bitbake/lib/bb/ui/buildinfohelper.py')
-rw-r--r-- | bitbake/lib/bb/ui/buildinfohelper.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/bitbake/lib/bb/ui/buildinfohelper.py b/bitbake/lib/bb/ui/buildinfohelper.py index a0f10952f0..54f6c4ebe8 100644 --- a/bitbake/lib/bb/ui/buildinfohelper.py +++ b/bitbake/lib/bb/ui/buildinfohelper.py | |||
@@ -612,11 +612,21 @@ class BuildInfoHelper(object): | |||
612 | task_info['task_name'] = taskname | 612 | task_info['task_name'] = taskname |
613 | task_obj = self.orm_wrapper.get_update_task_object(task_info) | 613 | task_obj = self.orm_wrapper.get_update_task_object(task_info) |
614 | return task_obj | 614 | return task_obj |
615 | |||
616 | # create tasks | ||
617 | tasks = {} | ||
618 | for taskdesc in event._depgraph['tdepends']: | ||
619 | tasks[taskdesc] = _save_a_task(taskdesc) | ||
615 | 620 | ||
621 | # create dependencies between tasks | ||
616 | for taskdesc in event._depgraph['tdepends']: | 622 | for taskdesc in event._depgraph['tdepends']: |
617 | target = _save_a_task(taskdesc) | 623 | target = tasks[taskdesc] |
618 | for taskdesc1 in event._depgraph['tdepends'][taskdesc]: | 624 | for taskdep in event._depgraph['tdepends'][taskdesc]: |
619 | dep = _save_a_task(taskdesc1) | 625 | if taskdep not in tasks: |
626 | # Fetch tasks info is not collected previously | ||
627 | dep = _save_a_task(taskdep) | ||
628 | else: | ||
629 | dep = tasks[taskdep] | ||
620 | Task_Dependency.objects.get_or_create( task = target, depends_on = dep ) | 630 | Task_Dependency.objects.get_or_create( task = target, depends_on = dep ) |
621 | 631 | ||
622 | def store_build_package_information(self, event): | 632 | def store_build_package_information(self, event): |