From 7724cd224af01f565a019629094b9b455ee3d3e4 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Thu, 3 Sep 2020 13:43:19 +0100 Subject: 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. (From OE-Core rev: 0b6f03752e6581a15e5fb900a8de7aef78709ef6) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie (cherry picked from commit c63af30d3b6350361daff94a59d4f14d7c5395e1) Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/classes/insane.bbclass | 13 +++++++------ 1 file 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: -- cgit v1.2.3-54-g00ecf