All of lore.kernel.org
 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 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.