From 93a9928cd74b2886a70a6c79b6a321cf984e5758 Mon Sep 17 00:00:00 2001 From: Ross Burton Date: Tue, 30 Apr 2024 13:57:16 +0000 Subject: [PATCH] insane: handle dangling symlinks in the libdir QA check The "libdir" QA check tries to open every file it finds as an ELF. If it finds a dangling symlink that looks like a library by the filename it will try to open it and fail with FileNotFoundError error. As this dangling symlink probably points to a real file, silently absorb the error. [ YOCTO #13949 ] (From OE-Core rev: 0c263b207a309e9cdf6f55ce72e3cc751041a47c) Signed-off-by: Ross Burton Signed-off-by: Richard Purdie (cherry picked from commit f044290f98ea66f2cecfbffd7d392dbc3d986da9) Signed-off-by: Steve Sakoman --- meta/classes-global/insane.bbclass | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/meta/classes-global/insane.bbclass b/meta/classes-global/insane.bbclass index e963001d09..c32dfffd83 100644 --- a/meta/classes-global/insane.bbclass +++ b/meta/classes-global/insane.bbclass @@ -298,7 +298,7 @@ def package_qa_check_libdir(d): try: elf.open() messages.append("%s: found library in wrong location: %s" % (package, rel_path)) - except (oe.qa.NotELFFileError): + except (oe.qa.NotELFFileError, FileNotFoundError): pass if exec_re.match(rel_path): if libdir not in rel_path and libexecdir not in rel_path: @@ -307,7 +307,7 @@ def package_qa_check_libdir(d): try: elf.open() messages.append("%s: found library in wrong location: %s" % (package, rel_path)) - except (oe.qa.NotELFFileError): + except (oe.qa.NotELFFileError, FileNotFoundError): pass if messages: