diff options
Diffstat (limited to 'bitbake/lib/bb')
-rw-r--r-- | bitbake/lib/bb/cooker.py | 9 | ||||
-rw-r--r-- | bitbake/lib/bb/runqueue.py | 79 |
2 files changed, 36 insertions, 52 deletions
diff --git a/bitbake/lib/bb/cooker.py b/bitbake/lib/bb/cooker.py index 934072c44f..42831e2771 100644 --- a/bitbake/lib/bb/cooker.py +++ b/bitbake/lib/bb/cooker.py | |||
@@ -748,8 +748,7 @@ class BBCooker: | |||
748 | depend_tree['providermap'][name] = (pn, version) | 748 | depend_tree['providermap'][name] = (pn, version) |
749 | 749 | ||
750 | for tid in rq.rqdata.runtaskentries: | 750 | for tid in rq.rqdata.runtaskentries: |
751 | (mc, fn, taskname) = bb.runqueue.split_tid(tid) | 751 | (mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid) |
752 | taskfn = bb.runqueue.taskfn_fromtid(tid) | ||
753 | pn = self.recipecaches[mc].pkg_fn[taskfn] | 752 | pn = self.recipecaches[mc].pkg_fn[taskfn] |
754 | pn = self.add_mc_prefix(mc, pn) | 753 | pn = self.add_mc_prefix(mc, pn) |
755 | version = "%s:%s-%s" % self.recipecaches[mc].pkg_pepvpr[taskfn] | 754 | version = "%s:%s-%s" % self.recipecaches[mc].pkg_pepvpr[taskfn] |
@@ -772,8 +771,7 @@ class BBCooker: | |||
772 | 771 | ||
773 | 772 | ||
774 | for dep in rq.rqdata.runtaskentries[tid].depends: | 773 | for dep in rq.rqdata.runtaskentries[tid].depends: |
775 | (depmc, depfn, deptaskname) = bb.runqueue.split_tid(dep) | 774 | (depmc, depfn, deptaskname, deptaskfn) = bb.runqueue.split_tid_mcfn(dep) |
776 | deptaskfn = bb.runqueue.taskfn_fromtid(dep) | ||
777 | deppn = self.recipecaches[mc].pkg_fn[deptaskfn] | 775 | deppn = self.recipecaches[mc].pkg_fn[deptaskfn] |
778 | dotname = "%s.%s" % (pn, bb.runqueue.taskname_from_tid(tid)) | 776 | dotname = "%s.%s" % (pn, bb.runqueue.taskname_from_tid(tid)) |
779 | if not dotname in depend_tree["tdepends"]: | 777 | if not dotname in depend_tree["tdepends"]: |
@@ -843,8 +841,7 @@ class BBCooker: | |||
843 | tids.append(tid) | 841 | tids.append(tid) |
844 | 842 | ||
845 | for tid in tids: | 843 | for tid in tids: |
846 | (mc, fn, taskname) = bb.runqueue.split_tid(tid) | 844 | (mc, fn, taskname, taskfn) = bb.runqueue.split_tid_mcfn(tid) |
847 | taskfn = bb.runqueue.taskfn_fromtid(tid) | ||
848 | 845 | ||
849 | pn = self.recipecaches[mc].pkg_fn[taskfn] | 846 | pn = self.recipecaches[mc].pkg_fn[taskfn] |
850 | pn = self.add_mc_prefix(mc, pn) | 847 | pn = self.add_mc_prefix(mc, pn) |
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index df7c50fe96..13062630c0 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py | |||
@@ -49,30 +49,30 @@ def taskname_from_tid(tid): | |||
49 | return tid.rsplit(":", 1)[1] | 49 | return tid.rsplit(":", 1)[1] |
50 | 50 | ||
51 | def split_tid(tid): | 51 | def split_tid(tid): |
52 | (mc, fn, taskname, _) = split_tid_mcfn(tid) | ||
53 | return (mc, fn, taskname) | ||
54 | |||
55 | def split_tid_mcfn(tid): | ||
52 | if tid.startswith('multiconfig:'): | 56 | if tid.startswith('multiconfig:'): |
53 | elems = tid.split(':') | 57 | elems = tid.split(':') |
54 | mc = elems[1] | 58 | mc = elems[1] |
55 | fn = ":".join(elems[2:-1]) | 59 | fn = ":".join(elems[2:-1]) |
56 | taskname = elems[-1] | 60 | taskname = elems[-1] |
61 | mcfn = "multiconfig:" + mc + ":" + fn | ||
57 | else: | 62 | else: |
58 | tid = tid.rsplit(":", 1) | 63 | tid = tid.rsplit(":", 1) |
59 | mc = "" | 64 | mc = "" |
60 | fn = tid[0] | 65 | fn = tid[0] |
61 | taskname = tid[1] | 66 | taskname = tid[1] |
67 | mcfn = fn | ||
62 | 68 | ||
63 | return (mc, fn, taskname) | 69 | return (mc, fn, taskname, mcfn) |
64 | 70 | ||
65 | def build_tid(mc, fn, taskname): | 71 | def build_tid(mc, fn, taskname): |
66 | if mc: | 72 | if mc: |
67 | return "multiconfig:" + mc + ":" + fn + ":" + taskname | 73 | return "multiconfig:" + mc + ":" + fn + ":" + taskname |
68 | return fn + ":" + taskname | 74 | return fn + ":" + taskname |
69 | 75 | ||
70 | def taskfn_fromtid(tid): | ||
71 | (mc, fn, taskname) = split_tid(tid) | ||
72 | if mc: | ||
73 | return "multiconfig:" + mc + ":" + fn | ||
74 | return fn | ||
75 | |||
76 | class RunQueueStats: | 76 | class RunQueueStats: |
77 | """ | 77 | """ |
78 | Holds statistics on the tasks handled by the associated runQueue | 78 | Holds statistics on the tasks handled by the associated runQueue |
@@ -135,8 +135,7 @@ class RunQueueScheduler(object): | |||
135 | self.buildable = [] | 135 | self.buildable = [] |
136 | self.stamps = {} | 136 | self.stamps = {} |
137 | for tid in self.rqdata.runtaskentries: | 137 | for tid in self.rqdata.runtaskentries: |
138 | (mc, fn, taskname) = split_tid(tid) | 138 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
139 | taskfn = taskfn_fromtid(tid) | ||
140 | self.stamps[tid] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) | 139 | self.stamps[tid] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) |
141 | if tid in self.rq.runq_buildable: | 140 | if tid in self.rq.runq_buildable: |
142 | self.buildable.append(tid) | 141 | self.buildable.append(tid) |
@@ -289,7 +288,7 @@ class RunQueueData: | |||
289 | return tid + task_name_suffix | 288 | return tid + task_name_suffix |
290 | 289 | ||
291 | def get_short_user_idstring(self, task, task_name_suffix = ""): | 290 | def get_short_user_idstring(self, task, task_name_suffix = ""): |
292 | (mc, fn, taskname) = split_tid(task) | 291 | (mc, fn, taskname, _) = split_tid_mcfn(task) |
293 | pn = self.dataCaches[mc].pkg_fn[fn] | 292 | pn = self.dataCaches[mc].pkg_fn[fn] |
294 | taskname = taskname_from_tid(task) + task_name_suffix | 293 | taskname = taskname_from_tid(task) + task_name_suffix |
295 | return "%s:%s" % (pn, taskname) | 294 | return "%s:%s" % (pn, taskname) |
@@ -511,9 +510,8 @@ class RunQueueData: | |||
511 | for mc in taskData: | 510 | for mc in taskData: |
512 | for tid in taskData[mc].taskentries: | 511 | for tid in taskData[mc].taskentries: |
513 | 512 | ||
514 | (mc, fn, taskname) = split_tid(tid) | 513 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
515 | #runtid = build_tid(mc, fn, taskname) | 514 | #runtid = build_tid(mc, fn, taskname) |
516 | taskfn = taskfn_fromtid(tid) | ||
517 | 515 | ||
518 | #logger.debug(2, "Processing %s,%s:%s", mc, fn, taskname) | 516 | #logger.debug(2, "Processing %s,%s:%s", mc, fn, taskname) |
519 | 517 | ||
@@ -529,7 +527,7 @@ class RunQueueData: | |||
529 | # | 527 | # |
530 | # e.g. addtask before X after Y | 528 | # e.g. addtask before X after Y |
531 | for t in taskData[mc].taskentries[tid].tdepends: | 529 | for t in taskData[mc].taskentries[tid].tdepends: |
532 | (_, depfn, deptaskname) = split_tid(t) | 530 | (_, depfn, deptaskname, _) = split_tid_mcfn(t) |
533 | depends.add(build_tid(mc, depfn, deptaskname)) | 531 | depends.add(build_tid(mc, depfn, deptaskname)) |
534 | 532 | ||
535 | # Resolve 'deptask' dependencies | 533 | # Resolve 'deptask' dependencies |
@@ -611,7 +609,7 @@ class RunQueueData: | |||
611 | 609 | ||
612 | def generate_recdeps(t): | 610 | def generate_recdeps(t): |
613 | newdeps = set() | 611 | newdeps = set() |
614 | (mc, fn, taskname) = split_tid(t) | 612 | (mc, fn, taskname, _) = split_tid_mcfn(t) |
615 | add_resolved_dependencies(mc, fn, tasknames, newdeps) | 613 | add_resolved_dependencies(mc, fn, tasknames, newdeps) |
616 | extradeps[tid].update(newdeps) | 614 | extradeps[tid].update(newdeps) |
617 | seendeps.add(t) | 615 | seendeps.add(t) |
@@ -774,8 +772,7 @@ class RunQueueData: | |||
774 | prov_list = {} | 772 | prov_list = {} |
775 | seen_fn = [] | 773 | seen_fn = [] |
776 | for tid in self.runtaskentries: | 774 | for tid in self.runtaskentries: |
777 | (tidmc, fn, taskname) = split_tid(tid) | 775 | (tidmc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
778 | taskfn = taskfn_fromtid(tid) | ||
779 | if taskfn in seen_fn: | 776 | if taskfn in seen_fn: |
780 | continue | 777 | continue |
781 | if mc != tidmc: | 778 | if mc != tidmc: |
@@ -885,14 +882,14 @@ class RunQueueData: | |||
885 | self.runq_setscene_tids = [] | 882 | self.runq_setscene_tids = [] |
886 | if not self.cooker.configuration.nosetscene: | 883 | if not self.cooker.configuration.nosetscene: |
887 | for tid in self.runtaskentries: | 884 | for tid in self.runtaskentries: |
888 | (mc, fn, taskname) = split_tid(tid) | 885 | (mc, fn, taskname, _) = split_tid_mcfn(tid) |
889 | setscenetid = fn + ":" + taskname + "_setscene" | 886 | setscenetid = fn + ":" + taskname + "_setscene" |
890 | if setscenetid not in taskData[mc].taskentries: | 887 | if setscenetid not in taskData[mc].taskentries: |
891 | continue | 888 | continue |
892 | self.runq_setscene_tids.append(tid) | 889 | self.runq_setscene_tids.append(tid) |
893 | 890 | ||
894 | def invalidate_task(tid, error_nostamp): | 891 | def invalidate_task(tid, error_nostamp): |
895 | (mc, fn, taskname) = split_tid(tid) | 892 | (mc, fn, taskname, _) = split_tid_mcfn(tid) |
896 | taskdep = self.dataCaches[mc].task_deps[fn] | 893 | taskdep = self.dataCaches[mc].task_deps[fn] |
897 | if fn + ":" + taskname not in taskData[mc].taskentries: | 894 | if fn + ":" + taskname not in taskData[mc].taskentries: |
898 | logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname) | 895 | logger.warning("Task %s does not exist, invalidating this task will have no effect" % taskname) |
@@ -946,8 +943,7 @@ class RunQueueData: | |||
946 | procdep = [] | 943 | procdep = [] |
947 | for dep in self.runtaskentries[tid].depends: | 944 | for dep in self.runtaskentries[tid].depends: |
948 | procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep)) | 945 | procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep)) |
949 | (mc, fn, taskname) = split_tid(tid) | 946 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
950 | taskfn = taskfn_fromtid(tid) | ||
951 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc]) | 947 | self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc]) |
952 | task = self.runtaskentries[tid].task | 948 | task = self.runtaskentries[tid].task |
953 | 949 | ||
@@ -1099,8 +1095,7 @@ class RunQueue: | |||
1099 | except: | 1095 | except: |
1100 | return None | 1096 | return None |
1101 | 1097 | ||
1102 | (mc, fn, tn) = split_tid(tid) | 1098 | (mc, fn, tn, taskfn) = split_tid_mcfn(tid) |
1103 | taskfn = taskfn_fromtid(tid) | ||
1104 | if taskname is None: | 1099 | if taskname is None: |
1105 | taskname = tn | 1100 | taskname = tn |
1106 | 1101 | ||
@@ -1134,8 +1129,7 @@ class RunQueue: | |||
1134 | t1 = get_timestamp(stampfile) | 1129 | t1 = get_timestamp(stampfile) |
1135 | for dep in self.rqdata.runtaskentries[tid].depends: | 1130 | for dep in self.rqdata.runtaskentries[tid].depends: |
1136 | if iscurrent: | 1131 | if iscurrent: |
1137 | (mc2, fn2, taskname2) = split_tid(dep) | 1132 | (mc2, fn2, taskname2, taskfn2) = split_tid_mcfn(dep) |
1138 | taskfn2 = taskfn_fromtid(dep) | ||
1139 | stampfile2 = bb.build.stampfile(taskname2, self.rqdata.dataCaches[mc2], taskfn2) | 1133 | stampfile2 = bb.build.stampfile(taskname2, self.rqdata.dataCaches[mc2], taskfn2) |
1140 | stampfile3 = bb.build.stampfile(taskname2 + "_setscene", self.rqdata.dataCaches[mc2], taskfn2) | 1134 | stampfile3 = bb.build.stampfile(taskname2 + "_setscene", self.rqdata.dataCaches[mc2], taskfn2) |
1141 | t2 = get_timestamp(stampfile2) | 1135 | t2 = get_timestamp(stampfile2) |
@@ -1247,7 +1241,7 @@ class RunQueue: | |||
1247 | if not self.rqdata.taskData[''].tryaltconfigs: | 1241 | if not self.rqdata.taskData[''].tryaltconfigs: |
1248 | raise bb.runqueue.TaskFailure(self.rqexe.failed_tids) | 1242 | raise bb.runqueue.TaskFailure(self.rqexe.failed_tids) |
1249 | for tid in self.rqexe.failed_tids: | 1243 | for tid in self.rqexe.failed_tids: |
1250 | (mc, fn, tn) = split_tid(tid) | 1244 | (mc, fn, tn, _) = split_tid_mcfn(tid) |
1251 | self.rqdata.taskData[mc].fail_fn(fn) | 1245 | self.rqdata.taskData[mc].fail_fn(fn) |
1252 | self.rqdata.reset() | 1246 | self.rqdata.reset() |
1253 | 1247 | ||
@@ -1297,7 +1291,7 @@ class RunQueue: | |||
1297 | bb.note("Reparsing files to collect dependency data") | 1291 | bb.note("Reparsing files to collect dependency data") |
1298 | bb_cache = bb.cache.NoCache(self.cooker.databuilder) | 1292 | bb_cache = bb.cache.NoCache(self.cooker.databuilder) |
1299 | for tid in self.rqdata.runtaskentries: | 1293 | for tid in self.rqdata.runtaskentries: |
1300 | fn = taskfn_fromtid(tid) | 1294 | fn = fn_from_tid(tid) |
1301 | if fn not in done: | 1295 | if fn not in done: |
1302 | the_data = bb_cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn)) | 1296 | the_data = bb_cache.loadDataFull(fn, self.cooker.collection.get_file_appends(fn)) |
1303 | done.add(fn) | 1297 | done.add(fn) |
@@ -1319,8 +1313,7 @@ class RunQueue: | |||
1319 | valid_new = set() | 1313 | valid_new = set() |
1320 | 1314 | ||
1321 | for tid in self.rqdata.runtaskentries: | 1315 | for tid in self.rqdata.runtaskentries: |
1322 | (mc, fn, taskname) = split_tid(tid) | 1316 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
1323 | taskfn = taskfn_fromtid(tid) | ||
1324 | taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] | 1317 | taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] |
1325 | 1318 | ||
1326 | if 'noexec' in taskdep and taskname in taskdep['noexec']: | 1319 | if 'noexec' in taskdep and taskname in taskdep['noexec']: |
@@ -1408,7 +1401,7 @@ class RunQueue: | |||
1408 | 1401 | ||
1409 | 1402 | ||
1410 | for tid in invalidtasks: | 1403 | for tid in invalidtasks: |
1411 | (mc, fn, taskname) = split_tid(tid) | 1404 | (mc, fn, taskname, _) = split_tid_mcfn(tid) |
1412 | pn = self.rqdata.dataCaches[mc].pkg_fn[fn] | 1405 | pn = self.rqdata.dataCaches[mc].pkg_fn[fn] |
1413 | h = self.rqdata.runtaskentries[tid].hash | 1406 | h = self.rqdata.runtaskentries[tid].hash |
1414 | matches = bb.siggen.find_siginfo(pn, taskname, [], self.cfgData) | 1407 | matches = bb.siggen.find_siginfo(pn, taskname, [], self.cfgData) |
@@ -1512,7 +1505,7 @@ class RunQueueExecute: | |||
1512 | taskdata = {} | 1505 | taskdata = {} |
1513 | taskdeps.add(task) | 1506 | taskdeps.add(task) |
1514 | for dep in taskdeps: | 1507 | for dep in taskdeps: |
1515 | (mc, fn, taskname) = split_tid(dep) | 1508 | (mc, fn, taskname, _) = split_tid_mcfn(dep) |
1516 | pn = self.rqdata.dataCaches[mc].pkg_fn[fn] | 1509 | pn = self.rqdata.dataCaches[mc].pkg_fn[fn] |
1517 | taskdata[dep] = [pn, taskname, fn] | 1510 | taskdata[dep] = [pn, taskname, fn] |
1518 | call = self.rq.depvalidate + "(task, taskdata, notneeded, d)" | 1511 | call = self.rq.depvalidate + "(task, taskdata, notneeded, d)" |
@@ -1569,8 +1562,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1569 | tasknames = {} | 1562 | tasknames = {} |
1570 | fns = {} | 1563 | fns = {} |
1571 | for tid in self.rqdata.runtaskentries: | 1564 | for tid in self.rqdata.runtaskentries: |
1572 | (mc, fn, taskname) = split_tid(tid) | 1565 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
1573 | taskfn = taskfn_fromtid(tid) | ||
1574 | taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] | 1566 | taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] |
1575 | fns[tid] = taskfn | 1567 | fns[tid] = taskfn |
1576 | tasknames[tid] = taskname | 1568 | tasknames[tid] = taskname |
@@ -1589,9 +1581,8 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1589 | covered_remove = bb.utils.better_eval(call, locs) | 1581 | covered_remove = bb.utils.better_eval(call, locs) |
1590 | 1582 | ||
1591 | def removecoveredtask(tid): | 1583 | def removecoveredtask(tid): |
1592 | (mc, fn, taskname) = split_tid(tid) | 1584 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
1593 | taskname = taskname + '_setscene' | 1585 | taskname = taskname + '_setscene' |
1594 | taskfn = taskfn_fromtid(tid) | ||
1595 | bb.build.del_stamp(taskname, self.rqdata.dataCaches[mc], taskfn) | 1586 | bb.build.del_stamp(taskname, self.rqdata.dataCaches[mc], taskfn) |
1596 | self.rq.scenequeue_covered.remove(tid) | 1587 | self.rq.scenequeue_covered.remove(tid) |
1597 | 1588 | ||
@@ -1617,7 +1608,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1617 | for mc in self.rqdata.dataCaches: | 1608 | for mc in self.rqdata.dataCaches: |
1618 | target_pairs = [] | 1609 | target_pairs = [] |
1619 | for tid in self.rqdata.target_tids: | 1610 | for tid in self.rqdata.target_tids: |
1620 | (tidmc, fn, taskname) = split_tid(tid) | 1611 | (tidmc, fn, taskname, _) = split_tid_mcfn(tid) |
1621 | if tidmc == mc: | 1612 | if tidmc == mc: |
1622 | target_pairs.append((fn, taskname)) | 1613 | target_pairs.append((fn, taskname)) |
1623 | 1614 | ||
@@ -1713,7 +1704,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1713 | if self.rqdata.setscenewhitelist: | 1704 | if self.rqdata.setscenewhitelist: |
1714 | # Check tasks that are going to run against the whitelist | 1705 | # Check tasks that are going to run against the whitelist |
1715 | def check_norun_task(tid, showerror=False): | 1706 | def check_norun_task(tid, showerror=False): |
1716 | (mc, fn, taskname) = split_tid(tid) | 1707 | (mc, fn, taskname, _) = split_tid_mcfn(tid) |
1717 | # Ignore covered tasks | 1708 | # Ignore covered tasks |
1718 | if tid in self.rq.scenequeue_covered: | 1709 | if tid in self.rq.scenequeue_covered: |
1719 | return False | 1710 | return False |
@@ -1761,8 +1752,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1761 | 1752 | ||
1762 | task = self.sched.next() | 1753 | task = self.sched.next() |
1763 | if task is not None: | 1754 | if task is not None: |
1764 | (mc, fn, taskname) = split_tid(task) | 1755 | (mc, fn, taskname, taskfn) = split_tid_mcfn(task) |
1765 | taskfn = taskfn_fromtid(task) | ||
1766 | 1756 | ||
1767 | if task in self.rq.scenequeue_covered: | 1757 | if task in self.rq.scenequeue_covered: |
1768 | logger.debug(2, "Setscene covered task %s", task) | 1758 | logger.debug(2, "Setscene covered task %s", task) |
@@ -1842,8 +1832,7 @@ class RunQueueExecuteTasks(RunQueueExecute): | |||
1842 | while next: | 1832 | while next: |
1843 | additional = [] | 1833 | additional = [] |
1844 | for revdep in next: | 1834 | for revdep in next: |
1845 | (mc, fn, taskname) = split_tid(revdep) | 1835 | (mc, fn, taskname, taskfn) = split_tid_mcfn(revdep) |
1846 | taskfn = taskfn_fromtid(revdep) | ||
1847 | pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn] | 1836 | pn = self.rqdata.dataCaches[mc].pkg_fn[taskfn] |
1848 | deps = self.rqdata.runtaskentries[revdep].depends | 1837 | deps = self.rqdata.runtaskentries[revdep].depends |
1849 | provides = self.rqdata.dataCaches[mc].fn_provides[taskfn] | 1838 | provides = self.rqdata.dataCaches[mc].fn_provides[taskfn] |
@@ -1986,7 +1975,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
1986 | # e.g. do_sometask_setscene[depends] = "targetname:do_someothertask_setscene" | 1975 | # e.g. do_sometask_setscene[depends] = "targetname:do_someothertask_setscene" |
1987 | # Note that anything explicitly depended upon will have its reverse dependencies removed to avoid circular dependencies | 1976 | # Note that anything explicitly depended upon will have its reverse dependencies removed to avoid circular dependencies |
1988 | for tid in self.rqdata.runq_setscene_tids: | 1977 | for tid in self.rqdata.runq_setscene_tids: |
1989 | (mc, fn, taskname) = split_tid(tid) | 1978 | (mc, fn, taskname, _) = split_tid_mcfn(tid) |
1990 | realtid = fn + ":" + taskname + "_setscene" | 1979 | realtid = fn + ":" + taskname + "_setscene" |
1991 | idepends = self.rqdata.taskData[mc].taskentries[realtid].idepends | 1980 | idepends = self.rqdata.taskData[mc].taskentries[realtid].idepends |
1992 | for (depname, idependtask) in idepends: | 1981 | for (depname, idependtask) in idepends: |
@@ -2050,8 +2039,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
2050 | noexec = [] | 2039 | noexec = [] |
2051 | stamppresent = [] | 2040 | stamppresent = [] |
2052 | for tid in self.sq_revdeps: | 2041 | for tid in self.sq_revdeps: |
2053 | (mc, fn, taskname) = split_tid(tid) | 2042 | (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) |
2054 | taskfn = taskfn_fromtid(tid) | ||
2055 | 2043 | ||
2056 | taskdep = self.rqdata.dataCaches[mc].task_deps[fn] | 2044 | taskdep = self.rqdata.dataCaches[mc].task_deps[fn] |
2057 | 2045 | ||
@@ -2122,7 +2110,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
2122 | def check_taskfail(self, task): | 2110 | def check_taskfail(self, task): |
2123 | if self.rqdata.setscenewhitelist: | 2111 | if self.rqdata.setscenewhitelist: |
2124 | realtask = task.split('_setscene')[0] | 2112 | realtask = task.split('_setscene')[0] |
2125 | (mc, fn, taskname) = split_tid(realtask) | 2113 | (mc, fn, taskname, _) = split_tid_mcfn(realtask) |
2126 | pn = self.rqdata.dataCaches[mc].pkg_fn[fn] | 2114 | pn = self.rqdata.dataCaches[mc].pkg_fn[fn] |
2127 | if not check_setscene_enforce_whitelist(pn, taskname, self.rqdata.setscenewhitelist): | 2115 | if not check_setscene_enforce_whitelist(pn, taskname, self.rqdata.setscenewhitelist): |
2128 | logger.error('Task %s.%s failed' % (pn, taskname + "_setscene")) | 2116 | logger.error('Task %s.%s failed' % (pn, taskname + "_setscene")) |
@@ -2186,8 +2174,7 @@ class RunQueueExecuteScenequeue(RunQueueExecute): | |||
2186 | task = nexttask | 2174 | task = nexttask |
2187 | break | 2175 | break |
2188 | if task is not None: | 2176 | if task is not None: |
2189 | (mc, fn, taskname) = split_tid(task) | 2177 | (mc, fn, taskname, taskfn) = split_tid_mcfn(task) |
2190 | taskfn = taskfn_fromtid(task) | ||
2191 | taskname = taskname + "_setscene" | 2178 | taskname = taskname + "_setscene" |
2192 | if self.rq.check_stamp_task(task, taskname_from_tid(task), recurse = True, cache=self.stampcache): | 2179 | if self.rq.check_stamp_task(task, taskname_from_tid(task), recurse = True, cache=self.stampcache): |
2193 | logger.debug(2, 'Stamp for underlying task %s is current, so skipping setscene variant', task) | 2180 | logger.debug(2, 'Stamp for underlying task %s is current, so skipping setscene variant', task) |