From: Jo-Philipp Wich Date: Thu, 17 Jan 2019 16:24:31 +0000 (+0100) Subject: packages: set more explicit ABI_VERSION values X-Git-Url: http://git.openwrt.org/?a=commitdiff_plain;h=797e5c1c48e6a5b8866504ea42bd7298c63ad3d5;hp=1bd18f2b5cbf1c9c384e9725eff7804decf88c90;p=openwrt%2Fstaging%2Frmilecki.git packages: set more explicit ABI_VERSION values In the case of upstream libraries, set the ABI_VERSION variable to the soname value of the first version version after the last backwards incompatible change. For custom OpenWrt libraries, set the ABI_VERSION to the date of the last Git commit doing backwards incompatible changes to the source, such as changing function singatures or dropping exported symbols. The soname values have been determined by either checking https://abi-laboratory.pro/index.php?view=tracker or - in the case of OpenWrt libraries - by carefully reviewing the changes made to header files thorough the corresponding Git history. In the future, the ABI_VERSION values must be bumped whenever the library is updated to an incpompatible version but not with every package update, in order to reduce the dependency churn in the binary package repository. Signed-off-by: Jo-Philipp Wich --- diff --git a/package/libs/libubox/Makefile b/package/libs/libubox/Makefile index a0e75f936c9..8267486d722 100644 --- a/package/libs/libubox/Makefile +++ b/package/libs/libubox/Makefile @@ -27,7 +27,7 @@ define Package/libubox SECTION:=libs CATEGORY:=Libraries TITLE:=Basic utility library - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=20170601 DEPENDS:= endef diff --git a/package/libs/mbedtls/Makefile b/package/libs/mbedtls/Makefile index e265cac575a..ce513e59b06 100644 --- a/package/libs/mbedtls/Makefile +++ b/package/libs/mbedtls/Makefile @@ -39,7 +39,7 @@ $(call Package/mbedtls/Default) CATEGORY:=Libraries SUBMENU:=SSL TITLE+= (library) - ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) + ABI_VERSION:=12 endef define Package/mbedtls-util diff --git a/package/libs/ncurses/Makefile b/package/libs/ncurses/Makefile index 904d3c1551f..5be65c2f083 100644 --- a/package/libs/ncurses/Makefile +++ b/package/libs/ncurses/Makefile @@ -41,7 +41,7 @@ define Package/libncurses URL:=http://www.gnu.org/software/ncurses/ PROVIDES:=libncursesw DEPENDS:= +terminfo - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=6 endef define Package/libncurses-dev diff --git a/package/libs/openssl/Makefile b/package/libs/openssl/Makefile index 1e28267560f..35759566f95 100644 --- a/package/libs/openssl/Makefile +++ b/package/libs/openssl/Makefile @@ -74,7 +74,7 @@ $(call Package/openssl/Default) CATEGORY:=Libraries DEPENDS:=+OPENSSL_WITH_COMPRESSION:zlib TITLE+= (libraries) - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=1.0.0 MENU:=1 endef diff --git a/package/libs/readline/Makefile b/package/libs/readline/Makefile index ca3a468637a..246e3187500 100644 --- a/package/libs/readline/Makefile +++ b/package/libs/readline/Makefile @@ -31,7 +31,7 @@ define Package/libreadline CATEGORY:=Libraries TITLE:=Command lines edition library URL:=http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=7 endef define Package/libreadline/description diff --git a/package/libs/ustream-ssl/Makefile b/package/libs/ustream-ssl/Makefile index 2ea5bf0bd59..a15f3d8ab8e 100644 --- a/package/libs/ustream-ssl/Makefile +++ b/package/libs/ustream-ssl/Makefile @@ -25,7 +25,7 @@ define Package/libustream/default CATEGORY:=Libraries TITLE:=ustream SSL Library DEPENDS:=+libubox - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=20150806 endef define Package/libustream-openssl diff --git a/package/network/utils/iptables/Makefile b/package/network/utils/iptables/Makefile index 6c42774ef41..c6e0a649669 100644 --- a/package/network/utils/iptables/Makefile +++ b/package/network/utils/iptables/Makefile @@ -493,7 +493,7 @@ $(call Package/iptables/Default) SECTION:=libs CATEGORY:=Libraries DEPENDS:=+libip4tc +libip6tc +libxtables - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=0 TITLE:=IPv4/IPv6 firewall - shared libiptc library (nf compatibility stub) endef @@ -502,7 +502,7 @@ $(call Package/iptables/Default) SECTION:=libs CATEGORY:=Libraries TITLE:=IPv4 firewall - shared libiptc library - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=0 DEPENDS:=+libxtables endef @@ -511,7 +511,7 @@ $(call Package/iptables/Default) SECTION:=libs CATEGORY:=Libraries TITLE:=IPv6 firewall - shared libiptc library - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=0 DEPENDS:=+libxtables endef @@ -520,7 +520,7 @@ define Package/libxtables SECTION:=libs CATEGORY:=Libraries TITLE:=IPv4/IPv6 firewall - shared xtables library - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=12 DEPENDS:= \ +IPTABLES_CONNLABEL:libnetfilter-conntrack \ +IPTABLES_NFTABLES:libnftnl @@ -531,7 +531,7 @@ define Package/libxtables-nft SECTION:=libs CATEGORY:=Libraries TITLE:=IPv4/IPv6 firewall - shared xtables nft library - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=12 DEPENDS:=libxtables endef diff --git a/package/network/utils/iwinfo/Makefile b/package/network/utils/iwinfo/Makefile index c737dd41e76..000a79cbf68 100644 --- a/package/network/utils/iwinfo/Makefile +++ b/package/network/utils/iwinfo/Makefile @@ -33,7 +33,7 @@ define Package/libiwinfo CATEGORY:=Libraries TITLE:=Generalized Wireless Information Library (iwinfo) DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny +libuci +libubus - ABI_VERSION:=$(PKG_RELEASE) + ABI_VERSION:=20181126 endef define Package/libiwinfo/description diff --git a/package/system/ubus/Makefile b/package/system/ubus/Makefile index 8fd5cf6edbb..66531323518 100644 --- a/package/system/ubus/Makefile +++ b/package/system/ubus/Makefile @@ -36,7 +36,7 @@ define Package/libubus SECTION:=libs CATEGORY:=Libraries DEPENDS:=+libubox - ABI_VERSION:=$(PKG_VERSION) + ABI_VERSION:=20170705 TITLE:=OpenWrt RPC client library endef