[oe-commits] [openembedded-core] 01/20: package.bbclass: exclude packages as shlib providers

git at git.openembedded.org git at git.openembedded.org
Wed Jul 18 10:43:40 UTC 2018


This is an automated email from the git hooks/post-receive script.

rpurdie pushed a commit to branch master-next
in repository openembedded-core.

commit f3fa74b6d76ae3b00a09c3d27a4291fc2e05e315
Author: Oleksii Konoplitskyi <okonopli at cisco.com>
AuthorDate: Tue Jul 17 18:40:34 2018 +0300

    package.bbclass: exclude packages as shlib providers
    
    Some packages containing shared libraries might be registered
    as shlib providers when they shouldn't (for example, the lib is for
    their private use and must not generate any dependency).
    
    EXCLUDE_FROM_SHLIBS is targeted at that, but it could be set
    for entire recipe only.
    
    This patch allows to set list of packages that are not candidates
    for shlib providers.
    
    Variable EXCLUDE_PACKAGES_FROM_SHLIBS is used, e.g.:
    EXCLUDE_PACKAGES_FROM_SHLIBS = "glibc-ptest glibc-mtest"
    
    Cc: Andrii Bordunov <aborduno at cisco.com>
    Signed-off-by: Oleksii Konoplitskyi <okonopli at cisco.com>
    Signed-off-by: Richard Purdie <richard.purdie at linuxfoundation.org>
---
 meta/classes/package.bbclass | 16 ++++++++++++++--
 1 file changed, 14 insertions(+), 2 deletions(-)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index edeffa9..07bc378 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1603,6 +1603,18 @@ python package_do_shlibs() {
     libdir_re = re.compile(".*/%s$" % d.getVar('baselib'))
 
     packages = d.getVar('PACKAGES')
+
+    shlib_pkgs = []
+    exclusion_list = d.getVar("EXCLUDE_PACKAGES_FROM_SHLIBS")
+    if exclusion_list:
+        for pkg in packages.split():
+            if pkg not in exclusion_list.split():
+                shlib_pkgs.append(pkg)
+            else:
+                bb.note("not generating shlibs for %s" % pkg)
+    else:
+        shlib_pkgs = packages.split()
+
     targetos = d.getVar('TARGET_OS')
 
     workdir = d.getVar('WORKDIR')
@@ -1734,7 +1746,7 @@ python package_do_shlibs() {
     needed = {}
     shlib_provider = oe.package.read_shlib_providers(d)
 
-    for pkg in packages.split():
+    for pkg in shlib_pkgs:
         private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or d.getVar('PRIVATE_LIBS') or ""
         private_libs = private_libs.split()
         needs_ldconfig = False
@@ -1806,7 +1818,7 @@ python package_do_shlibs() {
 
     libsearchpath = [d.getVar('libdir'), d.getVar('base_libdir')]
 
-    for pkg in packages.split():
+    for pkg in shlib_pkgs:
         bb.debug(2, "calculating shlib requirements for %s" % pkg)
 
         private_libs = d.getVar('PRIVATE_LIBS_' + pkg) or d.getVar('PRIVATE_LIBS') or ""

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.


More information about the Openembedded-commits mailing list