aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Watt <jpewhacker@gmail.com>2018-12-03 21:42:37 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2018-12-07 12:38:27 +0000
commitce241534d19b2f1c51dbdb3b92419676d234e464 (patch)
treee8b15a3433a99b95cb347d18cf828b4cb0829275
parent1e86d8c1bec7ea5d016a5ad2097f999362e29033 (diff)
downloadbitbake-ce241534d19b2f1c51dbdb3b92419676d234e464.tar.gz
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] Signed-off-by: Joshua Watt <JPEWhacker@gmail.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
-rw-r--r--lib/bb/siggen.py13
1 files changed, 9 insertions, 4 deletions
diff --git a/lib/bb/siggen.py b/lib/bb/siggen.py
index fdbb2a399..ab6df7603 100644
--- a/lib/bb/siggen.py
+++ b/lib/bb/siggen.py
@@ -311,6 +311,13 @@ class SignatureGeneratorBasic(SignatureGenerator):
class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
name = "basichash"
+ def get_stampfile_hash(self, task):
+ if task in self.taskhash:
+ return self.taskhash[task]
+
+ # If task is not in basehash, then error
+ return self.basehash[task]
+
def stampfile(self, stampbase, fn, taskname, extrainfo, clean=False):
if taskname != "do_setscene" and taskname.endswith("_setscene"):
k = fn + "." + taskname[:-9]
@@ -318,11 +325,9 @@ class SignatureGeneratorBasicHash(SignatureGeneratorBasic):
k = fn + "." + taskname
if clean:
h = "*"
- elif k in self.taskhash:
- h = self.taskhash[k]
else:
- # If k is not in basehash, then error
- h = self.basehash[k]
+ h = self.get_stampfile_hash(k)
+
return ("%s.%s.%s.%s" % (stampbase, taskname, h, extrainfo)).rstrip('.')
def stampcleanmask(self, stampbase, fn, taskname, extrainfo):