From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <nhorman@tuxdriver.com>
Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58])
 by dpdk.org (Postfix) with ESMTP id C50111B4A7;
 Fri,  5 Apr 2019 13:22:37 +0200 (CEST)
Received: from cpe-2606-a000-111b-405a-9816-2c85-c514-8f7a.dyn6.twc.com
 ([2606:a000:111b:405a:9816:2c85:c514:8f7a] helo=localhost)
 by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63)
 (envelope-from <nhorman@tuxdriver.com>)
 id 1hCMvZ-0006zz-5B; Fri, 05 Apr 2019 07:22:35 -0400
Date: Fri, 5 Apr 2019 07:22:04 -0400
From: Neil Horman <nhorman@tuxdriver.com>
To: David Marchand <david.marchand@redhat.com>
Cc: dev@dpdk.org, thomas@monjalon.net, stable@dpdk.org
Message-ID: <20190405112204.GB18498@hmswarspite.think-freely.org>
References: <1554452267-24444-1-git-send-email-david.marchand@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <1554452267-24444-1-git-send-email-david.marchand@redhat.com>
User-Agent: Mutt/1.11.3 (2019-02-01)
X-Spam-Score: -2.9 (--)
X-Spam-Status: No
Subject: Re: [dpdk-dev] [PATCH] devtools: accept experimental symbol
	promotion
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Fri, 05 Apr 2019 11:22:38 -0000

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>

From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from dpdk.org (dpdk.org [92.243.14.124])
	by dpdk.space (Postfix) with ESMTP id B39D9A0679
	for <public@inbox.dpdk.org>; Fri,  5 Apr 2019 13:22:40 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id B11EA1B4AA;
	Fri,  5 Apr 2019 13:22:38 +0200 (CEST)
Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58])
 by dpdk.org (Postfix) with ESMTP id C50111B4A7;
 Fri,  5 Apr 2019 13:22:37 +0200 (CEST)
Received: from cpe-2606-a000-111b-405a-9816-2c85-c514-8f7a.dyn6.twc.com
 ([2606:a000:111b:405a:9816:2c85:c514:8f7a] helo=localhost)
 by smtp.tuxdriver.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.63)
 (envelope-from <nhorman@tuxdriver.com>)
 id 1hCMvZ-0006zz-5B; Fri, 05 Apr 2019 07:22:35 -0400
Date: Fri, 5 Apr 2019 07:22:04 -0400
From: Neil Horman <nhorman@tuxdriver.com>
To: David Marchand <david.marchand@redhat.com>
Cc: dev@dpdk.org, thomas@monjalon.net, stable@dpdk.org
Message-ID: <20190405112204.GB18498@hmswarspite.think-freely.org>
References: <1554452267-24444-1-git-send-email-david.marchand@redhat.com>
MIME-Version: 1.0
Content-Type: text/plain; charset="UTF-8"
Content-Disposition: inline
In-Reply-To: <1554452267-24444-1-git-send-email-david.marchand@redhat.com>
User-Agent: Mutt/1.11.3 (2019-02-01)
X-Spam-Score: -2.9 (--)
X-Spam-Status: No
Subject: Re: [dpdk-dev] [PATCH] devtools: accept experimental symbol
	promotion
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>
Message-ID: <20190405112204.WGFsXqYo-nZ9-_MfLdV4-0LxjcIdoGizVhzf1FsIJAY@z>

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>