[OE-core] [PATCH v3] lsb: fix usrmerge install paths

Ioan-Adrian Ratiu adrian.ratiu at ni.com
Fri Jul 20 11:18:16 UTC 2018


${base_prefix} is set in bitbake.conf to empty. This makes lsb_release
always install under /bin which is a problem if usrmerge is in
DISTRO_FEATURES, because it needs to be installed under /usr/bin.

By using ${root_prefix} instead, we fix the usrmerge install path and
the following QA warning goes away while keeping the non-usrmerge path
identical.

WARNING: lsb-5.0-r0 do_package: QA Issue: lsb: Files/directories were
installed but not shipped in any package:
  /bin
  /bin/lsb_release
Please set FILES such that these items are packaged. Alternatively
if they are unneeded, avoid installing them or delete them within do_install.
lsb: 2 installed and not shipped files. [installed-vs-shipped]

Also if usrmerge is defined don't try to create the lib64 symlink
because base-files handles it to avoid the do_rootfs error

Collected errors:
 * check_data_file_clashes: Package lsb wants to install file
 tmp-glibc/work/x64-nilrt-linux/test-image/1.0-r0/rootfs/lib64
         But that file is already provided by package  * base-files

Signed-off-by: Ioan-Adrian Ratiu <adrian.ratiu at ni.com>
---
 meta/recipes-extended/lsb/lsb_5.0.bb | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/meta/recipes-extended/lsb/lsb_5.0.bb b/meta/recipes-extended/lsb/lsb_5.0.bb
index df4812e4bc..d1de334008 100644
--- a/meta/recipes-extended/lsb/lsb_5.0.bb
+++ b/meta/recipes-extended/lsb/lsb_5.0.bb
@@ -34,7 +34,7 @@ S = "${WORKDIR}/lsb-release-1.4"
 CLEANBROKEN = "1"
 
 do_install() {
-	oe_runmake install prefix=${D}${base_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D}
+	oe_runmake install prefix=${D}${root_prefix} mandir=${D}${datadir}/man/ DESTDIR=${D}
 
 	# these two dirs are needed by package lsb-dist-checker
 	mkdir -p ${D}${sysconfdir}/opt
@@ -99,7 +99,9 @@ do_install_append() {
        fi
 
        if [ "${TARGET_ARCH}" = "x86_64" ]; then
-               if [ "${base_libdir}" != "${base_prefix}/lib64" ]; then
+       	       # don't symlink if usrmerge is in DISTRO_FEATURES as it manages the symlink
+               if ${@bb.utils.contains('DISTRO_FEATURES','usrmerge','false','true',d)} && \
+	       	  [ "${base_libdir}" != "${base_prefix}/lib64" ]; then
                    lnr ${D}${base_libdir} ${D}${base_prefix}/lib64
                fi
 	       cd ${D}${base_libdir}
-- 
2.18.0




More information about the Openembedded-core mailing list