summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/runqueue.py
diff options
context:
space:
mode:
authorRichard Purdie <richard.purdie@linuxfoundation.org>2019-07-29 17:28:20 +0100
committerRichard Purdie <richard.purdie@linuxfoundation.org>2019-08-06 11:21:32 +0100
commit4fbb862cdcdcfa44da83f9a7e7a74ab518ef67d0 (patch)
tree0fa843c4a2f3f5c7dc69907cb4e40d47c9443109 /bitbake/lib/bb/runqueue.py
parent40a5e193c4ba45c928fccd899415ea56b5417725 (diff)
downloadpoky-4fbb862cdcdcfa44da83f9a7e7a74ab518ef67d0.tar.gz
bitbake: 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. (Bitbake rev: 07e539e1c566ca3434901e1a00335cb76c69d496) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'bitbake/lib/bb/runqueue.py')
-rw-r--r--bitbake/lib/bb/runqueue.py19
1 files changed, 8 insertions, 11 deletions
diff --git a/bitbake/lib/bb/runqueue.py b/bitbake/lib/bb/runqueue.py
index f0f95f9b5e..bb61087359 100644
--- a/bitbake/lib/bb/runqueue.py
+++ b/bitbake/lib/bb/runqueue.py
@@ -1174,10 +1174,9 @@ class RunQueueData:
1174 def prepare_task_hash(self, tid): 1174 def prepare_task_hash(self, tid):
1175 procdep = [] 1175 procdep = []
1176 for dep in self.runtaskentries[tid].depends: 1176 for dep in self.runtaskentries[tid].depends:
1177 procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep)) 1177 procdep.append(dep)
1178 (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) 1178 self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.dataCaches[mc_from_tid(tid)])
1179 self.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.dataCaches[mc]) 1179 self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
1180 self.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname)
1181 1180
1182 def dump_data(self): 1181 def dump_data(self):
1183 """ 1182 """
@@ -1401,7 +1400,7 @@ class RunQueue:
1401 sq_data['hashfn'][tid] = self.rqdata.dataCaches[mc].hashfn[taskfn] 1400 sq_data['hashfn'][tid] = self.rqdata.dataCaches[mc].hashfn[taskfn]
1402 sq_data['unihash'][tid] = self.rqdata.runtaskentries[tid].unihash 1401 sq_data['unihash'][tid] = self.rqdata.runtaskentries[tid].unihash
1403 1402
1404 valid_ids = self.validate_hash(sq_data, data, siginfo, currentcount) 1403 valid = self.validate_hash(sq_data, data, siginfo, currentcount)
1405 1404
1406 return valid 1405 return valid
1407 1406
@@ -2152,8 +2151,7 @@ class RunQueueExecute:
2152 if unihash != self.rqdata.runtaskentries[tid].unihash: 2151 if unihash != self.rqdata.runtaskentries[tid].unihash:
2153 logger.info("Task %s unihash changed to %s" % (tid, unihash)) 2152 logger.info("Task %s unihash changed to %s" % (tid, unihash))
2154 self.rqdata.runtaskentries[tid].unihash = unihash 2153 self.rqdata.runtaskentries[tid].unihash = unihash
2155 (mc, fn, taskname, taskfn) = split_tid_mcfn(tid) 2154 bb.parse.siggen.set_unihash(tid, unihash)
2156 bb.parse.siggen.set_unihash(taskfn + "." + taskname, unihash)
2157 2155
2158 # Work out all tasks which depend on this one 2156 # Work out all tasks which depend on this one
2159 total = set() 2157 total = set()
@@ -2177,12 +2175,11 @@ class RunQueueExecute:
2177 continue 2175 continue
2178 procdep = [] 2176 procdep = []
2179 for dep in self.rqdata.runtaskentries[tid].depends: 2177 for dep in self.rqdata.runtaskentries[tid].depends:
2180 procdep.append(fn_from_tid(dep) + "." + taskname_from_tid(dep)) 2178 procdep.append(dep)
2181 (mc, fn, taskname, taskfn) = split_tid_mcfn(tid)
2182 orighash = self.rqdata.runtaskentries[tid].hash 2179 orighash = self.rqdata.runtaskentries[tid].hash
2183 self.rqdata.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(taskfn, taskname, procdep, self.rqdata.dataCaches[mc]) 2180 self.rqdata.runtaskentries[tid].hash = bb.parse.siggen.get_taskhash(tid, procdep, self.rqdata.dataCaches[mc_from_tid(tid)])
2184 origuni = self.rqdata.runtaskentries[tid].unihash 2181 origuni = self.rqdata.runtaskentries[tid].unihash
2185 self.rqdata.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(taskfn + "." + taskname) 2182 self.rqdata.runtaskentries[tid].unihash = bb.parse.siggen.get_unihash(tid)
2186 logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, self.rqdata.runtaskentries[tid].hash, origuni, self.rqdata.runtaskentries[tid].unihash)) 2183 logger.debug(1, "Task %s hash changes: %s->%s %s->%s" % (tid, orighash, self.rqdata.runtaskentries[tid].hash, origuni, self.rqdata.runtaskentries[tid].unihash))
2187 next |= self.rqdata.runtaskentries[tid].revdeps 2184 next |= self.rqdata.runtaskentries[tid].revdeps
2188 changed.add(tid) 2185 changed.add(tid)