* [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
* [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
* 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
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