The idea of incremental sig is: New sig file = Old sig file (if available) + New sig items in current build.
The condition of incremental locked signature dump is an existed locked sig file is required and it is also the dump sig file. Signed-off-by: Hongxu Jia <hongxu....@windriver.com> --- meta/lib/oe/sstatesig.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index af7617e..56fd953 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -151,19 +151,23 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash): types[t] = [] types[t].append(k) - with open(sigfile, "w") as f: + with open(sigfile, "a") as f: for t in types: - f.write('SIGGEN_LOCKEDSIGS_%s = "\\\n' % t) + f.write('SIGGEN_LOCKEDSIGS_%s += "\\\n' % t) types[t].sort() sortedk = sorted(types[t], key=lambda k: self.lockedpnmap[k.rsplit(".",1)[0]]) for k in sortedk: fn = k.rsplit(".",1)[0] + pn = self.lockedpnmap[fn] task = k.rsplit(".",1)[1] if k not in self.taskhash: continue - f.write(" " + self.lockedpnmap[fn] + ":" + task + ":" + self.taskhash[k] + " \\\n") + if pn in self.lockedsigs and task in self.lockedsigs[pn] and self.taskhash[k] == self.lockedsigs[pn][task]: + continue + sigentry = pn + ":" + task + ":" + self.taskhash[k] + f.write(" " + sigentry + " \\\n") f.write(' "\n') - f.write('SIGGEN_LOCKEDSIGS_TYPES_%s = "%s"' % (self.machine, " ".join(types.keys()))) + f.write('SIGGEN_LOCKEDSIGS_TYPES_%s += "%s"\n' % (self.machine, " ".join(types.keys()))) def checkhashes(self, missed, ret, sq_fn, sq_task, sq_hash, sq_hashfn, d): checklevel = d.getVar("SIGGEN_LOCKEDSIGS_CHECK_LEVEL", True) -- 1.9.1 -- _______________________________________________ Openembedded-core mailing list Openembedded-core@lists.openembedded.org http://lists.openembedded.org/mailman/listinfo/openembedded-core