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 0ACCCA00C2; Wed, 22 Apr 2020 15:19:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DA8361D636; Wed, 22 Apr 2020 15:19:27 +0200 (CEST) Received: from relay0192.mxlogin.com (relay0192.mxlogin.com [199.181.239.192]) by dpdk.org (Postfix) with ESMTP id 064821BF44 for ; Wed, 22 Apr 2020 15:19:25 +0200 (CEST) Received: from filter003.mxroute.com ([168.235.111.26] 168-235-111-26.cloud.ramnode.com) (Authenticated sender: mN4UYu2MZsgR) by relay0192.mxlogin.com (ZoneMTA) with ESMTPSA id 171a20afd350000766.001 for (version=TLSv1/SSLv3 cipher=ECDHE-RSA-AES128-GCM-SHA256); Wed, 22 Apr 2020 13:19:21 +0000 X-Zone-Loop: 3a7c47a25e037908fcbedd63714580f26d1186b3b916 X-Originating-IP: [168.235.111.26] Received: from galaxy.mxroute.com (unknown [23.92.70.113]) by filter003.mxroute.com (Postfix) with ESMTPS id 7EE3A60030; Wed, 22 Apr 2020 13:19:18 +0000 (UTC) Received: from [192.198.151.43] by galaxy.mxroute.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.91) (envelope-from ) id 1jRErw-0008Pu-Jg; Wed, 22 Apr 2020 08:52:48 -0400 To: Thomas Monjalon , Neil Horman Cc: dev@dpdk.org, david.marchand@redhat.com References: <20200416145414.262296-1-nhorman@tuxdriver.com> <20200422120702.GB864272@hmswarspite.think-freely.org> <1711842.QZUTf85G27@thomas> From: Ray Kinsella Autocrypt: addr=mdr@ashroe.eu; keydata= mQINBFv8B3wBEAC+5ImcgbIvadt3axrTnt7Sxch3FsmWTTomXfB8YiuHT8KL8L/bFRQSL1f6 ASCHu3M89EjYazlY+vJUWLr0BhK5t/YI7bQzrOuYrl9K94vlLwzD19s/zB/g5YGGR5plJr0s JtJsFGEvF9LL3e+FKMRXveQxBB8A51nAHfwG0WSyx53d61DYz7lp4/Y4RagxaJoHp9lakn8j HV2N6rrnF+qt5ukj5SbbKWSzGg5HQF2t0QQ5tzWhCAKTfcPlnP0GymTBfNMGOReWivi3Qqzr S51Xo7hoGujUgNAM41sxpxmhx8xSwcQ5WzmxgAhJ/StNV9cb3HWIoE5StCwQ4uXOLplZNGnS uxNdegvKB95NHZjRVRChg/uMTGpg9PqYbTIFoPXjuk27sxZLRJRrueg4tLbb3HM39CJwSB++ YICcqf2N+GVD48STfcIlpp12/HI+EcDSThzfWFhaHDC0hyirHxJyHXjnZ8bUexI/5zATn/ux TpMbc/vicJxeN+qfaVqPkCbkS71cHKuPluM3jE8aNCIBNQY1/j87k5ELzg3qaesLo2n1krBH bKvFfAmQuUuJT84/IqfdVtrSCTabvDuNBDpYBV0dGbTwaRfE7i+LiJJclUr8lOvHUpJ4Y6a5 0cxEPxm498G12Z3NoY/mP5soItPIPtLR0rA0fage44zSPwp6cQARAQABtBxSYXkgS2luc2Vs bGEgPG1kckBhc2hyb2UuZXU+iQJUBBMBCAA+FiEEcDUDlKDJaDuJlfZfdJdaH/sCCpsFAlv8 B3wCGyMFCQlmAYAFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AACgkQdJdaH/sCCptdtRAAl0oE msa+djBVYLIsax+0f8acidtWg2l9f7kc2hEjp9h9aZCpPchQvhhemtew/nKavik3RSnLTAyn B3C/0GNlmvI1l5PFROOgPZwz4xhJKGN7jOsRrbkJa23a8ly5UXwF3Vqnlny7D3z+7cu1qq/f VRK8qFyWkAb+xgqeZ/hTcbJUWtW+l5Zb+68WGEp8hB7TuJLEWb4+VKgHTpQ4vElYj8H3Z94a 04s2PJMbLIZSgmKDASnyrKY0CzTpPXx5rSJ1q+B1FCsfepHLqt3vKSALa3ld6bJ8fSJtDUJ7 JLiU8dFZrywgDIVme01jPbjJtUScW6jONLvhI8Z2sheR71UoKqGomMHNQpZ03ViVWBEALzEt TcjWgJFn8yAmxqM4nBnZ+hE3LbMo34KCHJD4eg18ojDt3s9VrDLa+V9fNxUHPSib9FD9UX/1 +nGfU/ZABmiTuUDM7WZdXri7HaMpzDRJUKI6b+/uunF8xH/h/MHW16VuMzgI5dkOKKv1LejD dT5mA4R+2zBS+GsM0oa2hUeX9E5WwjaDzXtVDg6kYq8YvEd+m0z3M4e6diFeLS77/sAOgaYL 92UcoKD+Beym/fVuC6/55a0e12ksTmgk5/ZoEdoNQLlVgd2INtvnO+0k5BJcn66ZjKn3GbEC VqFbrnv1GnA58nEInRCTzR1k26h9nmS5Ag0EW/wHfAEQAMth1vHr3fOZkVOPfod3M6DkQir5 xJvUW5EHgYUjYCPIa2qzgIVVuLDqZgSCCinyooG5dUJONVHj3nCbITCpJp4eB3PI84RPfDcC hf/V34N/Gx5mTeoymSZDBmXT8YtvV/uJvn+LvHLO4ZJdvq5ZxmDyxfXFmkm3/lLw0+rrNdK5 pt6OnVlCqEU9tcDBezjUwDtOahyV20XqxtUttN4kQWbDRkhT+HrA9WN9l2HX91yEYC+zmF1S OhBqRoTPLrR6g4sCWgFywqztpvZWhyIicJipnjac7qL/wRS+wrWfsYy6qWLIV80beN7yoa6v ccnuy4pu2uiuhk9/edtlmFE4dNdoRf7843CV9k1yRASTlmPkU59n0TJbw+okTa9fbbQgbIb1 pWsAuicRHyLUIUz4f6kPgdgty2FgTKuPuIzJd1s8s6p2aC1qo+Obm2gnBTduB+/n1Jw+vKpt 07d+CKEKu4CWwvZZ8ktJJLeofi4hMupTYiq+oMzqH+V1k6QgNm0Da489gXllU+3EFC6W1qKj tkvQzg2rYoWeYD1Qn8iXcO4Fpk6wzylclvatBMddVlQ6qrYeTmSbCsk+m2KVrz5vIyja0o5Y yfeN29s9emXnikmNfv/dA5fpi8XCANNnz3zOfA93DOB9DBf0TQ2/OrSPGjB3op7RCfoPBZ7u AjJ9dM7VABEBAAGJAjwEGAEIACYWIQRwNQOUoMloO4mV9l90l1of+wIKmwUCW/wHfAIbDAUJ CWYBgAAKCRB0l1of+wIKm3KlD/9w/LOG5rtgtCUWPl4B3pZvGpNym6XdK8cop9saOnE85zWf u+sKWCrxNgYkYP7aZrYMPwqDvilxhbTsIJl5HhPgpTO1b0i+c0n1Tij3EElj5UCg3q8mEc17 c+5jRrY3oz77g7E3oPftAjaq1ybbXjY4K32o3JHFR6I8wX3m9wJZJe1+Y+UVrrjY65gZFxcA thNVnWKErarVQGjeNgHV4N1uF3pIx3kT1N4GSnxhoz4Bki91kvkbBhUgYfNflGURfZT3wIKK +d50jd7kqRouXUCzTdzmDh7jnYrcEFM4nvyaYu0JjSS5R672d9SK5LVIfWmoUGzqD4AVmUW8 pcv461+PXchuS8+zpltR9zajl72Q3ymlT4BTAQOlCWkD0snBoKNUB5d2EXPNV13nA0qlm4U2 GpROfJMQXjV6fyYRvttKYfM5xYKgRgtP0z5lTAbsjg9WFKq0Fndh7kUlmHjuAIwKIV4Tzo75 QO2zC0/NTaTjmrtiXhP+vkC4pcrOGNsbHuaqvsc/ZZ0siXyYsqbctj/sCd8ka2r94u+c7o4l BGaAm+FtwAfEAkXHu4y5Phuv2IRR+x1wTey1U1RaEPgN8xq0LQ1OitX4t2mQwjdPihZQBCnZ wzOrkbzlJMNrMKJpEgulmxAHmYJKgvZHXZXtLJSejFjR0GdHJcL5rwVOMWB8cg== Message-ID: Date: Wed, 22 Apr 2020 14:19:13 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 MIME-Version: 1.0 In-Reply-To: <1711842.QZUTf85G27@thomas> Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit X-AuthUser: mdr@ashroe.eu 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" On 22/04/2020 13:18, Thomas Monjalon wrote: > 22/04/2020 14:07, Neil Horman: >> On Wed, Apr 22, 2020 at 12:43:44PM +0100, Ray Kinsella wrote: >>> On 21/04/2020 22:42, 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. >>>> >>> >>> So I can just relate my experience .... >>> >>> root@silpixa00395806:/build/dpdk# DPDK_ABI_REF_VERSION=HEAD~1 ./devtools/test-meson-builds.sh >>> ninja -C ./build-gcc-static >>> ninja: Entering directory `./build-gcc-static' >>> [1766/2204] Compiling C object 'examples/c590b3c@@dpdk-vm_power_manager@exe/vm_power_manager_channel_monitor.c.o'. >>> ../examples/vm_power_manager/channel_monitor.c:22:9: note: #pragma message: Jansson dev libs unavailable, not including JSON parsing >>> #pragma message "Jansson dev libs unavailable, not including JSON parsing" >>> ^~~~~~~ >>> [2204/2204] Linking target drivers/librte_pmd_softnic.so.20.0.2. >>> Cloning into 'reference/HEAD~1/src'... >>> warning: Could not find remote branch HEAD~1 to clone. >>> fatal: Remote branch HEAD~1 not found in upstream origin >>> fatal: The remote end hung up unexpectedly >>> >> Ah, So its not the problem i was describing, I think the problem you are seeing >> is that the -b option only operates on branches and tags, not arbitrary git >> revisions. >> >> To fix that, what we probably need to do is alter test-build.sh and >> test-meson-build.sh such that the git clone operation is preceded by something >> like this: >> git tag ABI_CHECK_TAG $DPDK_ABI_REF_VERSION >> >> git clone .... >> >> git tag -d ABI_CHECK_TAG >> >> Doing so will guarantee that the source tree has a tag reference that the git >> clone operation can use to do a checkout with a -b option on. > > I don't see the benefit of such test. > Can we just document that the reference must be an existing tag? > You want people to use this thing right?