[dpdk-dev] [PATCH v3 1/9] config: change ABI versioning to global

Burakov, Anatoly anatoly.burakov at intel.com
Thu Oct 17 12:25:11 CEST 2019


On 17-Oct-19 9:44 AM, 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

I can certainly change it back. This wasn't intentional - i just did a 
search-and-replace without thinking too much about it :)

-- 
Thanks,
Anatoly


More information about the dev mailing list