diff options
author | Ross Burton <ross.burton@intel.com> | 2016-02-01 16:21:24 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-02 14:42:15 +0000 |
commit | 47d38d4d86ec6a8c143603ef4d0f056f5a5d9ceb (patch) | |
tree | e257e52677f7a5c436bc383ee953745c67e75baf /meta/classes | |
parent | 1c5fc03e1cb3241c7bfd5642c0fc8c1a7e0c1e36 (diff) | |
download | openembedded-core-47d38d4d86ec6a8c143603ef4d0f056f5a5d9ceb.tar.gz openembedded-core-47d38d4d86ec6a8c143603ef4d0f056f5a5d9ceb.tar.bz2 openembedded-core-47d38d4d86ec6a8c143603ef4d0f056f5a5d9ceb.zip |
insane: add test for -dev packaging containing real libraries
PN-dev packages should generally contain the link-time symlinks from libfoo.so
to the real libraries. If a recipe installs a real library named libfoo.so
there's a very good chance that it's a loadable module and should be in another
package.
Signed-off-by: Ross Burton <ross.burton@intel.com>
Diffstat (limited to 'meta/classes')
-rw-r--r-- | meta/classes/insane.bbclass | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 500a37ca0f..c70e887d52 100644 --- a/meta/classes/insane.bbclass +++ b/meta/classes/insane.bbclass @@ -38,7 +38,7 @@ ERROR_QA ?= "dev-so debug-deps dev-deps debug-files arch pkgconfig la \ perms dep-cmp pkgvarcheck perm-config perm-line perm-link \ split-strip packages-list pkgv-undefined var-undefined \ version-going-backwards expanded-d invalid-chars \ - license-checksum \ + license-checksum dev-elf \ " FAKEROOT_QA = "host-user-contaminated" FAKEROOT_QA[doc] = "QA tests which need to run under fakeroot. If any \ @@ -275,6 +275,17 @@ def package_qa_check_dev(path, name, d, elf, messages): package_qa_add_message(messages, "dev-so", "non -dev/-dbg/nativesdk- package contains symlink .so: %s path '%s'" % \ (name, package_qa_clean_path(path,d))) +QAPATHTEST[dev-elf] = "package_qa_check_dev_elf" +def package_qa_check_dev_elf(path, name, d, elf, messages): + """ + Check that -dev doesn't contain real shared libraries. The test has to + check that the file is not a link and is an ELF object as some recipes + install link-time .so files that are linker scripts. + """ + if name.endswith("-dev") and path.endswith(".so") and not os.path.islink(path) and elf: + package_qa_add_message(messages, "dev-elf", "-dev package contains non-symlink .so: %s path '%s'" % \ + (name, package_qa_clean_path(path,d))) + QAPATHTEST[staticdev] = "package_qa_check_staticdev" def package_qa_check_staticdev(path, name, d, elf, messages): """ |