summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/runqueue.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r--bitbake/lib/bb/runqueue.py15
1 files changed, 6 insertions, 9 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index 4d5d876797..f2b95a9829 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1224,17 +1224,12 @@ class RunQueue:
1224 bb.utils.nonblockingfd(worker.stdout) 1224 bb.utils.nonblockingfd(worker.stdout)
1225 workerpipe = runQueuePipe(worker.stdout, None, self.cfgData, self, rqexec) 1225 workerpipe = runQueuePipe(worker.stdout, None, self.cfgData, self, rqexec)
1226 1226
1227 runqhash = {}
1228 for tid in self.rqdata.runtaskentries:
1229 runqhash[tid] = self.rqdata.runtaskentries[tid].hash
1230
1231 workerdata = { 1227 workerdata = {
1232 "taskdeps" : self.rqdata.dataCaches[mc].task_deps, 1228 "taskdeps" : self.rqdata.dataCaches[mc].task_deps,
1233 "fakerootenv" : self.rqdata.dataCaches[mc].fakerootenv, 1229 "fakerootenv" : self.rqdata.dataCaches[mc].fakerootenv,
1234 "fakerootdirs" : self.rqdata.dataCaches[mc].fakerootdirs, 1230 "fakerootdirs" : self.rqdata.dataCaches[mc].fakerootdirs,
1235 "fakerootnoenv" : self.rqdata.dataCaches[mc].fakerootnoenv, 1231 "fakerootnoenv" : self.rqdata.dataCaches[mc].fakerootnoenv,
1236 "sigdata" : bb.parse.siggen.get_taskdata(), 1232 "sigdata" : bb.parse.siggen.get_taskdata(),
1237 "runq_hash" : runqhash,
1238 "logdefaultdebug" : bb.msg.loggerDefaultDebugLevel, 1233 "logdefaultdebug" : bb.msg.loggerDefaultDebugLevel,
1239 "logdefaultverbose" : bb.msg.loggerDefaultVerbose, 1234 "logdefaultverbose" : bb.msg.loggerDefaultVerbose,
1240 "logdefaultverboselogs" : bb.msg.loggerVerboseLogs, 1235 "logdefaultverboselogs" : bb.msg.loggerVerboseLogs,
@@ -2031,6 +2026,7 @@ class RunQueueExecuteTasks(RunQueueExecute):
2031 taskdepdata = self.build_taskdepdata(task) 2026 taskdepdata = self.build_taskdepdata(task)
2032 2027
2033 taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] 2028 taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
2029 taskhash = self.rqdata.get_task_hash(task)
2034 if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce): 2030 if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not (self.cooker.configuration.dry_run or self.rqdata.setscene_enforce):
2035 if not mc in self.rq.fakeworker: 2031 if not mc in self.rq.fakeworker:
2036 try: 2032 try:
@@ -2040,10 +2036,10 @@ class RunQueueExecuteTasks(RunQueueExecute):
2040 self.rq.state = runQueueFailed 2036 self.rq.state = runQueueFailed
2041 self.stats.taskFailed() 2037 self.stats.taskFailed()
2042 return True 2038 return True
2043 self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>") 2039 self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
2044 self.rq.fakeworker[mc].process.stdin.flush() 2040 self.rq.fakeworker[mc].process.stdin.flush()
2045 else: 2041 else:
2046 self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>") 2042 self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, False, self.cooker.collection.get_file_appends(taskfn), taskdepdata, self.rqdata.setscene_enforce)) + b"</runtask>")
2047 self.rq.worker[mc].process.stdin.flush() 2043 self.rq.worker[mc].process.stdin.flush()
2048 2044
2049 self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) 2045 self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)
@@ -2457,13 +2453,14 @@ class RunQueueExecuteScenequeue(RunQueueExecute):
2457 taskdepdata = self.build_taskdepdata(task) 2453 taskdepdata = self.build_taskdepdata(task)
2458 2454
2459 taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn] 2455 taskdep = self.rqdata.dataCaches[mc].task_deps[taskfn]
2456 taskhash = self.rqdata.get_task_hash(task)
2460 if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run: 2457 if 'fakeroot' in taskdep and taskname in taskdep['fakeroot'] and not self.cooker.configuration.dry_run:
2461 if not mc in self.rq.fakeworker: 2458 if not mc in self.rq.fakeworker:
2462 self.rq.start_fakeworker(self, mc) 2459 self.rq.start_fakeworker(self, mc)
2463 self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>") 2460 self.rq.fakeworker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
2464 self.rq.fakeworker[mc].process.stdin.flush() 2461 self.rq.fakeworker[mc].process.stdin.flush()
2465 else: 2462 else:
2466 self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>") 2463 self.rq.worker[mc].process.stdin.write(b"<runtask>" + pickle.dumps((taskfn, task, taskname, taskhash, True, self.cooker.collection.get_file_appends(taskfn), taskdepdata, False)) + b"</runtask>")
2467 self.rq.worker[mc].process.stdin.flush() 2464 self.rq.worker[mc].process.stdin.flush()
2468 2465
2469 self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True) 2466 self.build_stamps[task] = bb.build.stampfile(taskname, self.rqdata.dataCaches[mc], taskfn, noextra=True)