diff options
author | Joshua Watt <jpewhacker@gmail.com> | 2018-12-03 21:42:37 -0600 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2018-12-07 12:38:58 +0000 |
commit | e089fb1ae0cd1e72c6bf0c367a8311e93fcee7b5 (patch) | |
tree | 84e5ed23a079e6a791e496c92e73d291fa4b87c7 | |
parent | 86cc1a4104d71235cfdc9b5acfa820758191480a (diff) | |
download | poky-e089fb1ae0cd1e72c6bf0c367a8311e93fcee7b5.tar.gz |
bitbake: siggen: Split out stampfile hash fetch
The mechanism used to get the hash for a stamp file is split out so that
it can be overridden by derived classes
[YOCTO #13030]
(Bitbake rev: ce241534d19b2f1c51dbdb3b92419676d234e464)
Signed-off-by: Joshua Watt <JPEWhacker@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r-- | bitbake/lib/bb/siggen.py | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/bitbake/lib/bb/siggen.py b/bitbake/lib/bb/siggen.py index fdbb2a3998..ab6df7603c 100644 --- a/bitbake/lib/bb/siggen.py +++ b/bitbake/lib/bb/siggen.py | |||
@@ -311,6 +311,13 @@ class SignatureGeneratorBasic(SignatureGenerator): | |||
311 | class SignatureGeneratorBasicHash(SignatureGeneratorBasic): | 311 | class SignatureGeneratorBasicHash(SignatureGeneratorBasic): |
312 | name = "basichash" | 312 | name = "basichash" |
313 | 313 | ||
314 | def get_stampfile_hash(self, task): | ||
315 | if task in self.taskhash: | ||
316 | return self.taskhash[task] | ||
317 | |||
318 | # If task is not in basehash, then error | ||
319 | return self.basehash[task] | ||
320 | |||
314 | def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False): | 321 | def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False): |
315 | if taskname != "do_setscene" and taskname.endswith("_setscene"): | 322 | if taskname != "do_setscene" and taskname.endswith("_setscene"): |
316 | k = fn + "." + taskname[:-9] | 323 | k = fn + "." + taskname[:-9] |
@@ -318,11 +325,9 @@ class SignatureGeneratorBasicHash(SignatureGeneratorBasic): | |||
318 | k = fn + "." + taskname | 325 | k = fn + "." + taskname |
319 | if clean: | 326 | if clean: |
320 | h = "*" | 327 | h = "*" |
321 | elif k in self.taskhash: | ||
322 | h = self.taskhash[k] | ||
323 | else: | 328 | else: |
324 | # If k is not in basehash, then error | 329 | h = self.get_stampfile_hash(k) |
325 | h = self.basehash[k] | 330 | |
326 | return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.') | 331 | return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.') |
327 | 332 | ||
328 | def stampcleanmask(self, stampbase, fn, taskname, extrainfo): | 333 | def stampcleanmask(self, stampbase, fn, taskname, extrainfo): |