diff options
author | Christopher Larson <chris_larson@mentor.com> | 2015-08-03 12:20:43 -0700 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2015-09-03 12:33:08 +0100 |
commit | 383450c78a46060de9a483d4cce5955136dca807 (patch) | |
tree | aa439a580c052e3dec0fcda39ae0dbe7772d4dc1 /bitbake/lib/bb/build.py | |
parent | 71b0568fa43285f0946fae93fb43cea5f3bbecec (diff) | |
download | poky-383450c78a46060de9a483d4cce5955136dca807.tar.gz |
bitbake: build: delete tasks thoroughly
We want addtask to be able to bring back a deleted task, but we don't want its
previous dependencies to come back with it, so rather than marking a task as
deleted and then skipping tasks marked as such, actually delete the task and
its dependency information in deltask.
While we're in that part of the code, also fix a couple 'not foo in bar'
instances to 'foo not in bar', which is preferred in python.
(Bitbake rev: 94b3f3d6bdfbfa47f7eb3c3de64940a145b2ddd1)
Signed-off-by: Christopher Larson <chris_larson@mentor.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/build.py')
-rw-r--r-- | bitbake/lib/bb/build.py | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 764163f37f..948c3951f4 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py | |||
@@ -686,7 +686,7 @@ def stampfile(taskname, d, file_name = None): | |||
686 | """ | 686 | """ |
687 | return stamp_internal(taskname, d, file_name) | 687 | return stamp_internal(taskname, d, file_name) |
688 | 688 | ||
689 | def add_tasks(tasklist, deltasklist, d): | 689 | def add_tasks(tasklist, d): |
690 | task_deps = d.getVar('_task_deps', False) | 690 | task_deps = d.getVar('_task_deps', False) |
691 | if not task_deps: | 691 | if not task_deps: |
692 | task_deps = {} | 692 | task_deps = {} |
@@ -698,9 +698,6 @@ def add_tasks(tasklist, deltasklist, d): | |||
698 | for task in tasklist: | 698 | for task in tasklist: |
699 | task = d.expand(task) | 699 | task = d.expand(task) |
700 | 700 | ||
701 | if task in deltasklist: | ||
702 | continue | ||
703 | |||
704 | d.setVarFlag(task, 'task', 1) | 701 | d.setVarFlag(task, 'task', 1) |
705 | 702 | ||
706 | if not task in task_deps['tasks']: | 703 | if not task in task_deps['tasks']: |
@@ -738,7 +735,7 @@ def addtask(task, before, after, d): | |||
738 | 735 | ||
739 | d.setVarFlag(task, "task", 1) | 736 | d.setVarFlag(task, "task", 1) |
740 | bbtasks = d.getVar('__BBTASKS', False) or [] | 737 | bbtasks = d.getVar('__BBTASKS', False) or [] |
741 | if not task in bbtasks: | 738 | if task not in bbtasks: |
742 | bbtasks.append(task) | 739 | bbtasks.append(task) |
743 | d.setVar('__BBTASKS', bbtasks) | 740 | d.setVar('__BBTASKS', bbtasks) |
744 | 741 | ||
@@ -760,8 +757,14 @@ def deltask(task, d): | |||
760 | if task[:3] != "do_": | 757 | if task[:3] != "do_": |
761 | task = "do_" + task | 758 | task = "do_" + task |
762 | 759 | ||
763 | bbtasks = d.getVar('__BBDELTASKS', False) or [] | 760 | bbtasks = d.getVar('__BBTASKS', False) or [] |
764 | if not task in bbtasks: | 761 | if task in bbtasks: |
765 | bbtasks.append(task) | 762 | bbtasks.remove(task) |
766 | d.setVar('__BBDELTASKS', bbtasks) | 763 | d.setVar('__BBTASKS', bbtasks) |
767 | 764 | ||
765 | d.delVarFlag(task, 'deps') | ||
766 | for bbtask in d.getVar('__BBTASKS', False) or []: | ||
767 | deps = d.getVarFlag(bbtask, 'deps') or [] | ||
768 | if task in deps: | ||
769 | deps.remove(task) | ||
770 | d.setVarFlag(bbtask, 'deps', deps) | ||