hrw@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]