Fixes the wrong versioned runtime dependency for shlib subpackages with
own versions. Consider this:

PACKAGES = "libfoo libbar"
PV_libfoo = "1"
PV_libbar = "2"
PV = "3"

That will generate libfoo_1 and libbar_2 packages, but version 3 will be
exported in shlibs database, leading to the following versioned runtime
dependencies:

RDEPENDS: libfoo (>=3) libbar (>=3)

This fixes the problem.

Signed-off-by: Denys Dmytriyenko <[email protected]>

---
 classes/package.bbclass |    6 +++++-
 1 files changed, 5 insertions(+), 1 deletions(-)

diff --git a/classes/package.bbclass b/classes/package.bbclass
index 5a9fa50..7a0ba80 100644
--- a/classes/package.bbclass
+++ b/classes/package.bbclass
@@ -652,6 +652,10 @@ python package_do_shlibs() {
                needs_ldconfig = False
                bb.debug(2, "calculating shlib provides for %s" % pkg)
 
+               pkgver = bb.data.getVar('PV_' + pkg, d, 1)
+               if not pkgver:
+                       pkgver = ver
+
                needed[pkg] = []
                sonames = list()
                top = os.path.join(pkgdest, pkg)
@@ -696,7 +700,7 @@ python package_do_shlibs() {
                        fd.close()
                        package_stagefile(shlibs_file, d)
                        fd = open(shver_file, 'w')
-                       fd.write(ver + '\n')
+                       fd.write(pkgver + '\n')
                        fd.close()
                        package_stagefile(shver_file, d)
                if needs_ldconfig and use_ldconfig:
-- 
1.6.3.3


_______________________________________________
Openembedded-devel mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel

Reply via email to