summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRoss Burton <ross@burtonini.com>2020-09-03 13:43:19 +0100
committerSteve Sakoman <steve@sakoman.com>2020-09-08 04:25:45 -1000
commit0b6f03752e6581a15e5fb900a8de7aef78709ef6 (patch)
treed208bc88e0913473d9d892c1fbdd86895d57575f
parent02a1d8edc42961a4d97e6cd8d6e7cc573e1c1486 (diff)
downloadopenembedded-core-contrib-0b6f03752e6581a15e5fb900a8de7aef78709ef6.tar.gz
insane: only load real files as ELF
The file path checks are passed an ELF object if the file is an ELF. It doesn't make a lot of sense to load symlinks to ELFs as if they're in the same package then the real file will be checked too. This should speed up do_package_qa slightly as libraries won't be scanned repeatedly. Signed-off-by: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> (cherry picked from commit c63af30d3b6350361daff94a59d4f14d7c5395e1) Signed-off-by: Steve Sakoman <steve@sakoman.com>
-rw-r--r--meta/classes/insane.bbclass13
1 files changed, 7 insertions, 6 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass
index c595080bdf..46d386a38b 100644
--- a/meta/classes/insane.bbclass
+++ b/meta/classes/insane.bbclass
@@ -708,12 +708,13 @@ def package_qa_walk(warnfuncs, errorfuncs, package, d):
warnings = {}
errors = {}
for path in pkgfiles[package]:
- elf = oe.qa.ELFFile(path)
- try:
- elf.open()
- except (IOError, oe.qa.NotELFFileError):
- # IOError can happen if the packaging control files disappear,
- elf = None
+ elf = None
+ if os.path.isfile(path):
+ elf = oe.qa.ELFFile(path)
+ try:
+ elf.open()
+ except oe.qa.NotELFFileError:
+ elf = None
for func in warnfuncs:
func(path, package, d, elf, warnings)
for func in errorfuncs: