13:07 hrw@home:org.openembedded$ mtn diff classes/package.bbclass packages/pimlico/dates.inc packages/openmoko-pim/openmoko-dates_svn.bb # # old_revision [1ed405ffccbd44e0a25a79e91b04768f25f6d2a4] # # patch "classes/package.bbclass" # from [11f1fb0bda9849ac1e65a798ecb45a9d4818f571] # to [df64baa1d04a80ef9e60074accc4e3f6edbe90c2] # # patch "packages/openmoko-pim/openmoko-dates_svn.bb" # from [3c8266f76280e518251f226f0bb8eb00dd1fc071] # to [20a9e6532534f98641249d3415259acb51f782d4] # # patch "packages/pimlico/dates.inc" # from [a64609f3f3056abc3ec4fb11dcea81c42a9757cb] # to [3c8175461e2a23c3fe274e3a505e5a6ee08ac90b] # ============================================================ --- classes/package.bbclass 11f1fb0bda9849ac1e65a798ecb45a9d4818f571 +++ classes/package.bbclass df64baa1d04a80ef9e60074accc4e3f6edbe90c2 @@ -573,11 +573,14 @@ python package_do_shlibs() { bb.mkdirhier(shlibs_dir) needed = {} + selfprovided = {} + private_libs = bb.data.getVar('PRIVATE_LIBS', d, 1) for pkg in packages.split(): needs_ldconfig = False bb.debug(2, "calculating shlib provides for %s" % pkg) needed[pkg] = [] + selfprovided[pkg] = [] sonames = list() top = os.path.join(workdir, "install", pkg) for root, dirs, files in os.walk(top): @@ -596,7 +599,10 @@ python package_do_shlibs() { needed[pkg].append(m.group(1)) m = re.match("\s+SONAME\s+([^\s]*)", l) if m and not m.group(1) in sonames: - sonames.append(m.group(1)) + # if library is private (only used by package) then do not build shlib for it + if -1 == private_libs.find(m.group(1)): + sonames.append(m.group(1)) + selfprovided[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 +653,14 @@ python package_do_shlibs() { bb.debug(2, "calculating shlib requirements for %s" % pkg) deps = list() + + for sp in selfprovided[pkg]: + try: + if needed[pkg].index(sp): + needed[pkg].remove(sp) + except: + print 'error: %s' % sp + for n in needed[pkg]: if n in shlib_provider.keys(): (dep_pkg, ver_needed) = shlib_provider[n] ============================================================ --- packages/openmoko-pim/openmoko-dates_svn.bb 3c8266f76280e518251f226f0bb8eb00dd1fc071 +++ packages/openmoko-pim/openmoko-dates_svn.bb 20a9e6532534f98641249d3415259acb51f782d4 @@ -1,10 +1,12 @@ RDEPENDS = "libedata-cal" DESCRIPTION = "Dates is a calendar application." SECTION = "openmoko/pim" LICENSE = "GPL" DEPENDS = "glib-2.0 gtk+ libglade eds-dbus openmoko-libs" RDEPENDS = "libedata-cal" +RCONFLICTS = "dates" +RREPLACES = "dates" PV = "0.1+svn${SRCDATE}" -PR = "r6" +PR = "r7" inherit gnome autotools pkgconfig gtk-icon-cache @@ -23,3 +25,4 @@ FILES_${PN} += "${datadir}/pixmaps/dates FILES_${PN} += "${datadir}/pixmaps/dates.png \ ${datadir}/dates/" +PRIVATE_LIBS = "libgtkdatesview.so.0" ============================================================ --- packages/pimlico/dates.inc a64609f3f3056abc3ec4fb11dcea81c42a9757cb +++ packages/pimlico/dates.inc 3c8175461e2a23c3fe274e3a505e5a6ee08ac90b @@ -1,8 +1,10 @@ RDEPENDS = "libedata-cal" DESCRIPTION = "Dates is a calendar application." LICENSE = "LGPL" SECTION = "x11" DEPENDS = "glib-2.0 gtk+ libglade eds-dbus" RDEPENDS = "libedata-cal" +RCONFLICTS = "openmoko-dates" +RREPLACES = "openmoko-dates" inherit autotools pkgconfig gtk-icon-cache @@ -15,3 +17,4 @@ do_install_append () { install -m 0644 ${D}/${datadir}/icons/hicolor/48x48/apps/dates.png ${D}/${datadir}/pixmaps/ } +PRIVATE_LIBS = "libgtkdatesview.so.0" 13:08 hrw@home:org.openembedded$