[oe-commits] Denys Dmytriyenko : package.bbclass: export subpackage individual version, if different from main

git version control git at git.openembedded.org
Tue Oct 13 16:09:58 UTC 2009


Module: openembedded.git
Branch: org.openembedded.dev
Commit: 035dab3a2edcb3698b44e64d44b6eecfbc0fb77c
URL:    http://gitweb.openembedded.net/?p=openembedded.git&a=commit;h=035dab3a2edcb3698b44e64d44b6eecfbc0fb77c

Author: Denys Dmytriyenko <denis at denix.org>
Date:   Sat Sep 19 20:33:00 2009 +0000

package.bbclass: export subpackage individual version, if different from main

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 at denix.org>
Acked-by: Koen Kooi <koen at openembedded.org>

---

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

diff --git a/classes/package.bbclass b/classes/package.bbclass
index 0cba126..046351a 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:





More information about the Openembedded-commits mailing list