[PATCH 19.07 v2 1/2] ubus: backport SOVERSION support

Petr Štetiar ynezz at true.cz
Thu Jun 3 02:56:41 PDT 2021


Add a support for setting of new `ABIVERSION` CMake define which allows
to control the SOVERSION used for the built shared library. This is
needed for downstream packaging to properly track breaking ABI changes
when updating to newer versions of the library.

Signed-off-by: Felix Fietkau <nbd at nbd.name>
Signed-off-by: Petr Štetiar <ynezz at true.cz> [backport]
(backported from commit 8edb1797d55d259c6eda18c89784f152328436fc)
---
 package/system/ubus/Makefile | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/package/system/ubus/Makefile b/package/system/ubus/Makefile
index d3fe45225228..5e3bbd120dc6 100644
--- a/package/system/ubus/Makefile
+++ b/package/system/ubus/Makefile
@@ -8,6 +8,7 @@ PKG_SOURCE_URL=$(PROJECT_GIT)/project/ubus.git
 PKG_SOURCE_DATE:=2019-12-27
 PKG_SOURCE_VERSION:=041c9d1c052bb4936fd03240f7d0dd64aedda972
 PKG_MIRROR_HASH:=7febbe78dd178d8d7ccacff54c00fb2d19a53624005920db8cd85236f54f8324
+PKG_ABI_VERSION:=20191227
 CMAKE_INSTALL:=1
 
 PKG_LICENSE:=LGPL-2.1
@@ -36,7 +37,7 @@ define Package/libubus
   SECTION:=libs
   CATEGORY:=Libraries
   DEPENDS:=+libubox
-  ABI_VERSION:=20191227
+  ABI_VERSION:=$(PKG_ABI_VERSION)
   TITLE:=OpenWrt RPC client library
 endef
 
@@ -51,7 +52,8 @@ TARGET_CFLAGS += -I$(STAGING_DIR)/usr/include -flto
 TARGET_LDFLAGS += -flto
 
 CMAKE_OPTIONS = \
-	-DLUAPATH=/usr/lib/lua
+	-DLUAPATH=/usr/lib/lua \
+	-DABIVERSION="$(PKG_ABI_VERSION)"
 
 define Package/ubus/install
 	$(INSTALL_DIR) $(1)/bin
@@ -65,7 +67,7 @@ endef
 
 define Package/libubus/install
 	$(INSTALL_DIR) $(1)/lib
-	$(CP) $(PKG_INSTALL_DIR)/usr/lib/*.so $(1)/lib/
+	$(CP) $(PKG_INSTALL_DIR)/usr/lib/libubus.so.* $(1)/lib/
 endef
 
 define Package/libubus-lua/install



More information about the openwrt-devel mailing list