From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id 80E70A00C2; Wed, 22 Apr 2020 14:17:05 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 307201D5EB; Wed, 22 Apr 2020 14:17:04 +0200 (CEST) Received: from out4-smtp.messagingengine.com (out4-smtp.messagingengine.com [66.111.4.28]) by dpdk.org (Postfix) with ESMTP id 9890D1D5E3 for ; Wed, 22 Apr 2020 14:17:02 +0200 (CEST) Received: from compute7.internal (compute7.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 12E835C014F; Wed, 22 Apr 2020 08:17:00 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute7.internal (MEProxy); Wed, 22 Apr 2020 08:17:00 -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= 0K8FJLCSdL3nn9JRNLZqS18KWEzgQxqxXdGMz92qSQI=; b=MG/1I4scvbJF0nyr WI+NznbV9BI05g+j/rvprfSPcqcT4d7uY6vt8h4hgq9Xr12dxpuHpI4TThYfNrgf 6TfdKI9BaNUUMwjnH/ft5glWfFJG8+gcShNi6V8LgG5WWLhsUnNfBRjjzL+NVb+3 yYiYeAKXPmyoc6W/NH8WbAcVmcct1+QMqxhfXglcwVCiwhNIhMFHjtxIrXQp3cT5 X2mz1JRbeKB4BMsrxX3lH23n2IS02WiBssV7fRyYgUv8UFgaJ2f7m3kT+9H1ZFpo QJf8zRGenZWnsCp8LW4y3uvRzYf/gc0nfyk1ShlZBxREkK9mOjrZGzu4uFqwUcQu c8Zd5A== 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=0K8FJLCSdL3nn9JRNLZqS18KWEzgQxqxXdGMz92qS QI=; b=vwp10s63wPupAMY7ny0m4MoD7AvbPF/AiHIJLBiSw0/UB22ANBWvpn1JJ a72tBa6j35RYrxu97odLNtrvDwFemgp2fb/wB0hlRp/mY1n+tpy0mwXZMLkspTCn HAcd0JwpwztNSDDFhY/gMjn6GXiaW2AWU+LIffp5FGBavoY9j1w4dPPot7Op8bXv 7/Le/fCG82nt37W5AYp4Tec7IFp4vM8SxaQDAHXwghbslkELpCMDzffD4o6ERGx3 yY1SytmY3GO0wMMA1sFPFjuRVyIGuO7+FHX9FMdp9CmeOBgx6fzs0LNHR1BcXpKI OcKDu2L8olBu4fAgIdiiT/nEWRHUQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedrgeejgdegiecutefuodetggdotefrodftvf curfhrohhfihhlvgemucfhrghsthforghilhdpqfgfvfdpuffrtefokffrpgfnqfghnecu uegrihhlohhuthemuceftddtnecusecvtfgvtghiphhivghnthhsucdlqddutddtmdenuc fjughrpefhvffufffkjghfggfgtgesthfuredttddtvdenucfhrhhomhepvfhhohhmrghs ucfoohhnjhgrlhhonhcuoehthhhomhgrshesmhhonhhjrghlohhnrdhnvghtqeenucffoh hmrghinhepughpughkrdhorhhgnecukfhppeejjedrudefgedrvddtfedrudekgeenucev lhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhrohhmpehthhhomhgrsh esmhhonhhjrghlohhnrdhnvght X-ME-Proxy: Received: from xps.localnet (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id 94CAD3280063; Wed, 22 Apr 2020 08:16:58 -0400 (EDT) From: Thomas Monjalon To: Neil Horman Cc: Ray Kinsella , dev@dpdk.org, david.marchand@redhat.com Date: Wed, 22 Apr 2020 14:16:57 +0200 Message-ID: <1755319.1xdlsreqCQ@thomas> In-Reply-To: <20200422120108.GA864272@hmswarspite.think-freely.org> References: <20200416145414.262296-1-nhorman@tuxdriver.com> <1695354.8hzESeGDPO@thomas> <20200422120108.GA864272@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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 22/04/2020 14:01, Neil Horman: > On Tue, Apr 21, 2020 at 11:42:42PM +0200, Thomas Monjalon wrote: > > 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. > > > > > +---+ > | | > +---+ | | DPDK 20.11 > | |Feature Branch commit +-+-+ > | | | > +-+-+ +---+ +-v-+ > | | | master HEAD | | master HEAD > | +-+-+ +-+-+ > | | | > | | | > | +-v-+ +-v-+ > +---->+ | DPDK 19.11 | | DPDK 19.11 > +---+ +---+ > X X X X > XXXXXXX XXXXXXXXX XXXXXXX XXXXXXXXX > XXX XX XXX XX > XXXX XXXX > > Local GIT copy DPDK.ORG > > > > If a user clones from dpdk.org when dpdk 19.11 is tagged in the tree, or any > time before dpdk 20.11 is tagged, then creates a feature branch, they may want > to compare their abi to the latest stable version. If they check dpdk.org and > see that dpdk 20.11 is the latest tag in the tree, they can run check-abi.sh > with the reference tag specified as 20.11, which exists in the dpdk.org tree, > but may not have been pulled into their local copy yet. > > I'm not saying this is definately what happened, but it would explain the > reported observations. OK now I understand. The user specified a reference which is not in his local tree. I vote for considering this case as an user mistake, and document it as a limitation of the tool integration in our build testing scripts.