package.bbclass: export subpackage individual version, if different from main
authorDenys Dmytriyenko <denis@denix.org>
Sat, 19 Sep 2009 20:33:00 +0000 (20:33 +0000)
committerDenys Dmytriyenko <denis@denix.org>
Tue, 13 Oct 2009 16:08:19 +0000 (12:08 -0400)
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 <denis@denix.org>
Acked-by: Koen Kooi <koen@openembedded.org>
classes/package.bbclass

index 0cba126..046351a 100644 (file)
@@ -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: