* [PATCH 1/5] remove-libtool: add new class
@ 2016-02-02 13:27 Ross Burton
2016-02-02 13:27 ` [PATCH 2/5] libnl: package the libnl-cli modules in libnl-cli Ross Burton
` (3 more replies)
0 siblings, 4 replies; 7+ messages in thread
From: Ross Burton @ 2016-02-02 13:27 UTC (permalink / raw)
To: openembedded-core
This class adds a postfunc to do_install to remove all .la files installed by
libtool, so that they are absent from both the sysroots and target packages.
If a recipe needs these files to be installed then it can be overridden by
setting REMOVE_LIBTOOL_LA.
Note that this class isn't enabled by default.
[ YOCTO #2380 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
---
meta/classes/remove-libtool.bbclass | 11 +++++++++++
1 file changed, 11 insertions(+)
create mode 100644 meta/classes/remove-libtool.bbclass
diff --git a/meta/classes/remove-libtool.bbclass b/meta/classes/remove-libtool.bbclass
new file mode 100644
index 0000000..3fd0cd5
--- /dev/null
+++ b/meta/classes/remove-libtool.bbclass
@@ -0,0 +1,11 @@
+# This class removes libtool .la files after do_install
+
+REMOVE_LIBTOOL_LA ?= "1"
+
+remove_libtool_la() {
+ if [ "${REMOVE_LIBTOOL_LA}" != "0" ]; then
+ find "${D}" -ignore_readdir_race -name "*.la" -delete
+ fi
+}
+
+do_install[postfuncs] += "remove_libtool_la"
--
2.6.4
^ permalink raw reply related [flat|nested] 7+ messages in thread* [PATCH 2/5] libnl: package the libnl-cli modules in libnl-cli 2016-02-02 13:27 [PATCH 1/5] remove-libtool: add new class Ross Burton @ 2016-02-02 13:27 ` Ross Burton 2016-02-02 13:27 ` [PATCH 3/5] p11-kit: fix module packaging Ross Burton ` (2 subsequent siblings) 3 siblings, 0 replies; 7+ messages in thread From: Ross Burton @ 2016-02-02 13:27 UTC (permalink / raw) To: openembedded-core The libraries that get installed into $libdir/libnl/cli/ are not development libraries for linking against but loadable modules for the libnl-cli component, so move them to the right package. (From OE-Core rev: 0b485870ccee4bc3ff8689b7f9c537260ce9d415) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/recipes-support/libnl/libnl_3.2.25.bb | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/meta/recipes-support/libnl/libnl_3.2.25.bb b/meta/recipes-support/libnl/libnl_3.2.25.bb index 2d0b2e8..cabe841 100644 --- a/meta/recipes-support/libnl/libnl_3.2.25.bb +++ b/meta/recipes-support/libnl/libnl_3.2.25.bb @@ -25,13 +25,12 @@ FILES_${PN} = "${libdir}/libnl-3.so.* \ ${sysconfdir}" RREPLACES_${PN} = "libnl2" RCONFLICTS_${PN} = "libnl2" -FILES_${PN}-dev += "${libdir}/libnl/cli/*/*.so \ - ${libdir}/libnl/cli/*/*.la" FILES_${PN}-staticdev += "${libdir}/libnl/cli/*/*.a" PACKAGES += "${PN}-cli ${PN}-route ${PN}-nf ${PN}-genl ${PN}-idiag" FILES_${PN}-cli = "${libdir}/libnl-cli-3.so.* \ - ${libdir}/libnl/cli/*/*.so.* \ + ${libdir}/libnl/cli/*/*.so \ + ${libdir}/libnl/cli/*/*.la \ ${sbindir}/nl-*" FILES_${PN}-route = "${libdir}/libnl-route-3.so.*" FILES_${PN}-idiag = "${libdir}/libnl-idiag-3.so.*" -- 2.6.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 3/5] p11-kit: fix module packaging 2016-02-02 13:27 [PATCH 1/5] remove-libtool: add new class Ross Burton 2016-02-02 13:27 ` [PATCH 2/5] libnl: package the libnl-cli modules in libnl-cli Ross Burton @ 2016-02-02 13:27 ` Ross Burton 2016-02-02 13:27 ` [PATCH 4/5] python3: set INSANE_SKIP as libpython3.so is a trampoline library Ross Burton 2016-02-02 13:27 ` [PATCH 5/5] insane: add test for -dev packaging containing real libraries Ross Burton 3 siblings, 0 replies; 7+ messages in thread From: Ross Burton @ 2016-02-02 13:27 UTC (permalink / raw) To: openembedded-core These .so files are actually loadable modules, so should be installed into $PN not $PN-dev. Signed-off-by: Ross Burton <ross.burton@intel.com> --- meta/recipes-support/p11-kit/p11-kit_0.22.1.bb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb b/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb index f501372..798ad37 100644 --- a/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb +++ b/meta/recipes-support/p11-kit/p11-kit_0.22.1.bb @@ -12,9 +12,10 @@ SRC_URI[sha256sum] = "ef3a339fcf6aa0e32c8c23f79ba7191e57312be2bda8b24e6d121c2670 EXTRA_OECONF = "--without-trust-paths" -FILES_${PN}-dev += " \ +FILES_${PN} += " \ ${libdir}/p11-kit-proxy.so \ - ${libdir}/pkcs11/p11-kit-trust.so \ -" -FILES_${PN}-dev += "${libdir}/pkcs11/*.la" + ${libdir}/pkcs11/*.so \ + ${libdir}/pkcs11/*.la" +# PN contains p11-kit-proxy.so, a symlink to a loadable module +INSANE_SKIP_${PN} = "dev-elf" -- 2.6.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH 4/5] python3: set INSANE_SKIP as libpython3.so is a trampoline library 2016-02-02 13:27 [PATCH 1/5] remove-libtool: add new class Ross Burton 2016-02-02 13:27 ` [PATCH 2/5] libnl: package the libnl-cli modules in libnl-cli Ross Burton 2016-02-02 13:27 ` [PATCH 3/5] p11-kit: fix module packaging Ross Burton @ 2016-02-02 13:27 ` Ross Burton 2016-02-02 14:10 ` Martin Jansa 2016-02-02 13:27 ` [PATCH 5/5] insane: add test for -dev packaging containing real libraries Ross Burton 3 siblings, 1 reply; 7+ messages in thread From: Ross Burton @ 2016-02-02 13:27 UTC (permalink / raw) To: openembedded-core (From OE-Core rev: b7059f16fa4eb8795a4bec3f86d4ea309beaf485) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/recipes-devtools/python/python3_3.5.1.bb | 1 + 1 file changed, 1 insertion(+) diff --git a/meta/recipes-devtools/python/python3_3.5.1.bb b/meta/recipes-devtools/python/python3_3.5.1.bb index 0d9a4cc..54007d3 100644 --- a/meta/recipes-devtools/python/python3_3.5.1.bb +++ b/meta/recipes-devtools/python/python3_3.5.1.bb @@ -211,6 +211,7 @@ FILES_${PN}-pyvenv += "${bindir}/pyvenv-${PYTHON_MAJMIN} ${bindir}/pyvenv" PACKAGES =+ "libpython3 libpython3-staticdev" FILES_libpython3 = "${libdir}/libpython*.so.*" FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}/libpython${PYTHON_BINABI}.a" +INSANE_SKIP_${PN}-dev += "dev-elf" # catch all the rest (unsorted) PACKAGES += "${PN}-misc" -- 2.6.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH 4/5] python3: set INSANE_SKIP as libpython3.so is a trampoline library 2016-02-02 13:27 ` [PATCH 4/5] python3: set INSANE_SKIP as libpython3.so is a trampoline library Ross Burton @ 2016-02-02 14:10 ` Martin Jansa 2016-02-02 14:18 ` Burton, Ross 0 siblings, 1 reply; 7+ messages in thread From: Martin Jansa @ 2016-02-02 14:10 UTC (permalink / raw) To: Ross Burton; +Cc: openembedded-core [-- Attachment #1: Type: text/plain, Size: 1432 bytes --] On Tue, Feb 02, 2016 at 01:27:14PM +0000, Ross Burton wrote: > (From OE-Core rev: b7059f16fa4eb8795a4bec3f86d4ea309beaf485) This points to master-next branch and will probably became invalid next time master-next is rebased. > > Signed-off-by: Ross Burton <ross.burton@intel.com> > Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> > --- > meta/recipes-devtools/python/python3_3.5.1.bb | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/meta/recipes-devtools/python/python3_3.5.1.bb b/meta/recipes-devtools/python/python3_3.5.1.bb > index 0d9a4cc..54007d3 100644 > --- a/meta/recipes-devtools/python/python3_3.5.1.bb > +++ b/meta/recipes-devtools/python/python3_3.5.1.bb > @@ -211,6 +211,7 @@ FILES_${PN}-pyvenv += "${bindir}/pyvenv-${PYTHON_MAJMIN} ${bindir}/pyvenv" > PACKAGES =+ "libpython3 libpython3-staticdev" > FILES_libpython3 = "${libdir}/libpython*.so.*" > FILES_libpython3-staticdev += "${libdir}/python${PYTHON_MAJMIN}/config-${PYTHON_BINABI}/libpython${PYTHON_BINABI}.a" > +INSANE_SKIP_${PN}-dev += "dev-elf" > > # catch all the rest (unsorted) > PACKAGES += "${PN}-misc" > -- > 2.6.4 > > -- > _______________________________________________ > Openembedded-core mailing list > Openembedded-core@lists.openembedded.org > http://lists.openembedded.org/mailman/listinfo/openembedded-core -- Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com [-- Attachment #2: Digital signature --] [-- Type: application/pgp-signature, Size: 188 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* Re: [PATCH 4/5] python3: set INSANE_SKIP as libpython3.so is a trampoline library 2016-02-02 14:10 ` Martin Jansa @ 2016-02-02 14:18 ` Burton, Ross 0 siblings, 0 replies; 7+ messages in thread From: Burton, Ross @ 2016-02-02 14:18 UTC (permalink / raw) To: Martin Jansa; +Cc: OE-core [-- Attachment #1: Type: text/plain, Size: 238 bytes --] On 2 February 2016 at 14:10, Martin Jansa <martin.jansa@gmail.com> wrote: > This points to master-next branch and will probably became invalid next > time master-next is rebased. > Whoops, rebase cruft. Removed locally. Ross [-- Attachment #2: Type: text/html, Size: 752 bytes --] ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH 5/5] insane: add test for -dev packaging containing real libraries 2016-02-02 13:27 [PATCH 1/5] remove-libtool: add new class Ross Burton ` (2 preceding siblings ...) 2016-02-02 13:27 ` [PATCH 4/5] python3: set INSANE_SKIP as libpython3.so is a trampoline library Ross Burton @ 2016-02-02 13:27 ` Ross Burton 3 siblings, 0 replies; 7+ messages in thread From: Ross Burton @ 2016-02-02 13:27 UTC (permalink / raw) To: openembedded-core 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. (From OE-Core rev: 1fe7e025e3b8530456feacb5cc3b60b3b878ada3) Signed-off-by: Ross Burton <ross.burton@intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> --- meta/classes/insane.bbclass | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/meta/classes/insane.bbclass b/meta/classes/insane.bbclass index 500a37c..c70e887 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): """ -- 2.6.4 ^ permalink raw reply related [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-02-02 14:18 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2016-02-02 13:27 [PATCH 1/5] remove-libtool: add new class Ross Burton 2016-02-02 13:27 ` [PATCH 2/5] libnl: package the libnl-cli modules in libnl-cli Ross Burton 2016-02-02 13:27 ` [PATCH 3/5] p11-kit: fix module packaging Ross Burton 2016-02-02 13:27 ` [PATCH 4/5] python3: set INSANE_SKIP as libpython3.so is a trampoline library Ross Burton 2016-02-02 14:10 ` Martin Jansa 2016-02-02 14:18 ` Burton, Ross 2016-02-02 13:27 ` [PATCH 5/5] insane: add test for -dev packaging containing real libraries Ross Burton
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox