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 <jo@mein.io>
v19.07.3_mercusys_ac12_duma
Jo-Philipp Wich 5 years ago
parent 1bd18f2b5c
commit 797e5c1c48

@ -27,7 +27,7 @@ define Package/libubox
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=Basic utility library TITLE:=Basic utility library
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=20170601
DEPENDS:= DEPENDS:=
endef endef

@ -39,7 +39,7 @@ $(call Package/mbedtls/Default)
CATEGORY:=Libraries CATEGORY:=Libraries
SUBMENU:=SSL SUBMENU:=SSL
TITLE+= (library) TITLE+= (library)
ABI_VERSION:=$(PKG_VERSION)-$(PKG_RELEASE) ABI_VERSION:=12
endef endef
define Package/mbedtls-util define Package/mbedtls-util

@ -41,7 +41,7 @@ define Package/libncurses
URL:=http://www.gnu.org/software/ncurses/ URL:=http://www.gnu.org/software/ncurses/
PROVIDES:=libncursesw PROVIDES:=libncursesw
DEPENDS:= +terminfo DEPENDS:= +terminfo
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=6
endef endef
define Package/libncurses-dev define Package/libncurses-dev

@ -74,7 +74,7 @@ $(call Package/openssl/Default)
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=+OPENSSL_WITH_COMPRESSION:zlib DEPENDS:=+OPENSSL_WITH_COMPRESSION:zlib
TITLE+= (libraries) TITLE+= (libraries)
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=1.0.0
MENU:=1 MENU:=1
endef endef

@ -31,7 +31,7 @@ define Package/libreadline
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=Command lines edition library TITLE:=Command lines edition library
URL:=http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html URL:=http://cnswww.cns.cwru.edu/php/chet/readline/rltop.html
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=7
endef endef
define Package/libreadline/description define Package/libreadline/description

@ -25,7 +25,7 @@ define Package/libustream/default
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=ustream SSL Library TITLE:=ustream SSL Library
DEPENDS:=+libubox DEPENDS:=+libubox
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=20150806
endef endef
define Package/libustream-openssl define Package/libustream-openssl

@ -493,7 +493,7 @@ $(call Package/iptables/Default)
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=+libip4tc +libip6tc +libxtables DEPENDS:=+libip4tc +libip6tc +libxtables
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=0
TITLE:=IPv4/IPv6 firewall - shared libiptc library (nf compatibility stub) TITLE:=IPv4/IPv6 firewall - shared libiptc library (nf compatibility stub)
endef endef
@ -502,7 +502,7 @@ $(call Package/iptables/Default)
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=IPv4 firewall - shared libiptc library TITLE:=IPv4 firewall - shared libiptc library
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=0
DEPENDS:=+libxtables DEPENDS:=+libxtables
endef endef
@ -511,7 +511,7 @@ $(call Package/iptables/Default)
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=IPv6 firewall - shared libiptc library TITLE:=IPv6 firewall - shared libiptc library
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=0
DEPENDS:=+libxtables DEPENDS:=+libxtables
endef endef
@ -520,7 +520,7 @@ define Package/libxtables
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=IPv4/IPv6 firewall - shared xtables library TITLE:=IPv4/IPv6 firewall - shared xtables library
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=12
DEPENDS:= \ DEPENDS:= \
+IPTABLES_CONNLABEL:libnetfilter-conntrack \ +IPTABLES_CONNLABEL:libnetfilter-conntrack \
+IPTABLES_NFTABLES:libnftnl +IPTABLES_NFTABLES:libnftnl
@ -531,7 +531,7 @@ define Package/libxtables-nft
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=IPv4/IPv6 firewall - shared xtables nft library TITLE:=IPv4/IPv6 firewall - shared xtables nft library
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=12
DEPENDS:=libxtables DEPENDS:=libxtables
endef endef

@ -33,7 +33,7 @@ define Package/libiwinfo
CATEGORY:=Libraries CATEGORY:=Libraries
TITLE:=Generalized Wireless Information Library (iwinfo) TITLE:=Generalized Wireless Information Library (iwinfo)
DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny +libuci +libubus DEPENDS:=+PACKAGE_kmod-cfg80211:libnl-tiny +libuci +libubus
ABI_VERSION:=$(PKG_RELEASE) ABI_VERSION:=20181126
endef endef
define Package/libiwinfo/description define Package/libiwinfo/description

@ -36,7 +36,7 @@ define Package/libubus
SECTION:=libs SECTION:=libs
CATEGORY:=Libraries CATEGORY:=Libraries
DEPENDS:=+libubox DEPENDS:=+libubox
ABI_VERSION:=$(PKG_VERSION) ABI_VERSION:=20170705
TITLE:=OpenWrt RPC client library TITLE:=OpenWrt RPC client library
endef endef

Loading…
Cancel
Save