diff options
| author | Ross Burton <ross.burton@arm.com> | 2024-04-30 13:57:16 +0000 |
|---|---|---|
| committer | Steve Sakoman <steve@sakoman.com> | 2024-07-03 06:28:37 -0700 |
| commit | 93a9928cd74b2886a70a6c79b6a321cf984e5758 (patch) | |
| tree | 11576fa303df918fa05d0de4c26a6f3dae7d487e /meta/classes-global | |
| parent | ccebd3616033f2f15057ee3cb41b25d797e71f9b (diff) | |
| download | poky-93a9928cd74b2886a70a6c79b6a321cf984e5758.tar.gz | |
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 <ross.burton@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit f044290f98ea66f2cecfbffd7d392dbc3d986da9)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Diffstat (limited to 'meta/classes-global')
| -rw-r--r-- | meta/classes-global/insane.bbclass | 4 |
1 files 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): | |||
| 298 | try: | 298 | try: |
| 299 | elf.open() | 299 | elf.open() |
| 300 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) | 300 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) |
| 301 | except (oe.qa.NotELFFileError): | 301 | except (oe.qa.NotELFFileError, FileNotFoundError): |
| 302 | pass | 302 | pass |
| 303 | if exec_re.match(rel_path): | 303 | if exec_re.match(rel_path): |
| 304 | if libdir not in rel_path and libexecdir not in rel_path: | 304 | if libdir not in rel_path and libexecdir not in rel_path: |
| @@ -307,7 +307,7 @@ def package_qa_check_libdir(d): | |||
| 307 | try: | 307 | try: |
| 308 | elf.open() | 308 | elf.open() |
| 309 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) | 309 | messages.append("%s: found library in wrong location: %s" % (package, rel_path)) |
| 310 | except (oe.qa.NotELFFileError): | 310 | except (oe.qa.NotELFFileError, FileNotFoundError): |
| 311 | pass | 311 | pass |
| 312 | 312 | ||
| 313 | if messages: | 313 | if messages: |
