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 C4B52A3168 for ; Thu, 17 Oct 2019 10:45:08 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 76CE31E8EC; Thu, 17 Oct 2019 10:45:08 +0200 (CEST) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by dpdk.org (Postfix) with ESMTP id 29A3B1E8E3 for ; Thu, 17 Oct 2019 10:45:06 +0200 (CEST) X-Amp-Result: UNKNOWN X-Amp-Original-Verdict: FILE UNKNOWN X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 17 Oct 2019 01:45:05 -0700 X-IronPort-AV: E=Sophos;i="5.67,307,1566889200"; d="scan'208";a="200325971" Received: from bricha3-mobl.ger.corp.intel.com ([10.237.221.95]) by orsmga006-auth.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 17 Oct 2019 01:45:02 -0700 Date: Thu, 17 Oct 2019 09:44:59 +0100 From: Bruce Richardson To: Anatoly Burakov Cc: dev@dpdk.org, Marcin Baran , Thomas Monjalon , john.mcnamara@intel.com, david.marchand@redhat.com, Pawel Modrak , bluca@debian.org, ktraynor@redhat.com Message-ID: <20191017084459.GA855@bricha3-MOBL.ger.corp.intel.com> References: <671cb144be5089abff524ef452ad7bb8b6778524.1571245316.git.anatoly.burakov@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <671cb144be5089abff524ef452ad7bb8b6778524.1571245316.git.anatoly.burakov@intel.com> User-Agent: Mutt/1.12.1 (2019-06-15) Subject: Re: [dpdk-dev] [PATCH v3 1/9] config: change ABI versioning to global 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" On Wed, Oct 16, 2019 at 06:03:36PM +0100, Anatoly Burakov wrote: > From: Marcin Baran > > As per new ABI policy, all of the libraries are now versioned using > one global ABI version. Changes in this patch implement the > necessary steps to enable that. > > Signed-off-by: Marcin Baran > Signed-off-by: Pawel Modrak > Signed-off-by: Anatoly Burakov > --- > > Notes: > v3: > - Removed Windows support from Makefile changes > - Removed unneeded path conversions from meson files > > buildtools/meson.build | 2 ++ > config/ABI_VERSION | 1 + > config/meson.build | 5 +++-- > drivers/meson.build | 20 ++++++++++++-------- > lib/meson.build | 18 +++++++++++------- > meson_options.txt | 2 -- > mk/rte.lib.mk | 13 ++++--------- > 7 files changed, 33 insertions(+), 28 deletions(-) > create mode 100644 config/ABI_VERSION > > diff --git a/buildtools/meson.build b/buildtools/meson.build > index 32c79c1308..78ce69977d 100644 > --- a/buildtools/meson.build > +++ b/buildtools/meson.build > @@ -12,3 +12,5 @@ if python3.found() > else > map_to_def_cmd = ['meson', 'runpython', files('map_to_def.py')] > endif > + > +is_experimental_cmd = [find_program('grep', 'findstr'), '^DPDK_'] > diff --git a/config/ABI_VERSION b/config/ABI_VERSION > new file mode 100644 > index 0000000000..9a7c1e503f > --- /dev/null > +++ b/config/ABI_VERSION > @@ -0,0 +1 @@ > +20.0 > diff --git a/config/meson.build b/config/meson.build > index a27f731f85..3cfc02406c 100644 > --- a/config/meson.build > +++ b/config/meson.build > @@ -17,7 +17,8 @@ endforeach > # set the major version, which might be used by drivers and libraries > # depending on the configuration options > pver = meson.project_version().split('.') > -major_version = '@0@.@1@'.format(pver.get(0), pver.get(1)) > +abi_version = run_command(find_program('cat', 'more'), > + files('ABI_VERSION')).stdout().strip() > > # extract all version information into the build configuration > dpdk_conf.set('RTE_VER_YEAR', pver.get(0).to_int()) > @@ -37,7 +38,7 @@ endif > > pmd_subdir_opt = get_option('drivers_install_subdir') > if pmd_subdir_opt.contains('') > - pmd_subdir_opt = major_version.join(pmd_subdir_opt.split('')) > + pmd_subdir_opt = abi_version.join(pmd_subdir_opt.split('')) > endif This is an interesting change, and I'm not sure about it. I think for user-visible changes, version should still refer to DPDK version rather than ABI version. Even with a stable ABI, it makes more sense to me to find the drivers in a 19.11 directory than a 20.0 one. Then again, the drivers should be re-usable across the one ABI version, so perhaps this is the best approach. Thoughts from others? Luca or Kevin, any thoughts from a packagers perspective? /Bruce