From 0787e23fa9b9e1ce3502c4aef978b8bdd54f0c97 Mon Sep 17 00:00:00 2001 From: Richard Purdie Date: Fri, 5 Sep 2014 10:34:41 +0100 Subject: bitbake: siggen/runqueue/bitbake-worker: Improve siggen data transfer interface We need to transfer some of the siggen data from the core/cooker into the worker instances. There was a partial API created for this but its ugly and its not possible to extend it from the siggen class. This patch completes the interface/abstraction for the data and means the class can extend/customise it in any siggen class. (Bitbake rev: cf2d642052979d236185c5b8ca2c5478c06e62ae) Signed-off-by: Richard Purdie --- bitbake/bin/bitbake-worker | 2 +- bitbake/lib/bb/runqueue.py | 4 +--- bitbake/lib/bb/siggen.py | 9 +++++---- 3 files changed, 7 insertions(+), 8 deletions(-) (limited to 'bitbake') diff --git a/bitbake/bin/bitbake-worker b/bitbake/bin/bitbake-worker index c7992f7e82..b2935f6ec0 100755 --- a/bitbake/bin/bitbake-worker +++ b/bitbake/bin/bitbake-worker @@ -168,7 +168,7 @@ def fork_off_task(cfg, data, workerdata, fn, task, taskname, appends, taskdepdat data.setVar("BUILDNAME", workerdata["buildname"]) data.setVar("DATE", workerdata["date"]) data.setVar("TIME", workerdata["time"]) - bb.parse.siggen.set_taskdata(workerdata["hashes"], workerdata["hash_deps"], workerdata["sigchecksums"]) + bb.parse.siggen.set_taskdata(workerdata["sigdata"]) ret = 0 try: the_data = bb.cache.Cache.loadDataFull(fn, appends, data) diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py index 39df79473e..6d9cf3f4df 100644 --- a/bitbake/lib/bb/runqueue.py +++ b/bitbake/lib/bb/runqueue.py @@ -879,9 +879,7 @@ class RunQueue: "fakerootenv" : self.rqdata.dataCache.fakerootenv, "fakerootdirs" : self.rqdata.dataCache.fakerootdirs, "fakerootnoenv" : self.rqdata.dataCache.fakerootnoenv, - "hashes" : bb.parse.siggen.taskhash, - "hash_deps" : bb.parse.siggen.runtaskdeps, - "sigchecksums" : bb.parse.siggen.file_checksum_values, + "sigdata" : bb.parse.siggen.get_taskdata(), "runq_hash" : self.rqdata.runq_hash, "logdefaultdebug" : bb.msg.loggerDefaultDebugLevel, "logdefaultverbose" : bb.msg.loggerDefaultVerbose, diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index 548f50dfcf..86d9ca0593 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py @@ -197,10 +197,11 @@ class SignatureGeneratorBasic(SignatureGenerator): #d.setVar("BB_TASKHASH_task-%s" % task, taskhash[task]) return h - def set_taskdata(self, hashes, deps, checksums): - self.runtaskdeps = deps - self.taskhash = hashes - self.file_checksum_values = checksums + def get_taskdata(self): + return (self.runtaskdeps, self.taskhash, self.file_checksum_values) + + def set_taskdata(self, data): + self.runtaskdeps, self.taskhash, self.file_checksum_values = data def dump_sigtask(self, fn, task, stampbase, runtime): k = fn + "." + task -- cgit v1.2.3