diff options
author | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-03-15 12:26:37 +1300 |
---|---|---|
committer | Paul Eggleton <paul.eggleton@linux.intel.com> | 2017-04-07 09:56:34 +1200 |
commit | cd7119c32021febffcc4524ff204bf13290c5cf4 (patch) | |
tree | e09f79d57ac8547fd1371d1de91ba144d59992b9 | |
parent | 901659a51cd53625a93f57a9c5865e90a07ec09d (diff) | |
download | openembedded-core-contrib-cd7119c32021febffcc4524ff204bf13290c5cf4.tar.gz |
lib/oe/sstatesig: fix finding native siginfo files in sstate-cache
When comparing signatures with bitbake-diffsigs -t or bitbake -S
printdiff, we use this find_siginfo() function implemented in this
module to find the siginfo/sigdata files corresponding to the tasks
we're looking for. However, native sstate files go into a
NATIVELSBSTRING subdirectory and there was no handling for this when
asking about native recipes.
I'm not even sure why we were walking SSTATE_DIR in order to find
this - we don't need to, we just need to run glob.glob() on the filespec
we calculate, which should be a little bit more efficient.
Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
-rw-r--r-- | meta/lib/oe/sstatesig.py | 25 |
1 files changed, 9 insertions, 16 deletions
diff --git a/meta/lib/oe/sstatesig.py b/meta/lib/oe/sstatesig.py index 13fd3bd633..a76a031ba2 100644 --- a/meta/lib/oe/sstatesig.py +++ b/meta/lib/oe/sstatesig.py @@ -318,22 +318,15 @@ def find_siginfo(pn, taskname, taskhashlist, d): sstatename = taskname[3:] filespec = '%s_%s.*.siginfo' % (localdata.getVar('SSTATE_PKG'), sstatename) - if hashval != '*': - sstatedir = "%s/%s" % (d.getVar('SSTATE_DIR'), hashval[:2]) - else: - sstatedir = d.getVar('SSTATE_DIR') - - for root, dirs, files in os.walk(sstatedir): - for fn in files: - fullpath = os.path.join(root, fn) - if fnmatch.fnmatch(fullpath, filespec): - if taskhashlist: - hashfiles[hashval] = fullpath - else: - try: - filedates[fullpath] = os.stat(fullpath).st_mtime - except: - continue + matchedfiles = glob.glob(filespec) + for fullpath in matchedfiles: + if taskhashlist: + hashfiles[hashval] = fullpath + else: + try: + filedates[fullpath] = os.stat(fullpath).st_mtime + except: + continue if taskhashlist: return hashfiles |