summaryrefslogtreecommitdiffstats
path: root/bitbake/lib/bb/siggen.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/siggen.py')
-rw-r--r--bitbake/lib/bb/siggen.py13
1 files changed, 11 insertions, 2 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py
index 8fe59b9057..ff70d4ff4f 100644
--- a/bitbake/lib/bb/siggen.py
+++ b/bitbake/lib/bb/siggen.py
@@ -48,6 +48,9 @@ class SignatureGenerator(object):
48 def stampfile(self, stampbase, file_name, taskname, extrainfo): 48 def stampfile(self, stampbase, file_name, taskname, extrainfo):
49 return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.') 49 return ("%s.%s.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
50 50
51 def stampcleanmask(self, stampbase, file_name, taskname, extrainfo):
52 return ("%s.%s*.%s" % (stampbase, taskname, extrainfo)).rstrip('.')
53
51 def dump_sigtask(self, fn, task, stampbase, runtime): 54 def dump_sigtask(self, fn, task, stampbase, runtime):
52 return 55 return
53 56
@@ -266,18 +269,24 @@ class SignatureGeneratorBasic(SignatureGenerator):
266class SignatureGeneratorBasicHash(SignatureGeneratorBasic): 269class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
267 name = "basichash" 270 name = "basichash"
268 271
269 def stampfile(self, stampbase, fn, taskname, extrainfo): 272 def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False):
270 if taskname != "do_setscene" and taskname.endswith("_setscene"): 273 if taskname != "do_setscene" and taskname.endswith("_setscene"):
271 k = fn + "." + taskname[:-9] 274 k = fn + "." + taskname[:-9]
272 else: 275 else:
273 k = fn + "." + taskname 276 k = fn + "." + taskname
274 if k in self.taskhash: 277 if clean:
278 h = "*"
279 taskname = taskname + "*"
280 elif k in self.taskhash:
275 h = self.taskhash[k] 281 h = self.taskhash[k]
276 else: 282 else:
277 # If k is not in basehash, then error 283 # If k is not in basehash, then error
278 h = self.basehash[k] 284 h = self.basehash[k]
279 return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.') 285 return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.')
280 286
287 def stampcleanmask(self, stampbase, fn, taskname, extrainfo):
288 return self.stampfile(stampbase, fn, taskname, extrainfo, clean=True)
289
281 def invalidate_task(self, task, d, fn): 290 def invalidate_task(self, task, d, fn):
282 bb.note("Tainting hash to force rebuild of task %s, %s" % (fn, task)) 291 bb.note("Tainting hash to force rebuild of task %s, %s" % (fn, task))
283 bb.build.write_taint(task, d, fn) 292 bb.build.write_taint(task, d, fn)