From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 7B17DA04B8; Tue, 5 May 2020 10:57:07 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 569D11D42A; Tue, 5 May 2020 10:57:07 +0200 (CEST) Received: from qrelay228.mxroute.com (qrelay228.mxroute.com [172.82.139.228]) by dpdk.org (Postfix) with ESMTP id 504E71D177 for ; Tue, 5 May 2020 10:57:06 +0200 (CEST) Received: from filter003.mxroute.com ([168.235.111.26] 168-235-111-26.cloud.ramnode.com) (Authenticated sender: mN4UYu2MZsgR) by qrelay228.mxroute.com (ZoneMTA) with ESMTPA id 171e40d86c0000add6.001 for ; Tue, 05 May 2020 08:57:03 +0000 X-Zone-Loop: 8f03b52e05a8937f7717bc9f3105e8534b626f37975c X-Originating-IP: [168.235.111.26] Received: from galaxy.mxroute.com (unknown [23.92.70.113]) by filter003.mxroute.com (Postfix) with ESMTPS id 6F3AC60007; Tue, 5 May 2020 08:56:58 +0000 (UTC) Received: from [192.198.151.44] (helo=localhost) by galaxy.mxroute.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from ) id 1jVsxA-0002fC-Ok; Tue, 05 May 2020 04:29:25 -0400 From: Ray Kinsella To: dev@dpdk.org Cc: stable@dpdk.org, thomas@monjalon.net, Ray Kinsella , Bruce Richardson , Neil Horman , John McNamara , Marko Kovacevic Date: Tue, 5 May 2020 09:56:48 +0100 Message-Id: <1588669009-995-1-git-send-email-mdr@ashroe.eu> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1587636728-1619-1-git-send-email-mdr@ashroe.eu> References: <1587636728-1619-1-git-send-email-mdr@ashroe.eu> X-AuthUser: mdr@ashroe.eu Subject: [dpdk-dev] [PATCH v2] abi: document reasons behind the three part versioning X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 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 Signed-off-by: Bruce Richardson --- 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 + `_ + 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