[OE-core] [OE-Core][PATCH] util-linux: create nativesdk lib packages

Gaël PORTAY gael.portay at savoirfairelinux.com
Sun Nov 5 18:08:22 UTC 2017


The nativesdk class does not create lib<x> packages as its cross
counterpart does.

	libblkid
	libuuid
	libsmartcols
	libfdisk
	libmount...

Instead theses libraries are shipped into the nativesdk-util-linux
package.

This causes nativesdk images to fail at do_rootfs when a package depends
on util-linux-lib<x> because the nativesdk-util-linux-lib<x> is not
created.

The example below shows what the error looks like with the not created
package nativesdk-util-linux-libuuid.

    	Collected errors:
    	 * calculate_dependencies_for: Cannot satisfy the following dependencies for nativesdk-packagegroup-sdk-host:
    	 *     nativesdk-util-linux-libuuid *
    	 * opkg_solver_install: Cannot install package nativesdk-packagegroup-sdk-host.

The reason comes from the place where the libraries are installed.

Libraries are installed under ${base_libdir} (ie. /lib) for the cross
the package; but they are installed under ${libdir} (ie. /usr/lib) for
nativesdk (and native).

	EXTRA_OECONF = "${SHARED_EXTRA_OECONF} --libdir=${base_libdir}"

	EXTRA_OECONF_class-native = "${SHARED_EXTRA_OECONF} \
	                             --disable-fallocate \
				     --disable-use-tty-group \
	"

The populate_packages_prepend function dynamically creates lib<x>
packages that are installed under ${base_libdir} directory.

The new function populate_packages_prepend_class-nativesdk for nativesdk
mimics the behavior of the cross function.

It creates dynamically nativesdk-lib<x> packages for libraries that are
installed under the ${libdir} directory.

Improves:

	91c0f9e35d util-linux: move libraries to base_libdir
	4cff0bd254 util-linux: Fix QA warnings about ALTERNATIVES
	4571c9e963 util-linux: collect libs for related libxx-dev package
	a7572d7000 util-linux: split libraries dynamically

Signed-off-by: Gaël PORTAY <gael.portay at savoirfairelinux.com>
---
 meta/recipes-core/util-linux/util-linux.inc | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/meta/recipes-core/util-linux/util-linux.inc b/meta/recipes-core/util-linux/util-linux.inc
index 5c4694b1fd..0ab05c8cdc 100644
--- a/meta/recipes-core/util-linux/util-linux.inc
+++ b/meta/recipes-core/util-linux/util-linux.inc
@@ -303,6 +303,13 @@ python populate_packages_prepend() {
                       extra_depends='', prepend=True, allow_links=True)
 }
 
+python populate_packages_prepend_class-nativesdk() {
+    do_split_packages(d, '${libdir}', '^lib(.*)\.so\..*$',
+                      output_pattern='nativesdk-util-linux-lib%s',
+                      description='nativesdk-util-linux lib%s',
+                      extra_depends='', prepend=True, allow_links=True)
+}
+
 RDEPENDS_${PN}-bash-completion += "util-linux-lsblk"
 RDEPENDS_${PN}-ptest = "bash grep coreutils"
 
-- 
2.14.2




More information about the Openembedded-core mailing list