[v2] abi: document reasons behind the three part versioning

Message ID 1588669009-995-1-git-send-email-mdr@ashroe.eu (mailing list archive)
State Accepted, archived
Delegated to: Thomas Monjalon
Headers
Series [v2] abi: document reasons behind the three part versioning |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/Intel-compilation success Compilation OK
ci/travis-robot success Travis build: passed

Commit Message

Ray Kinsella May 5, 2020, 8:56 a.m. UTC
  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(-)

--
2.7.4
  

Comments

Thomas Monjalon May 18, 2020, 4:20 p.m. UTC | #1
05/05/2020 10:56, Ray Kinsella:
> 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 ++++++++++++

Moved to release_20_02.rst and applied, thanks.
Note: the updated release notes will be published as part of 20.05.
  

Patch

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.