patches for DPDK stable branches
 help / color / mirror / Atom feed
* [dpdk-stable] [PATCH] devtools: accept experimental symbol promotion
@ 2019-04-05  8:17 David Marchand
  2019-04-05 11:22 ` Neil Horman
  0 siblings, 1 reply; 3+ messages in thread
From: David Marchand @ 2019-04-05  8:17 UTC (permalink / raw)
  To: dev; +Cc: thomas, nhorman, stable

Currently, when symbols get promoted from the EXPERIMENTAL section to a
stable ABI section, the script complains they should go to the
EXPERIMENTAL section.

Example:
ERROR: symbol rte_devargs_add is added in the DPDK_19.05 section, but is
expected to be added in the EXPERIMENTAL section of the version map

This is legit.
Moving from a stable ABI to another is also allowed, but must have gone
through the proper process.

Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
Cc: stable@dpdk.org

Signed-off-by: David Marchand <david.marchand@redhat.com>
---
 devtools/check-symbol-change.sh | 44 +++++++++++++++++++++++++----------------
 1 file changed, 27 insertions(+), 17 deletions(-)

diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
index 020da7e..40eb953 100755
--- a/devtools/check-symbol-change.sh
+++ b/devtools/check-symbol-change.sh
@@ -105,27 +105,37 @@ check_for_rule_violations()
 				continue
 			fi
 
-			if [ "$secname" != "EXPERIMENTAL" ]
+			oldsecname=$(sed -n \
+			"s#$mname $symname \(.*\) del#\1#p" "$mapdb")
+
+			# A symbol can not enter a non experimental
+			# section directly
+			if [ $? -ne 0 ] && [ "$secname" != 'EXPERIMENTAL' ]
 			then
-				# Symbols that are getting added in a section
-				# other than the experimental section
-				# to be moving from an already supported
-				# section or its a violation
-				grep -q \
-				"$mname $symname [^EXPERIMENTAL] del" "$mapdb"
-				if [ $? -ne 0 ]
-				then
-					echo -n "ERROR: symbol $symname "
-					echo -n "is added in the $secname "
-					echo -n "section, but is expected to "
-					echo -n "be added in the EXPERIMENTAL "
-					echo "section of the version map"
-					ret=1
-				fi
+				echo -n "ERROR: symbol $symname "
+				echo -n "is added in the $secname "
+				echo -n "section, but is expected to "
+				echo -n "be added in the EXPERIMENTAL "
+				echo "section of the version map"
+				ret=1
+				continue
+			fi
+
+			# This symbol is moving between two sections (the
+			# original section is not experimental).
+			# This can be legit, just warn.
+			if [ "$oldsecname" != 'EXPERIMENTAL' ]
+			then
+				echo -n "INFO: symbol $symname is being "
+				echo -n "moved from $oldsecname to $secname. "
+				echo -n "Ensure that it has gone through the "
+				echo "deprecation process"
+				continue
 			fi
 		else
 
-			if [ "$secname" != "EXPERIMENTAL" ]
+			if ! grep -q "$mname $symname .* add" "$mapdb" && \
+			   [ "$secname" != "EXPERIMENTAL" ]
 			then
 				# Just inform users that non-experimenal
 				# symbols need to go through a deprecation
-- 
1.8.3.1


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-stable] [PATCH] devtools: accept experimental symbol promotion
  2019-04-05  8:17 [dpdk-stable] [PATCH] devtools: accept experimental symbol promotion David Marchand
@ 2019-04-05 11:22 ` Neil Horman
  2019-04-15 22:14   ` [dpdk-stable] [dpdk-dev] " Thomas Monjalon
  0 siblings, 1 reply; 3+ messages in thread
From: Neil Horman @ 2019-04-05 11:22 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, thomas, stable

On Fri, Apr 05, 2019 at 10:17:47AM +0200, David Marchand wrote:
> Currently, when symbols get promoted from the EXPERIMENTAL section to a
> stable ABI section, the script complains they should go to the
> EXPERIMENTAL section.
> 
> Example:
> ERROR: symbol rte_devargs_add is added in the DPDK_19.05 section, but is
> expected to be added in the EXPERIMENTAL section of the version map
> 
> This is legit.
> Moving from a stable ABI to another is also allowed, but must have gone
> through the proper process.
> 
> Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> Cc: stable@dpdk.org
> 
> Signed-off-by: David Marchand <david.marchand@redhat.com>
> ---
>  devtools/check-symbol-change.sh | 44 +++++++++++++++++++++++++----------------
>  1 file changed, 27 insertions(+), 17 deletions(-)
> 
> diff --git a/devtools/check-symbol-change.sh b/devtools/check-symbol-change.sh
> index 020da7e..40eb953 100755
> --- a/devtools/check-symbol-change.sh
> +++ b/devtools/check-symbol-change.sh
> @@ -105,27 +105,37 @@ check_for_rule_violations()
>  				continue
>  			fi
>  
> -			if [ "$secname" != "EXPERIMENTAL" ]
> +			oldsecname=$(sed -n \
> +			"s#$mname $symname \(.*\) del#\1#p" "$mapdb")
> +
> +			# A symbol can not enter a non experimental
> +			# section directly
> +			if [ $? -ne 0 ] && [ "$secname" != 'EXPERIMENTAL' ]
>  			then
> -				# Symbols that are getting added in a section
> -				# other than the experimental section
> -				# to be moving from an already supported
> -				# section or its a violation
> -				grep -q \
> -				"$mname $symname [^EXPERIMENTAL] del" "$mapdb"
> -				if [ $? -ne 0 ]
> -				then
> -					echo -n "ERROR: symbol $symname "
> -					echo -n "is added in the $secname "
> -					echo -n "section, but is expected to "
> -					echo -n "be added in the EXPERIMENTAL "
> -					echo "section of the version map"
> -					ret=1
> -				fi
> +				echo -n "ERROR: symbol $symname "
> +				echo -n "is added in the $secname "
> +				echo -n "section, but is expected to "
> +				echo -n "be added in the EXPERIMENTAL "
> +				echo "section of the version map"
> +				ret=1
> +				continue
> +			fi
> +
> +			# This symbol is moving between two sections (the
> +			# original section is not experimental).
> +			# This can be legit, just warn.
> +			if [ "$oldsecname" != 'EXPERIMENTAL' ]
> +			then
> +				echo -n "INFO: symbol $symname is being "
> +				echo -n "moved from $oldsecname to $secname. "
> +				echo -n "Ensure that it has gone through the "
> +				echo "deprecation process"
> +				continue
>  			fi
>  		else
>  
> -			if [ "$secname" != "EXPERIMENTAL" ]
> +			if ! grep -q "$mname $symname .* add" "$mapdb" && \
> +			   [ "$secname" != "EXPERIMENTAL" ]
>  			then
>  				# Just inform users that non-experimenal
>  				# symbols need to go through a deprecation
> -- 
> 1.8.3.1
> 
> 
Acked-by: Neil Horman <nhorman@tuxdriver.com>


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [dpdk-stable] [dpdk-dev] [PATCH] devtools: accept experimental symbol promotion
  2019-04-05 11:22 ` Neil Horman
@ 2019-04-15 22:14   ` Thomas Monjalon
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas Monjalon @ 2019-04-15 22:14 UTC (permalink / raw)
  To: David Marchand; +Cc: dev, Neil Horman, stable

05/04/2019 13:22, Neil Horman:
> On Fri, Apr 05, 2019 at 10:17:47AM +0200, David Marchand wrote:
> > Currently, when symbols get promoted from the EXPERIMENTAL section to a
> > stable ABI section, the script complains they should go to the
> > EXPERIMENTAL section.
> > 
> > Example:
> > ERROR: symbol rte_devargs_add is added in the DPDK_19.05 section, but is
> > expected to be added in the EXPERIMENTAL section of the version map
> > 
> > This is legit.
> > Moving from a stable ABI to another is also allowed, but must have gone
> > through the proper process.
> > 
> > Fixes: 4bec48184e33 ("devtools: add checks for ABI symbol addition")
> > Cc: stable@dpdk.org
> > 
> > Signed-off-by: David Marchand <david.marchand@redhat.com>
> Acked-by: Neil Horman <nhorman@tuxdriver.com>

Applied, thanks




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2019-04-15 22:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-04-05  8:17 [dpdk-stable] [PATCH] devtools: accept experimental symbol promotion David Marchand
2019-04-05 11:22 ` Neil Horman
2019-04-15 22:14   ` [dpdk-stable] [dpdk-dev] " Thomas Monjalon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).