From patchwork Thu Dec 20 15:46:12 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Fix dependency ordering Date: Thu, 20 Dec 2012 15:46:12 -0000 From: Alexandru DAMIAN X-Patchwork-Id: 41411 Message-Id: <1356018372-26226-1-git-send-email-alexandru.damian@intel.com> To: richard.purdie@linuxfoundation.org, paul.eggleton@linux.intel.com, laurentiu.palcu@intel.com, constantinx.musca@intel.com, ross.burton@intel.com, openembedded-core@lists.openembedded.org Cc: Alexandru DAMIAN From: Alexandru DAMIAN This patch fixes the precedence of the dependency list that may appear when a single package source is split in multiple binary packages. The shared lib dependency resolver will prefer the shared library as found in the package tree instead as it is defined in the PACKAGES instructions. The fix will prevent overriding the package name with the parent package name. Signed-off-by: Alexandru DAMIAN --- meta/classes/package.bbclass | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/meta/classes/package.bbclass b/meta/classes/package.bbclass index 9885d94..4556315 100644 --- a/meta/classes/package.bbclass +++ b/meta/classes/package.bbclass @@ -1508,7 +1508,8 @@ python package_do_shlibs() { lib_ver = fd.readline().rstrip() fd.close() for l in lines: - shlib_provider[l.rstrip()] = (dep_pkg, lib_ver) + if not l.rstrip() in shlib_provider: + shlib_provider[l.rstrip()] = (dep_pkg, lib_ver) bb.utils.unlockfile(lf) @@ -1521,7 +1522,8 @@ python package_do_shlibs() { if len(dep_pkg) == 2: lib_ver = dep_pkg[1] dep_pkg = dep_pkg[0] - shlib_provider[l] = (dep_pkg, lib_ver) + if not l in shlib_provider: + shlib_provider[l] = (dep_pkg, lib_ver) for pkg in packages.split(): bb.debug(2, "calculating shlib requirements for %s" % pkg)