From: Paul Eggleton Date: Fri, 3 Nov 2017 03:16:10 +0000 (+1300) Subject: lib/oe/sstatesig: fix wildcard matching wrong task signature files X-Git-Url: https://code.ossystems.io/gitweb?a=commitdiff_plain;h=8565391a4ebb574141b5d09bff710fc02c73ba34;p=openembedded-core.git 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]. Signed-off-by: Paul Eggleton Signed-off-by: Ross Burton Signed-off-by: Armin Kuster --- 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', '*')