[OE-core] [PATCH 1/3] sstatesig: Only dump incremental locked signatures
Hongxu Jia
hongxu.jia at windriver.com
Thu Sep 18 07:23:41 UTC 2014
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.jia at 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
More information about the Openembedded-core
mailing list