[OE-core] [PATCH] classextend.py: don't extend file for file dependency

changqing.li at windriver.com changqing.li at windriver.com
Mon Sep 16 05:50:23 UTC 2019


From: Changqing Li <changqing.li at windriver.com>

Fix error like:
lib32-e2fsprogs-1.45.3-r0 do_package_qa: QA Issue: /usr/sbin/e2scrub_all
contained in package lib32-e2fsprogs-e2scrub requires /bin/bash,
but no providers found in RDEPENDS_lib32-e2fsprogs-e2scrub

For some lib32 packages(eg: lib32-bash, lib32-sed) which probvides files,
extend is not needed

Eg: RPROVIDES of lib32-bash expects to have /bin/bash, with original
extend, it will become lib32-/bin/bash, then will cause above error

Fix by don't extend file dependency, and skip multilib check for file dependency
in do_package_qa to avoid error like:
WARNING: lib32-bash-5.0-r0 do_package: QA Issue: lib32-bash package lib32-bash
 - suspicious values '/bin/bash /bin/sh' in RPROVIDES [multilib]

Signed-off-by: Changqing Li <changqing.li at windriver.com>
---
 meta/classes/multilib.bbclass | 2 +-
 meta/lib/oe/classextend.py    | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/classes/multilib.bbclass b/meta/classes/multilib.bbclass
index d625bd5..1a9295d 100644
--- a/meta/classes/multilib.bbclass
+++ b/meta/classes/multilib.bbclass
@@ -187,7 +187,7 @@ python do_package_qa_multilib() {
             if (not i.startswith('kernel-module')) and (not i.startswith(mlprefix)) and \
                 (not 'cross-canadian' in i) and (not i.startswith("nativesdk-")) and \
                 (not i.startswith("rtld")) and (not i.startswith('kernel-vmlinux')) \
-                and (not i.startswith("kernel-image")):
+                and (not i.startswith("kernel-image")) and (not i.startswith("/")):
                 candidates.append(i)
         if len(candidates) > 0:
             msg = "%s package %s - suspicious values '%s' in %s" \
diff --git a/meta/lib/oe/classextend.py b/meta/lib/oe/classextend.py
index e25122e..f02fbe9 100644
--- a/meta/lib/oe/classextend.py
+++ b/meta/lib/oe/classextend.py
@@ -24,6 +24,8 @@ class ClassExtender(object):
             if not subs.startswith(self.extname):
                 return "virtual/" + self.extname + "-" + subs
             return name
+        if name.startswith("/"):
+            return name
         if not name.startswith(self.extname):
             return self.extname + "-" + name
         return name
-- 
2.7.4



More information about the Openembedded-core mailing list