DPDK patches and discussions
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas@monjalon.net>
To: dev@dpdk.org
Cc: ray.kinsella@intel.com, nhorman@tuxdriver.com, bluca@debian.org,
	david.marchand@redhat.com, ktraynor@redhat.com,
	Bruce Richardson <bruce.richardson@intel.com>
Subject: [dpdk-dev] [PATCH] build: fix soname for experimental libraries
Date: Tue, 18 Feb 2020 00:44:02 +0100	[thread overview]
Message-ID: <20200217234402.2235904-1-thomas@monjalon.net> (raw)
In-Reply-To: <44659287.fMDQidcC6G@xps>

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 <thomas@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]])
 
 # extract all version information into the build configuration
 dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int())
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index b1a8372cc2..8730c084ce 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -15,8 +15,8 @@ LIBABIVER ?= $(shell cat $(RTE_SRCDIR)/ABI_VERSION)
 SOVER := $(basename $(LIBABIVER))
 ifeq ($(shell grep -s "^DPDK_" $(SRCDIR)/$(EXPORT_MAP)),)
 # EXPERIMENTAL ABI is versioned as 0.major+minor, e.g. 0.201 for 20.1 ABI
-LIBABIVER := 0.$(shell echo $(LIBABIVER) | tr -d '.')
-SOVER := 0.$(shell echo $(SOVER) | tr -d '.')
+LIBABIVER := 0.$(shell echo $(LIBABIVER) | cut -d '.' -f1,3 | tr -d '.')
+SOVER := 0.$(shell echo $(SOVER) | cut -d '.' -f1)
 endif
 
 ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
-- 
2.25.0


  reply	other threads:[~2020-02-17 23:45 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-17 23:15 [dpdk-dev] ABI version of " Thomas Monjalon
2020-02-17 23:44 ` Thomas Monjalon [this message]
2020-02-18  9:40   ` [dpdk-dev] [PATCH] build: fix soname for " Bruce Richardson
2020-02-18  9:47     ` Thomas Monjalon
2020-02-18  9:42 ` [dpdk-dev] ABI version of " Bruce Richardson
2020-02-18  9:50   ` Thomas Monjalon
2020-02-18 10:36     ` Kinsella, Ray
2020-02-20 19:50       ` Ferruh Yigit
2020-02-20 19:54         ` [dpdk-dev] [PATCH] build: fix experimental library versioning Ferruh Yigit
2020-02-20 22:14           ` Luca Boccassi
2020-02-21 12:36           ` Ray Kinsella
2020-02-21 15:24           ` David Marchand
2020-02-21 15:34             ` Ferruh Yigit
2020-02-21 16:41           ` David Marchand
2020-02-19 11:43     ` [dpdk-dev] ABI version of experimental libraries Neil Horman
2020-02-19 12:43       ` Thomas Monjalon
2020-02-19 13:50         ` Ray Kinsella
2020-02-21 16:57           ` Thomas Monjalon
2020-02-24  9:32             ` Ray Kinsella
2020-02-19 21:17         ` Neil Horman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200217234402.2235904-1-thomas@monjalon.net \
    --to=thomas@monjalon.net \
    --cc=bluca@debian.org \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ktraynor@redhat.com \
    --cc=nhorman@tuxdriver.com \
    --cc=ray.kinsella@intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).