Openembedded Core Discussions
 help / color / mirror / Atom feed
* [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