[dpdk-dev] [PATCH v3 1/9] config: change ABI versioning to global
Kevin Traynor
ktraynor at redhat.com
Fri Oct 18 12:07:46 CEST 2019
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.baran at 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.baran at intel.com
>>>>
>>> Signed-off-by: Pawel Modrak <
>>> pawelx.modrak at intel.com
>>>>
>>> Signed-off-by: Anatoly Burakov <
>>> anatoly.burakov at 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 at .@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
More information about the dev
mailing list