[dpdk-dev] [RFC] config: remove RTE_NEXT_ABI
Luca Boccassi
bluca at debian.org
Wed Mar 7 19:06:15 CET 2018
On Wed, 2018-03-07 at 17:44 +0000, Ferruh Yigit wrote:
> After experimental API process defined do we still need RTE_NEXT_ABI
> config and process which has similar targets?
>
> Are distros disable experimental APIs when delivering DPDK? And is
> there
> any config required to control this, as RTE_NEXT_ABI intended to do?
I tried to tinker with not exporting experimental APIs - but the
problem is intra-project dependencies, iow: librte_foo has a
foo_experimental API that librte_bar uses, so if librte_foo
foo_experimental symbol is not available everything breaks down. I need
to spend a bit more on this problem but -ENOTIME
> Cc: Neil Horman <nhorman at tuxdriver.com>
> Cc: Thomas Monjalon <thomas at monjalon.net>
> Cc: Luca Boccassi <bluca at debian.org>
> Cc: Christian Ehrhardt <christian.ehrhardt at canonical.com>
>
> Signed-off-by: Ferruh Yigit <ferruh.yigit at intel.com>
> ---
> config/common_base | 5 -----
> devtools/test-build.sh | 2 --
> devtools/validate-abi.sh | 1 -
> doc/guides/contributing/versioning.rst | 10 ----------
> mk/rte.lib.mk | 5 -----
> pkg/dpdk.spec | 1 -
> 6 files changed, 24 deletions(-)
>
> diff --git a/config/common_base b/config/common_base
> index ad03cf433..6b867f6a9 100644
> --- a/config/common_base
> +++ b/config/common_base
> @@ -41,11 +41,6 @@ CONFIG_RTE_ARCH_STRICT_ALIGN=n
> CONFIG_RTE_BUILD_SHARED_LIB=n
>
> #
> -# Use newest code breaking previous ABI
> -#
> -CONFIG_RTE_NEXT_ABI=y
> -
> -#
> # Major ABI to overwrite library specific LIBABIVER
> #
> CONFIG_RTE_MAJOR_ABI=
> diff --git a/devtools/test-build.sh b/devtools/test-build.sh
> index 3362edcc5..22b4e1a98 100755
> --- a/devtools/test-build.sh
> +++ b/devtools/test-build.sh
> @@ -154,8 +154,6 @@ config () # <directory> <target> <options>
> # Built-in options (lowercase)
> ! echo $3 | grep -q '+default' || \
> sed -ri 's,(RTE_MACHINE=")native,\1default,'
> $1/.config
> - echo $3 | grep -q '+next' || \
> - sed -ri 's,(NEXT_ABI=)y,\1n,' $1/.config
> ! echo $3 | grep -q '+shared' || \
> sed -ri 's,(SHARED_LIB=)n,\1y,' $1/.config
> ! echo $3 | grep -q '+debug' || ( \
> diff --git a/devtools/validate-abi.sh b/devtools/validate-abi.sh
> index 138436d93..a64edf92f 100755
> --- a/devtools/validate-abi.sh
> +++ b/devtools/validate-abi.sh
> @@ -105,7 +105,6 @@ set_log_file() {
> fixup_config() {
> local conf=config/defconfig_$target
> cmd sed -i -e"$ a\CONFIG_RTE_BUILD_SHARED_LIB=y" $conf
> - cmd sed -i -e"$ a\CONFIG_RTE_NEXT_ABI=n" $conf
> cmd sed -i -e"$ a\CONFIG_RTE_EAL_IGB_UIO=n" $conf
> cmd sed -i -e"$ a\CONFIG_RTE_LIBRTE_KNI=n" $conf
> cmd sed -i -e"$ a\CONFIG_RTE_KNI_KMOD=n" $conf
> diff --git a/doc/guides/contributing/versioning.rst
> b/doc/guides/contributing/versioning.rst
> index c495294db..59ff0e8b7 100644
> --- a/doc/guides/contributing/versioning.rst
> +++ b/doc/guides/contributing/versioning.rst
> @@ -91,19 +91,9 @@ being provided. The requirements for doing so are:
> interest" be sought for each deprecation, for example: from NIC
> vendors,
> CPU vendors, end-users, etc.
>
> -#. The changes (including an alternative map file) must be gated
> with
> - the ``RTE_NEXT_ABI`` option, and provided with a deprecation
> notice at the
> - same time.
> - It will become the default ABI in the next release.
> -
> #. A full deprecation cycle, as explained above, must be made to
> offer
> downstream consumers sufficient warning of the change.
>
> -#. At the beginning of the next release cycle, every
> ``RTE_NEXT_ABI``
> - conditions will be removed, the ``LIBABIVER`` variable in the
> makefile(s)
> - where the ABI is changed will be incremented, and the map files
> will
> - be updated.
> -
> Note that the above process for ABI deprecation should not be
> undertaken
> lightly. ABI stability is extremely important for downstream
> consumers of the
> DPDK, especially when distributed in shared object form. Every
> effort should
> diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
> index c696a2174..8ac26face 100644
> --- a/mk/rte.lib.mk
> +++ b/mk/rte.lib.mk
> @@ -20,11 +20,6 @@ endif
> ifeq ($(CONFIG_RTE_BUILD_SHARED_LIB),y)
> LIB := $(patsubst %.a,%.so.$(LIBABIVER),$(LIB))
> ifeq ($(EXTLIB_BUILD),n)
> -ifeq ($(CONFIG_RTE_MAJOR_ABI),)
> -ifeq ($(CONFIG_RTE_NEXT_ABI),y)
> -LIB := $(LIB).1
> -endif
> -endif
> CPU_LDFLAGS += --version-script=$(SRCDIR)/$(EXPORT_MAP)
> endif
> endif
> diff --git a/pkg/dpdk.spec b/pkg/dpdk.spec
> index 4d3b5745c..d118f0463 100644
> --- a/pkg/dpdk.spec
> +++ b/pkg/dpdk.spec
> @@ -84,7 +84,6 @@ make O=%{target} T=%{config} config
> sed -ri 's,(RTE_MACHINE=).*,\1%{machine},' %{target}/.config
> sed -ri 's,(RTE_APP_TEST=).*,\1n,' %{target}/.config
> sed -ri 's,(RTE_BUILD_SHARED_LIB=).*,\1y,' %{target}/.config
> -sed -ri 's,(RTE_NEXT_ABI=).*,\1n,' %{target}/.config
> sed -ri 's,(LIBRTE_VHOST=).*,\1y,' %{target}/.config
> sed -ri 's,(LIBRTE_PMD_PCAP=).*,\1y,' %{target}/.config
> make O=%{target} %{?_smp_mflags}
--
Kind regards,
Luca Boccassi
More information about the dev
mailing list