From 11f68f65c46c5bc26ddeeade3021e83b3a7f895a Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Fri, 7 Apr 2017 16:57:19 +1200 Subject: classes/buildhistory: write out task signatures on every build If we want to determine what changed since the last build, one angle from which to look at it is to check the signatures. However, if we don't actually have the signatures from the last build we don't have anywhere to start. Save the signatures on each build in order to give us the starting point. NOTE: you need to set your BUILDHISTORY_FEATURES value to include "task" to enable collection of these signatures as it is is disabled by default. Signed-off-by: Paul Eggleton Signed-off-by: Richard Purdie --- meta/lib/oe/sstatesig.py | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'meta/lib/oe/sstatesig.py') diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 8d930134c93..3239bc63ae7 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -211,6 +211,16 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): f.write(' "\n') f.write('SIGGEN_LOCKEDSIGS_TYPES_%s = "%s"' % (self.machine, " ".join(l))) + def dump_siglist(self, sigfile): + with open(sigfile, "w") as f: + tasks = [] + for taskitem in self.taskhash: + (fn, task) = taskitem.rsplit(".", 1) + pn = self.lockedpnmap[fn] + tasks.append((pn, task, self.taskhash[taskitem])) + for (pn, task, taskhash) in sorted(tasks): + f.write('%s.%s %s\n' % (pn, task, taskhash)) + def checkhashes(self, missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d): warn_msgs = [] error_msgs = [] -- cgit 1.2.3-korg