On 17/10/2019 15:09, Luca Boccassi wrote: > On Thu, 2019-10-17 at 09:44 +0100, Bruce Richardson wrote: >> On Wed, Oct 16, 2019 at 06:03:36PM +0100, Anatoly Burakov wrote: >>> From: Marcin Baran < >>> marcinx.ba...@intel.com >>>> >>> >>> 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 < >>> marcinx.ba...@intel.com >>>> >>> Signed-off-by: Pawel Modrak < >>> pawelx.mod...@intel.com >>>> >>> Signed-off-by: Anatoly Burakov < >>> anatoly.bura...@intel.com >>>> >>> --- >>> >>> 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('<VERSION>') >>> - pmd_subdir_opt = >>> major_version.join(pmd_subdir_opt.split('<VERSION>')) >>> + pmd_subdir_opt = >>> abi_version.join(pmd_subdir_opt.split('<VERSION>')) >>> 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 > > Hi, > > We are currently assembing this path using the ABI version in > Debian/Ubuntu, as we want same-ABI libraries not to be co-installed, > but instead fo use the exact same name/path. So from our POV this > change seems right. >
Seems ok to me as it's consistent with having the libs from different releases using one ABI version. Would like to check with Timothy too.. + Timothy