diff mbox

[6/9] auto-package-libs: Allow for setting LIBRARY_VERSION

Message ID fa2bec829847c9973b15efddd777619e7e639389.1389702128.git.christian.braunersorensen@prevas.dk
State Accepted
Delegated to: Esben Haabendal
Headers show

Commit Message

christian.braunersorensen@prevas.dk Jan. 14, 2014, 12:29 p.m. UTC
From: Christian Sørensen <christian.braunersorensen@prevas.dk>

Signed-off-by: Christian Sørensen <christian.braunersorensen@prevas.dk>
---
 classes/auto-package-libs.oeclass | 13 +++++++++++++
 1 file changed, 13 insertions(+)
diff mbox

Patch

diff --git a/classes/auto-package-libs.oeclass b/classes/auto-package-libs.oeclass
index 74fd155..4522743 100644
--- a/classes/auto-package-libs.oeclass
+++ b/classes/auto-package-libs.oeclass
@@ -14,6 +14,9 @@ 
 ##      the list
 ## @var AUTO_PACKAGE_LIBDIR If having libraries an uncommen place, ensure that
 ##      path is in this variable.
+## @var LIBRARY_VERSION Set the version of the library (foobar.so.2 has
+##      library version 2). May also be set for a specific package within a
+##      recipe using LIBRARY_VERSION_pkgname.
 
 PACKAGES =+ "${LIBS_AUTO_PACKAGES}"
 PACKAGES[expand] = 3
@@ -139,10 +142,20 @@  def auto_package_libs (d):
         pkg_provides = (d.get("PROVIDES_" + pkg) or "").split()
         pkg_provides.append("%s%s"%(provideprefix,
                                     lib.replace("_", "-").lower()))
+        library_version = d.get("LIBRARY_VERSION")
+        library_version_pkg = d.get("LIBRARY_VERSION_" + pkg)
+        if library_version:
+	    if library_version_pkg:
+	        pkg_provides.append(provideprefix + lib.replace("_","-").lower() \
+		    + '-' + library_version_pkg)
+	    else:
+	        pkg_provides.append(provideprefix + lib.replace("_","-").lower() \
+		    + '-' + library_version)
         d.set("PROVIDES_" + pkg, " ".join(pkg_provides))
 
         qaflags = (d.get_flag("PROVIDES_" + pkg,"qa") or "").split()
         qaflags.append("is-library")
+        qaflags.append("allow-missing-soname:" + pkg)
         d.set_flag("PROVIDES_" + pkg, "qa", " ".join(qaflags))
 
         devpkg_provides = (d.get("PROVIDES_" + devpkg) or "").split()