18/02/2020 10:40, Bruce Richardson: > On Tue, Feb 18, 2020 at 12:44:02AM +0100, Thomas Monjalon wrote: > > Because of an original mistake in ABI numbering, > > and a temporary workaround for ABI 20, > > for experimental libs, numbering would lead to consider > > ABI 20.1 > ABI 21.0 > > > > Before this patch: > > > > DPDK 19.11: ABI version 0.200 and soname 0.20 > > DPDK 20.02: ABI version 0.2001 and soname 0.201 > > Numbers are increasing, that's fine. > > For the next major ABI, back to normal numbering: > > DPDK 20.11: ABI version 0.210 and soname 0.21 > > Numbers are decreasing! > > > > After this patch: > > > > DPDK 19.11: ABI version 0.200 and soname 0.20 > > DPDK 20.02: ABI version 0.201 and soname 0.20 > > DPDK 20.11: ABI version 0.210 and soname 0.21 > > > > Fixes: f26c2b39b271 ("build: fix soname info for 19.11 compatibility") > > > > Signed-off-by: Thomas Monjalon <tho...@monjalon.net> > > --- > > config/meson.build | 8 ++++---- > > mk/rte.lib.mk | 4 ++-- > > 2 files changed, 6 insertions(+), 6 deletions(-) > > > > diff --git a/config/meson.build b/config/meson.build > > index 6c46767e3e..e7cd74e2c2 100644 > > --- a/config/meson.build > > +++ b/config/meson.build > > @@ -27,12 +27,12 @@ abi_version = run_command(find_program('cat', 'more'), > > # and the filename suffix as 0.majorminor versions, > > # e.g. v20.1 => librte_stable.so.20.1, librte_experimental.so.0.201 > > # sonames => librte_stable.so.20, librte_experimental.so.0.20 > > -# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.2001 > > -# sonames => librte_stable.so.20.0, librte_experimental.so.0.200 > > +# e.g. v20.0.1 => librte_stable.so.20.0.1, librte_experimental.so.0.201 > > +# sonames => librte_stable.so.20.0, librte_experimental.so.0.20 > > abi_va = abi_version.split('.') > > stable_so_version = abi_va.length() == 2 ? abi_va[0] : abi_va[0] + '.' + > > abi_va[1] > > -experimental_abi_version = '0.' + ''.join(abi_va) > > -experimental_so_version = '0.' + ''.join(stable_so_version.split('.')) > > +experimental_abi_version = '0.' + ''.join([abi_va[0], abi_va[2]]) > > +experimental_so_version = '0.' + ''.join([abi_va[0]]) > > > > My concern about this is that it will break, or rather need to be changed > again for the 20.11 release. While I see the numbering as not-ideal in > terms of version numbers, the existing scheme was originally designed to > work with either 3-digit or 2-digit version numbers.
It could be improved to work with 2-digit too.