insane: Don't used cachedpath for os.lstat()

The functions behave slightly differently to the functions they're
caching and the use in insane.bbclass isn't compatible. For now, to
avoid build failures, switch back to the stat calls. We may be able
to improve cachedpath or change the call sites.

(From OE-Core rev: fa771ae887ab5152f043748cf3419735831bcf7b)

Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
Richard Purdie 2024-10-14 11:05:59 +01:00
parent d2b2675cc4
commit 6dfe291284
2 changed files with 6 additions and 3 deletions

View File

@ -434,9 +434,8 @@ def package_qa_check_buildpaths(path, name, d, elf):
explicitly ignored.
"""
import stat
global cpath
# Ignore symlinks/devs/fifos
mode = cpath.lstat(path).st_mode
mode = os.lstat(path).st_mode
if stat.S_ISLNK(mode) or stat.S_ISBLK(mode) or stat.S_ISFIFO(mode) or stat.S_ISCHR(mode) or stat.S_ISSOCK(mode):
return
@ -1050,7 +1049,7 @@ def package_qa_check_host_user(path, name, d, elf):
return
try:
stat = cpath.lstat(path)
stat = os.lstat(path)
except OSError as exc:
import errno
if exc.errno != errno.ENOENT:

View File

@ -111,9 +111,13 @@ class CachedPath(object):
return True
return False
# WARNING - this is not currently a drop in replacement since they return False
# rather than raise exceptions.
def stat(self, path):
return self.callstat(path)
# WARNING - this is not currently a drop in replacement since they return False
# rather than raise exceptions.
def lstat(self, path):
return self.calllstat(path)