[dpdk-stable] [PATCH v2] abi: document reasons behind the three part versioning

Ray Kinsella mdr at ashroe.eu
Tue May 5 10:56:48 CEST 2020


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 at ashroe.eu>
Signed-off-by: Bruce Richardson <bruce.richardson at 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


More information about the stable mailing list