]> code.ossystems Code Review - openembedded-core.git/commitdiff
insane: only load real files as ELF
authorRoss Burton <ross@burtonini.com>
Thu, 3 Sep 2020 12:43:19 +0000 (13:43 +0100)
committerSteve Sakoman <steve@sakoman.com>
Tue, 8 Sep 2020 14:25:45 +0000 (04:25 -1000)
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>
meta/classes/insane.bbclass

index c595080bdff34dd703a088ed09f638ae08cd1c44..46d386a38bcf0cfc2d8a0a2f46b86a55148433c0 100644 (file)
@@ -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: