diff options
| -rw-r--r-- | bitbake/lib/bb/build.py | 37 | ||||
| -rw-r--r-- | bitbake/lib/bb/parse/ast.py | 33 |
2 files changed, 34 insertions, 36 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py index 6b395264b6..1524da0049 100644 --- a/bitbake/lib/bb/build.py +++ b/bitbake/lib/bb/build.py | |||
| @@ -668,9 +668,36 @@ def add_tasks(tasklist, deltasklist, d): | |||
| 668 | # don't assume holding a reference | 668 | # don't assume holding a reference |
| 669 | d.setVar('_task_deps', task_deps) | 669 | d.setVar('_task_deps', task_deps) |
| 670 | 670 | ||
| 671 | def remove_task(task, kill, d): | 671 | def addtask(task, before, after, d): |
| 672 | """Remove an BB 'task'. | 672 | if task[:3] != "do_": |
| 673 | task = "do_" + task | ||
| 674 | |||
| 675 | d.setVarFlag(task, "task", 1) | ||
| 676 | bbtasks = d.getVar('__BBTASKS') or [] | ||
| 677 | if not task in bbtasks: | ||
| 678 | bbtasks.append(task) | ||
| 679 | d.setVar('__BBTASKS', bbtasks) | ||
| 680 | |||
| 681 | existing = d.getVarFlag(task, "deps") or [] | ||
| 682 | if after is not None: | ||
| 683 | # set up deps for function | ||
| 684 | for entry in after.split(): | ||
| 685 | if entry not in existing: | ||
| 686 | existing.append(entry) | ||
| 687 | d.setVarFlag(task, "deps", existing) | ||
| 688 | if before is not None: | ||
| 689 | # set up things that depend on this func | ||
| 690 | for entry in before.split(): | ||
| 691 | existing = d.getVarFlag(entry, "deps") or [] | ||
| 692 | if task not in existing: | ||
| 693 | d.setVarFlag(entry, "deps", [task] + existing) | ||
| 694 | |||
| 695 | def deltask(task, d): | ||
| 696 | if task[:3] != "do_": | ||
| 697 | task = "do_" + task | ||
| 698 | |||
| 699 | bbtasks = d.getVar('__BBDELTASKS') or [] | ||
| 700 | if not task in bbtasks: | ||
| 701 | bbtasks.append(task) | ||
| 702 | d.setVar('__BBDELTASKS', bbtasks) | ||
| 673 | 703 | ||
| 674 | If kill is 1, also remove tasks that depend on this task.""" | ||
| 675 | |||
| 676 | d.delVarFlag(task, 'task') | ||
diff --git a/bitbake/lib/bb/parse/ast.py b/bitbake/lib/bb/parse/ast.py index 2036cd43fe..a2020532ea 100644 --- a/bitbake/lib/bb/parse/ast.py +++ b/bitbake/lib/bb/parse/ast.py | |||
| @@ -235,29 +235,7 @@ class AddTaskNode(AstNode): | |||
| 235 | self.after = after | 235 | self.after = after |
| 236 | 236 | ||
| 237 | def eval(self, data): | 237 | def eval(self, data): |
| 238 | var = self.func | 238 | bb.build.addtask(self.func, self.before, self.after, data) |
| 239 | if self.func[:3] != "do_": | ||
| 240 | var = "do_" + self.func | ||
| 241 | |||
| 242 | data.setVarFlag(var, "task", 1) | ||
| 243 | bbtasks = data.getVar('__BBTASKS') or [] | ||
| 244 | if not var in bbtasks: | ||
| 245 | bbtasks.append(var) | ||
| 246 | data.setVar('__BBTASKS', bbtasks) | ||
| 247 | |||
| 248 | existing = data.getVarFlag(var, "deps") or [] | ||
| 249 | if self.after is not None: | ||
| 250 | # set up deps for function | ||
| 251 | for entry in self.after.split(): | ||
| 252 | if entry not in existing: | ||
| 253 | existing.append(entry) | ||
| 254 | data.setVarFlag(var, "deps", existing) | ||
| 255 | if self.before is not None: | ||
| 256 | # set up things that depend on this func | ||
| 257 | for entry in self.before.split(): | ||
| 258 | existing = data.getVarFlag(entry, "deps") or [] | ||
| 259 | if var not in existing: | ||
| 260 | data.setVarFlag(entry, "deps", [var] + existing) | ||
| 261 | 239 | ||
| 262 | class DelTaskNode(AstNode): | 240 | class DelTaskNode(AstNode): |
| 263 | def __init__(self, filename, lineno, func): | 241 | def __init__(self, filename, lineno, func): |
| @@ -265,14 +243,7 @@ class DelTaskNode(AstNode): | |||
| 265 | self.func = func | 243 | self.func = func |
| 266 | 244 | ||
| 267 | def eval(self, data): | 245 | def eval(self, data): |
| 268 | var = self.func | 246 | bb.build.deltask(self.func, data) |
| 269 | if self.func[:3] != "do_": | ||
| 270 | var = "do_" + self.func | ||
| 271 | |||
| 272 | bbtasks = data.getVar('__BBDELTASKS') or [] | ||
| 273 | if not var in bbtasks: | ||
| 274 | bbtasks.append(var) | ||
| 275 | data.setVar('__BBDELTASKS', bbtasks) | ||
| 276 | 247 | ||
| 277 | class BBHandlerNode(AstNode): | 248 | class BBHandlerNode(AstNode): |
| 278 | def __init__(self, filename, lineno, fns): | 249 | def __init__(self, filename, lineno, fns): |
