[OE-core] [PATCH 2/3] sstatesig: add new item checking for locked signature dump
Hongxu Jia
hongxu.jia at windriver.com
Thu Sep 18 07:23:42 UTC 2014
While dumping locked signature, if there is nothing added
in the current build (such as build the same recipe again),
there are accumulating empty SIGGEN_LOCKEDSIGS added, such as:
...
SIGGEN_LOCKEDSIGS_t-x86-64 += "\
"
SIGGEN_LOCKEDSIGS_TYPES_qemux86 += "t-x86-64"
SIGGEN_LOCKEDSIGS_t-x86-64 += "\
"
SIGGEN_LOCKEDSIGS_TYPES_qemux86 += "t-x86-64"
...
Add new item checking to fix the issue.
Invoke set() to drop duplicated types
Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
---
meta/lib/oe/sstatesig.py | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py
index 56fd953..b2ffc7e 100644
--- a/meta/lib/oe/sstatesig.py
+++ b/meta/lib/oe/sstatesig.py
@@ -64,7 +64,7 @@ def sstate_rundepfilter(siggen, fn, recipename, task, dep, depname, dataCache):
def sstate_lockedsigs(d):
sigs = {}
types = (d.getVar("SIGGEN_LOCKEDSIGS_TYPES", True) or "").split()
- for t in types:
+ for t in set(types):
lockedsigs = (d.getVar("SIGGEN_LOCKEDSIGS_%s" % t, True) or "").split()
for ls in lockedsigs:
pn, task, h = ls.split(":", 2)
@@ -143,6 +143,7 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
bb.plain("Writing locked sigs to %s" % sigfile)
types = {}
+ has_new_lockedsigs = False
for k in self.runtaskdeps:
fn = k.rsplit(".",1)[0]
t = self.lockedhashfn[fn].split(" ")[1].split(":")[5]
@@ -151,6 +152,20 @@ class SignatureGeneratorOEBasicHash(bb.siggen.SignatureGeneratorBasicHash):
types[t] = []
types[t].append(k)
+ if not has_new_lockedsigs:
+ pn = self.lockedpnmap[fn]
+ if pn not in self.lockedsigs:
+ has_new_lockedsigs = True
+ continue
+ task = k.rsplit(".",1)[1]
+ if task not in self.lockedsigs[pn]:
+ has_new_lockedsigs = True
+ continue
+
+ if not has_new_lockedsigs:
+ bb.plain("Nothing added to %s" % sigfile)
+ return
+
with open(sigfile, "a") as f:
for t in types:
f.write('SIGGEN_LOCKEDSIGS_%s += "\\\n' % t)
--
1.9.1
More information about the Openembedded-core
mailing list