rendered paste bodyhrw@home:~/devel/oe/org.openembedded/classes$ mtn dif .
#
# old_revision [8b675ccc53dfab5cb741e302ba279dca3cd6cf5c]
#
# patch "classes/package.bbclass"
# from [11f1fb0bda9849ac1e65a798ecb45a9d4818f571]
# to [be10d57037fcb23f8c76cbcdce5811fc6b480848]
#
============================================================
--- classes/package.bbclass 11f1fb0bda9849ac1e65a798ecb45a9d4818f571
+++ classes/package.bbclass be10d57037fcb23f8c76cbcdce5811fc6b480848
@@ -573,11 +573,13 @@ python package_do_shlibs() {
bb.mkdirhier(shlibs_dir)
needed = {}
+ notneeded = {}
for pkg in packages.split():
needs_ldconfig = False
bb.debug(2, "calculating shlib provides for %s" % pkg)
needed[pkg] = []
+ notneeded[pkg] = []
sonames = list()
top = os.path.join(workdir, "install", pkg)
for root, dirs, files in os.walk(top):
@@ -597,6 +599,7 @@ python package_do_shlibs() {
m = re.match("\s+SONAME\s+([^\s]*)", l)
if m and not m.group(1) in sonames:
sonames.append(m.group(1))
+ notneeded[pkg].append(m.group(1))
if m and libdir_re.match(root):
needs_ldconfig = True
shlibs_file = os.path.join(shlibs_dir, pkg + ".list")
@@ -647,6 +650,11 @@ python package_do_shlibs() {
bb.debug(2, "calculating shlib requirements for %s" % pkg)
deps = list()
+
+ for nn in notneeded[pkg]:
+ if needed[pkg].index(nn):
+ needed[pkg].remove(nn)
+
for n in needed[pkg]:
if n in shlib_provider.keys():
(dep_pkg, ver_needed) = shlib_provider[n]