* [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 an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.