From a64f81fcef42172f788cec7a63bb4672eac99f94 Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Fri, 21 Nov 2014 10:05:03 -0800 Subject: 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 Signed-off-by: Ross Burton --- meta/classes/package.bbclass | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 510617c3de..89cce40d45 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)] -- cgit 1.2.3-korg