summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r--bitbake/lib/bb/build.py13
-rw-r--r--bitbake/lib/bb/tests/parse.py6
2 files changed, 14 insertions, 5 deletions
diff --git a/bitbake/lib/bb/build.py b/bitbake/lib/bb/build.py
index ab8bce3d57..d226aadacb 100644
--- a/bitbake/lib/bb/build.py
+++ b/bitbake/lib/bb/build.py
@@ -932,9 +932,13 @@ def add_tasks(tasklist, d):
932 # don't assume holding a reference 932 # don't assume holding a reference
933 d.setVar('_task_deps', task_deps) 933 d.setVar('_task_deps', task_deps)
934 934
935def ensure_task_prefix(name):
936 if name[:3] != "do_":
937 name = "do_" + name
938 return name
939
935def addtask(task, before, after, d): 940def addtask(task, before, after, d):
936 if task[:3] != "do_": 941 task = ensure_task_prefix(task)
937 task = "do_" + task
938 942
939 d.setVarFlag(task, "task", 1) 943 d.setVarFlag(task, "task", 1)
940 bbtasks = d.getVar('__BBTASKS', False) or [] 944 bbtasks = d.getVar('__BBTASKS', False) or []
@@ -946,19 +950,20 @@ def addtask(task, before, after, d):
946 if after is not None: 950 if after is not None:
947 # set up deps for function 951 # set up deps for function
948 for entry in after.split(): 952 for entry in after.split():
953 entry = ensure_task_prefix(entry)
949 if entry not in existing: 954 if entry not in existing:
950 existing.append(entry) 955 existing.append(entry)
951 d.setVarFlag(task, "deps", existing) 956 d.setVarFlag(task, "deps", existing)
952 if before is not None: 957 if before is not None:
953 # set up things that depend on this func 958 # set up things that depend on this func
954 for entry in before.split(): 959 for entry in before.split():
960 entry = ensure_task_prefix(entry)
955 existing = d.getVarFlag(entry, "deps", False) or [] 961 existing = d.getVarFlag(entry, "deps", False) or []
956 if task not in existing: 962 if task not in existing:
957 d.setVarFlag(entry, "deps", [task] + existing) 963 d.setVarFlag(entry, "deps", [task] + existing)
958 964
959def deltask(task, d): 965def deltask(task, d):
960 if task[:3] != "do_": 966 task = ensure_task_prefix(task)
961 task = "do_" + task
962 967
963 bbtasks = d.getVar('__BBTASKS', False) or [] 968 bbtasks = d.getVar('__BBTASKS', False) or []
964 if task in bbtasks: 969 if task in bbtasks:
diff --git a/bitbake/lib/bb/tests/parse.py b/bitbake/lib/bb/tests/parse.py
index 97df2c4590..410679d5a1 100644
--- a/bitbake/lib/bb/tests/parse.py
+++ b/bitbake/lib/bb/tests/parse.py
@@ -188,6 +188,9 @@ addtask do_mytask3
188deltask do_mytask3# comment 188deltask do_mytask3# comment
189deltask do_mytask4 # comment2 189deltask do_mytask4 # comment2
190 190
191# Ensure a missing task prefix on after works
192addtask do_mytask5 after mytask
193
191MYVAR = "do_patch" 194MYVAR = "do_patch"
192EMPTYVAR = "" 195EMPTYVAR = ""
193deltask do_fetch ${MYVAR} ${EMPTYVAR} 196deltask do_fetch ${MYVAR} ${EMPTYVAR}
@@ -198,7 +201,8 @@ deltask ${EMPTYVAR}
198 f = self.parsehelper(self.addtask_deltask) 201 f = self.parsehelper(self.addtask_deltask)
199 d = bb.parse.handle(f.name, self.d)[''] 202 d = bb.parse.handle(f.name, self.d)['']
200 203
201 self.assertEqual(['do_fetch2', 'do_patch2', 'do_myplaintask', 'do_mytask', 'do_mytask2'], d.getVar("__BBTASKS")) 204 self.assertEqual(['do_fetch2', 'do_patch2', 'do_myplaintask', 'do_mytask', 'do_mytask2', 'do_mytask5'], d.getVar("__BBTASKS"))
205 self.assertEqual(['do_mytask'], d.getVarFlag("do_mytask5", "deps"))
202 206
203 broken_multiline_comment = """ 207 broken_multiline_comment = """
204# First line of comment \\ 208# First line of comment \\