* [dpdk-stable] [PATCH v2] abi: document reasons behind the three part versioning
[not found] <1587636728-1619-1-git-send-email-mdr@ashroe.eu>
@ 2020-05-05 8:56 ` Ray Kinsella
2020-05-18 16:20 ` [dpdk-stable] [dpdk-dev] " Thomas Monjalon
0 siblings, 1 reply; 2+ messages in thread
From: Ray Kinsella @ 2020-05-05 8:56 UTC (permalink / raw)
To: dev
Cc: stable, thomas, Ray Kinsella, Bruce Richardson, Neil Horman,
John McNamara, Marko Kovacevic
Clarify the reasons behind the three part version numbering scheme.
Documents the fixes made in f26c2b3.
Fixes: f26c2b39b271 ("build: fix soname info for 19.11 compatibility")
Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
v2:
* Added "fixes" to commit message.
doc/guides/contributing/abi_policy.rst | 3 ++-
doc/guides/rel_notes/release_20_05.rst | 12 ++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/doc/guides/contributing/abi_policy.rst b/doc/guides/contributing/abi_policy.rst
index 05ca959..86e7dd9 100644
--- a/doc/guides/contributing/abi_policy.rst
+++ b/doc/guides/contributing/abi_policy.rst
@@ -39,7 +39,8 @@ General Guidelines
releases, over a number of release cycles. This change begins with
maintaining ABI stability through one year of DPDK releases starting from
DPDK 19.11. This policy will be reviewed in 2020, with intention of
- lengthening the stability period.
+ lengthening the stability period. Additional implementation detail can be
+ found in the :ref:`release notes <20_05_abi_changes>`.
What is an ABI?
~~~~~~~~~~~~~~~
diff --git a/doc/guides/rel_notes/release_20_05.rst b/doc/guides/rel_notes/release_20_05.rst
index ab20a7d..b2839dc 100644
--- a/doc/guides/rel_notes/release_20_05.rst
+++ b/doc/guides/rel_notes/release_20_05.rst
@@ -245,6 +245,7 @@ API Changes
``rte_mempool_populate_virt()`` changed to return 0 instead of -EINVAL
when there is not enough room to store one object.
+.. _20_05_abi_changes:
ABI Changes
-----------
@@ -261,6 +262,17 @@ ABI Changes
Also, make sure to start the actual text at the margin.
=========================================================
+* The soname for each stable ABI version should be just the ABI version major
+ number without the minor number. Unfortunately both major and minor were used
+ in the v19.11 release, causing version v20.x releases to be incompatible with
+ ABI v20.0.
+
+ The `commit f26c2b3
+ <https://git.dpdk.org/dpdk/commit/?id=f26c2b39b271cdcd857ba518c5e48c78cb1c30af>`_
+ fixed the issue by switching from 2-part to 3-part ABI version numbers so that
+ we can keep v20.0 as soname and using the final digits to identify the DPDK
+ 20.x releases which are ABI compatible.
+
* No ABI change that would break compatibility with DPDK 20.02 and 19.11.
--
2.7.4
^ permalink raw reply [flat|nested] 2+ messages in thread