diff options
author | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-07-29 17:28:20 +0100 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2019-08-06 11:21:07 +0100 |
commit | 07e539e1c566ca3434901e1a00335cb76c69d496 (patch) | |
tree | 2ea1ba1be4fd9713b523848bbf94c4d80745ac0a /lib/bb/runqueue.py | |
parent | dc23550047e5078da491ce9a6f30989cb5260df6 (diff) | |
download | bitbake-07e539e1c566ca3434901e1a00335cb76c69d496.tar.gz |
siggen: Clean up task reference formats
Currently siggen uses the format "<filename>.<taskname>" for referencing tasks
whilst runqueue uses "<filename>:<taskname>". This converts to use ":" as the
separator everywhere.
This is an API breaking change since the cache is affected, as are siginfo files
and any custom signature handlers such as those in OE-Core.
Ultimately this will let us clean up and the accessor functions from runqueue,
removing all the ".rsplit(".", 1)[0]" type code currently all over the place.
Once a standard is used everwhere we can update the code over time to be more
optimal.
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'lib/bb/runqueue.py')
-rw-r--r-- | lib/bb/runqueue.py | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/lib/bb/runqueue.py b/lib/bb/runqueue.py index f0f95f9b5..bb6108735 100644 --- a/lib/bb/runqueue.py +++ b/lib/bb/runqueue.py @@ -1174,10 +1174,9 @@ class RunQueueData: def prepare_task_hash(self, tid): procdep = [] for dep in self.runtaskentries[tid].depends: - procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep)) - (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) - self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc]) - self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname) + procdep.append(dep) + self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)]) + self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) def dump_data(self): """ @@ -1401,7 +1400,7 @@ class RunQueue: sq_data['hashfn'][tid] = self.rqdata.dataCaches[mc].hashfn[taskfn] sq_data['unihash'][tid] = self.rqdata.runtaskentries[tid].unihash - valid_ids = self.validate_hash(sq_data, data, siginfo, currentcount) + valid = self.validate_hash(sq_data, data, siginfo, currentcount) return valid @@ -2152,8 +2151,7 @@ class RunQueueExecute: if unihash != self.rqdata.runtaskentries[tid].unihash: logger.info("Task %s unihash changed to %s" % (tid, unihash)) self.rqdata.runtaskentries[tid].unihash = unihash - (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) - bb.parse.siggen.set_unihash(taskfn + "." + taskname, unihash) + bb.parse.siggen.set_unihash(tid, unihash) # Work out all tasks which depend on this one total = set() @@ -2177,12 +2175,11 @@ class RunQueueExecute: continue procdep = [] for dep in self.rqdata.runtaskentries[tid].depends: - procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep)) - (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) + procdep.append(dep) orighash = self.rqdata.runtaskentries[tid].hash - self.rqdata.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.rqdata.dataCaches[mc]) + self.rqdata.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.rqdata.dataCaches[mc_from_tid(tid)]) origuni = self.rqdata.runtaskentries[tid].unihash - self.rqdata.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname) + self.rqdata.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid) logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, self.rqdata.runtaskentries[tid].hash, origuni, self.rqdata.runtaskentries[tid].unihash)) next |= self.rqdata.runtaskentries[tid].revdeps changed.add(tid) |