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

Message ID 1587636728-1619-1-git-send-email-mdr@ashroe.eu (mailing list archive)
State Superseded, archived
Headers
Series [v1] abi: document reasons behind the three part versioning |

Checks

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

Commit Message

Ray Kinsella April 23, 2020, 10:12 a.m. UTC
  Clarify the reasons behind the three part version numbering scheme.
Documents the fixes made in f26c2b3.

Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 doc/guides/contributing/abi_policy.rst |  3 ++-
 doc/guides/rel_notes/release_20_05.rst | 12 ++++++++++++
 2 files changed, 14 insertions(+), 1 deletion(-)
  

Comments

Thomas Monjalon May 4, 2020, 9:46 p.m. UTC | #1
23/04/2020 12:12, Ray Kinsella:
> Clarify the reasons behind the three part version numbering scheme.
> Documents the fixes made in f26c2b3.

Please add these lines:
Fixes: f26c2b39b271 ("build: fix soname info for 19.11 compatibility")
Cc: stable@dpdk.org


> Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> ---
> --- a/doc/guides/contributing/abi_policy.rst
> +++ b/doc/guides/contributing/abi_policy.rst
> +   lengthening the stability period. Additional implementation detail can be
> +   found in the :ref:`release notes <20_05_abi_changes>`.

The three part version was done in 20.02.
I think you should update the 20.02 release notes instead of 20.05.
  
Ray Kinsella May 5, 2020, 8:07 a.m. UTC | #2
On 04/05/2020 22:46, Thomas Monjalon wrote:
> 23/04/2020 12:12, Ray Kinsella:
>> Clarify the reasons behind the three part version numbering scheme.
>> Documents the fixes made in f26c2b3.
> 
> Please add these lines:
> Fixes: f26c2b39b271 ("build: fix soname info for 19.11 compatibility")
> Cc: stable@dpdk.org
> 
> 
>> Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
>> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
>> ---
>> --- a/doc/guides/contributing/abi_policy.rst
>> +++ b/doc/guides/contributing/abi_policy.rst
>> +   lengthening the stability period. Additional implementation detail can be
>> +   found in the :ref:`release notes <20_05_abi_changes>`.
> 
> The three part version was done in 20.02.
> I think you should update the 20.02 release notes instead of 20.05.
> 

I agreed, 
However I didn't think that was possible on a quarterly, after the release was formally complete.
Wouldn't that involve either a respin or a .1 ?

Ray K
  
Thomas Monjalon May 5, 2020, 8:31 a.m. UTC | #3
05/05/2020 10:07, Ray Kinsella:
> On 04/05/2020 22:46, Thomas Monjalon wrote:
> > 23/04/2020 12:12, Ray Kinsella:
> >> Clarify the reasons behind the three part version numbering scheme.
> >> Documents the fixes made in f26c2b3.
> > 
> > Please add these lines:
> > Fixes: f26c2b39b271 ("build: fix soname info for 19.11 compatibility")
> > Cc: stable@dpdk.org
> > 
> > 
> >> Signed-off-by: Ray Kinsella <mdr@ashroe.eu>
> >> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
> >> ---
> >> --- a/doc/guides/contributing/abi_policy.rst
> >> +++ b/doc/guides/contributing/abi_policy.rst
> >> +   lengthening the stability period. Additional implementation detail can be
> >> +   found in the :ref:`release notes <20_05_abi_changes>`.
> > 
> > The three part version was done in 20.02.
> > I think you should update the 20.02 release notes instead of 20.05.
> > 
> 
> I agreed, 
> However I didn't think that was possible on a quarterly, after the release was formally complete.
> Wouldn't that involve either a respin or a .1 ?

Yes please respin a v2
  

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 7f2049a..8653f7a 100644
--- a/doc/guides/rel_notes/release_20_05.rst
+++ b/doc/guides/rel_notes/release_20_05.rst
@@ -164,6 +164,7 @@  API Changes
    Also, make sure to start the actual text at the margin.
    =========================================================
 
+.. _20_05_abi_changes:
 
 ABI Changes
 -----------
@@ -180,6 +181,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.