[oe-commits] Khem Raj : package.bbclass: Create empty key/ value if not there for shlib_provider

git at git.openembedded.org git at git.openembedded.org
Fri Dec 5 18:01:55 UTC 2014


Module: openembedded-core.git
Branch: master-next
Commit: a64f81fcef42172f788cec7a63bb4672eac99f94
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=a64f81fcef42172f788cec7a63bb4672eac99f94

Author: Khem Raj <raj.khem at gmail.com>
Date:   Fri Nov 21 10:05:03 2014 -0800

package.bbclass: Create empty key/value if not there for shlib_provider

When we use ASSUME_SHLIBS,e.g.

ASSUME_SHLIBS = "libEGL.so.1:libegl-implementation"

then we end up with errors like below when using shlibs2 (dizzy+)

File: 'package_do_shlibs', lineno: 216, function: package_do_shlibs
     0212:            dep_pkg = dep_pkg.rsplit("_", 1)
     0213:            if len(dep_pkg) == 2:
     0214:                lib_ver = dep_pkg[1]
     0215:            dep_pkg = dep_pkg[0]
 *** 0216:            shlib_provider[l][libdir] = (dep_pkg, lib_ver)
     0217:
     0218:    libsearchpath = [d.getVar('libdir', True),
d.getVar('base_libdir', True)]
     0219:
     0220:    for pkg in packages.split():
Exception: KeyError: 'libEGL.so.1'

This is because the entry which is being populated does not exist
so lets create it if its not already there.

Change-Id: I9e292c5439e5d1e01ea48341334507aacc3784ae
Signed-off-by: Khem Raj <raj.khem at gmail.com>
Signed-off-by: Ross Burton <ross.burton at intel.com>

---

 meta/classes/package.bbclass | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass
index 510617c..89cce40 100644
--- a/meta/classes/package.bbclass
+++ b/meta/classes/package.bbclass
@@ -1578,6 +1578,8 @@ python package_do_shlibs() {
             if len(dep_pkg) == 2:
                 lib_ver = dep_pkg[1]
             dep_pkg = dep_pkg[0]
+            if l not in shlib_provider:
+                shlib_provider[l] = {}
             shlib_provider[l][libdir] = (dep_pkg, lib_ver)
 
     libsearchpath = [d.getVar('libdir', True), d.getVar('base_libdir', True)]



More information about the Openembedded-commits mailing list