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 inbox.dpdk.org (Postfix) with ESMTP id 9B846A05A0;
	Tue, 21 Apr 2020 23:42:49 +0200 (CEST)
Received: from [92.243.14.124] (localhost [127.0.0.1])
	by dpdk.org (Postfix) with ESMTP id 630111D16B;
	Tue, 21 Apr 2020 23:42:48 +0200 (CEST)
Received: from wout2-smtp.messagingengine.com (wout2-smtp.messagingengine.com
 [64.147.123.25]) by dpdk.org (Postfix) with ESMTP id 971DA1D14F
 for <dev@dpdk.org>; Tue, 21 Apr 2020 23:42:46 +0200 (CEST)
Received: from compute7.internal (compute7.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 256625D5;
 Tue, 21 Apr 2020 17:42:45 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute7.internal (MEProxy); Tue, 21 Apr 2020 17:42:45 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h=
 from:to:cc:subject:date:message-id:in-reply-to:references
 :mime-version:content-transfer-encoding:content-type; s=fm1; bh=
 evA6aR8QBeoVvDimj7LXJFURlwFIWIlaRpyz3pAha5k=; b=nbZ3LCd0oGSh0kc7
 uremtKTk75gf975Qqoj+6LIAkXPBhYZ15aL1aVX/q/SQ/yaWxxCVFeKGbxP8DNYL
 kSmh065Ns5ZXyjyJQ5FLZsUef4V04YLKuSSvM35Copx3Z+c9GYdKcWVHhbbyEQPB
 rqhLQrNQ7OVmxSEqSm7KUWLCYTX/pg6jUJMrjLwKBpQA8nmyXKOcgPfcUmPlmwwN
 wJbKhmzT1C5TC/RFit0t7DJSpvaKo/893Gnc10WUw7xwsfd9TUjJTRGQdLD1jLei
 NJqxq6ARGkyUWB/RMBgA7f5AL4W40aiJfkSeoHjsXCw+tv4fd/ZdzNAWQIvpTJ7I
 cCtXfg==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-transfer-encoding:content-type
 :date:from:in-reply-to:message-id:mime-version:references
 :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm2; bh=evA6aR8QBeoVvDimj7LXJFURlwFIWIlaRpyz3pAha
 5k=; b=OE431C5xN1uxMdWXlQl+sQOGm5ae1DdrQkaNlzYhM/7GjQvlFt2aCXDAH
 JN6/K2ba+G75sk+K+qbP6nqBICtdSggZl6kpsw4Ck7Gab5QwqQkSZwzQryVt+HQx
 Sdvy1C+h21gzqoN6MYYvQosTiRSgUbjBfkeRo2bhNTJy/yEn3NPB9ISTyGzids9/
 wdYKpsr9Bvjl1m8FtfhSQAjybleE+u6HviR3wPjhx9Z1rlVX2aASD/YPvYesJOxD
 I7OlmA9eBv9mZFGoBgsRgOuRMU9Awe3MZ6QF7Est4MeF34hcgDW2P/g8X4xyJpYU
 EoGnHpzGKQK/rjYJxiwk//OzoaIgQ==
X-ME-Sender: <xms:1GifXm8RMAwbbL__2X_hG2MW1bc5wd64tP6ktNWogudLzThzeZzaqQ>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrgeeiucetufdoteggodetrfdotffvucfrrh
 hofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgenuceurghi
 lhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurh
 ephffvufffkfgjfhgggfgtsehtufertddttddvnecuhfhrohhmpefvhhhomhgrshcuofho
 nhhjrghlohhnuceothhhohhmrghssehmohhnjhgrlhhonhdrnhgvtheqnecukfhppeejje
 drudefgedrvddtfedrudekgeenucevlhhushhtvghrufhiiigvpedunecurfgrrhgrmhep
 mhgrihhlfhhrohhmpehthhhomhgrshesmhhonhhjrghlohhnrdhnvght
X-ME-Proxy: <xmx:1GifXgCWYph_ZJjzoZP0RGxHUFkfwaJ2A1gLA9o1xUYN1fu95x-Jsg>
 <xmx:1GifXjStMyPLZrKv8VfDpqHDnixRzjSHAIJ-a-IBAgPRLdsP9hQQCg>
 <xmx:1GifXvuVvb01kscjw2RdK9oylhfFBc20r0Ub50X__AGy9Z9lCEcijA>
 <xmx:1GifXnX5Rh_i5CYp0YRI6FNgauCtNkIU1FfuIfEIcsgZJALhCCVnhw>
Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184])
 by mail.messagingengine.com (Postfix) with ESMTPA id E8A953065C7B;
 Tue, 21 Apr 2020 17:42:43 -0400 (EDT)
From: Thomas Monjalon <thomas@monjalon.net>
To: Neil Horman <nhorman@tuxdriver.com>
Cc: Ray Kinsella <mdr@ashroe.eu>, dev@dpdk.org, david.marchand@redhat.com
Date: Tue, 21 Apr 2020 23:42:42 +0200
Message-ID: <1695354.8hzESeGDPO@thomas>
In-Reply-To: <20200421185651.GB763162@hmswarspite.think-freely.org>
References: <20200416145414.262296-1-nhorman@tuxdriver.com>
 <2208997.NG923GbCHz@thomas>
 <20200421185651.GB763162@hmswarspite.think-freely.org>
MIME-Version: 1.0
Content-Transfer-Encoding: 7Bit
Content-Type: text/plain; charset="us-ascii"
Subject: Re: [dpdk-dev] [PATCHv3] Remove validate-abi.sh from tree
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>

21/04/2020 20:56, Neil Horman:
> On Tue, Apr 21, 2020 at 01:46:43PM +0200, Thomas Monjalon wrote:
> > 21/04/2020 13:12, Neil Horman:
> > > On Fri, Apr 17, 2020 at 04:42:38PM +0100, Ray Kinsella wrote:
> > > > On 17/04/2020 13:10, Thomas Monjalon wrote:
> > > > > 17/04/2020 13:47, Ray Kinsella:
> > > > >> On 17/04/2020 11:20, Thomas Monjalon wrote:
> > > > >>> 17/04/2020 12:11, Ray Kinsella:
> > > > >>>> check-abi.sh appears to be backward step in terms of usability.
> > > > >>>
> > > > >>> No, check-abi.sh benefits from a nice integration in build scripts.
> > > > >>> See below.
> > > > >>>
> > > > >>>> With validate-abi.sh I do can do a "validate-abi.sh HEAD~1 HEAD".
> > > > >>>> And it will do the build, install, dump and comparison for me. 
> > > > >>>> And it picked up my 20.0.2 - > 21.0 changes no problem. 
> > > > >>>>
> > > > >>>> With check-abi on the other hand, I need to the build and install myself.
> > > > >>>> check-abi requires dump files, but I see no reference in the documentation to how these are created.
> > > > >>>> It silently fails when it doesn't find any ...
> > > > >>>>
> > > > >>>> Do I run abi-dumper on the so's myself, or how does it work?
> > > > >>>
> > > > >>> check-abi.sh is integrated in test-build.sh and test-meson-builds.sh.
> > > > >>> Probably we should document usage in these scripts.
> > > > >>
> > > > >> Looks like I need to set DPDK_ABI_REF_VERSION=master, not obvious.
> > > > >> Any tips or tricks would be welcome.
> > > > > 
> > > > > export DPDK_ABI_REF_VERSION=v20.02
> > > > > or
> > > > > export DPDK_ABI_REF_VERSION=v19.11
> > > > > 
> > > > > Depends on which compatibility you want to test...
> > > > > 
> > > > 
> > > > Few things ...
> > > > 
> > > > 1. test-meson-build.sh keep barfing complaining about reference paths.
> > > > ValueError: dst_dir must be absolute, got reference/v19.11/build-gcc-static/usr/local/share/dpdk/examples/bbdev_app
> > > > 
> > > > Under the hood, ninja install is failing complaining that it needs an absolute path.
> > > > I fixed this in test_meson_build.sh and will send a patch in a minute. 
> > > > Though it's strange no-one else has seen it?
> > > > 
> > > > 2. test-meson-build.sh compares the abi for the static builds, which doesn't make any sense. 
> > > > 
> > > > 3. test-meson-build.sh will only take a branch in DPDK_ABI_REF_VERSION that exists locally.
> > > > In order to get it to compare HEAD against HEAD~1, which you would imagine is a pretty common case.
> > > > I had a create a branch for HEAD~1, in validate-abi this a pretty simple `validate-abi HEAD~1 HEAD`
> > > > 
> > >  I think this code in test-meson-build.sh should probably be fixed:
> > > 
> > > if [ ! -d $abirefdir/src ]; then
> > >                                 git clone --local --no-hardlinks \
> > >                                         --single-branch \
> > >                                         -b $DPDK_ABI_REF_VERSION \
> > >                                         $srcdir $abirefdir/src
> > >                         fi
> > > 
> > > Like you noted, using -b allows us to checkout a tag/branch in the cloned
> > > repository but requires that it exist locally.  We should probably prefix the
> > > checkout with a git fetch --tags
> > 
> > I don't understand your concern.
> > A reference is an older version, so it should be in the git tree.
> > 
> yes, but not unless you've done a recent pull or fetch.  If you set
> DPDK_ABI_REF_VERSION to a tag/branch that didn't exist as of the last time you
> updated the tree, it won't be there (which it sounds like what is being
> encountered here).  You can fix that by doing a git pull or git fetch prior to
> running this script (or internal to the script)

Sorry I still don't understand the case.
We want to compare the current version C with a reference R which is older.
If the reference R is not in the tree, it means the version C is not in the tree.
But C is the current version, so it is in the tree by definition.