From 87577b8a530a8affbbcc80c5d8afd6b123d950e0 Mon Sep 17 00:00:00 2001 From: Paul Eggleton Date: Fri, 3 Nov 2017 16:16:10 +1300 Subject: lib/oe/sstatesig: fix wildcard matching wrong task signature files With a '*' as a wildcard for the signature here we can also match a portion of the task name with the result that we may match a sigdata file for the wrong task. Luckily the signature is always the same length - 32 characters - so we can simply use 32 '?' characters instead. (A regex would have been another alternative, but the wildcard should be effective and I felt like a regex would complicate the code more than this solution). Fixes [YOCTO #11763]. (From OE-Core rev: 8565391a4ebb574141b5d09bff710fc02c73ba34) Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton Signed-off-by: Armin Kuster Signed-off-by: Richard Purdie --- meta/lib/oe/sstatesig.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'meta/lib') diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 5a4093266d..3a8778eae0 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -320,7 +320,7 @@ def find_siginfo(pn, taskname, taskhashlist, d): if not taskhashlist or (len(filedates) < 2 and not foundall): # That didn't work, look in sstate-cache - hashes = taskhashlist or ['*'] + hashes = taskhashlist or ['?' * 32] localdata = bb.data.createCopy(d) for hashval in hashes: localdata.setVar('PACKAGE_ARCH', '*') -- cgit v1.2.3-54-g00ecf