From: Ray Kinsella <mdr@ashroe.eu>
To: Thomas Monjalon <thomas@monjalon.net>,
Neil Horman <nhorman@tuxdriver.com>
Cc: dev@dpdk.org, david.marchand@redhat.com
Subject: Re: [dpdk-dev] [PATCHv3] Remove validate-abi.sh from tree
Date: Mon, 20 Apr 2020 09:43:48 +0100 [thread overview]
Message-ID: <b5654582-14d0-8c6d-b8dc-30b8f395dd72@ashroe.eu> (raw)
In-Reply-To: <33823472.ATrlOLLGV9@thomas>
On 17/04/2020 17:10, Thomas Monjalon wrote:
> 17/04/2020 17:42, Ray Kinsella:
>> 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?
>
> I set an absolute path in DPDK_ABI_REF_DIR.
> Not sure you can really fix it. What would be the root dir?
Figure it out at runtime, check with realpath, if DPDK_ABI_REF_DIR is not set?
Or at the very least test_meson_build.sh should barf, if DPDK_ABI_REF_DIR is not set when $DPDK_ABI_REF_VERSION is set.
root@silpixa00395806:/build/dpdk# git diff devtools/test-meson-builds.sh
diff --git a/devtools/test-meson-builds.sh b/devtools/test-meson-builds.sh
index c1ff2bb50..f24cc104d 100755
--- a/devtools/test-meson-builds.sh
+++ b/devtools/test-meson-builds.sh
@@ -103,13 +103,15 @@ compile () # <builddir>
install_target () # <builddir> <installdir>
{
+ destdir_fp=$(realpath $2)
+
rm -rf $2
if [ -n "$TEST_MESON_BUILD_VERY_VERBOSE$TEST_MESON_BUILD_VERBOSE" ]; then
echo "DESTDIR=$2 $ninja_cmd -C $1 install"
- DESTDIR=$2 $ninja_cmd -C $1 install
+ DESTDIR=$destdir_fp $ninja_cmd -C $1 install
else
echo "DESTDIR=$2 $ninja_cmd -C $1 install >/dev/null"
- DESTDIR=$2 $ninja_cmd -C $1 install >/dev/null
+ DESTDIR=$destdir_fp $ninja_cmd -C $1 install >/dev/null
fi
}
@@ -147,7 +149,7 @@ build () # <directory> <target compiler> <meson options>
$srcdir/devtools/gen-abi.sh \
$(readlink -f $builds_dir/$targetdir/install)
$srcdir/devtools/check-abi.sh $abirefdir/$targetdir \
- $(readlink -f $builds_dir/$targetdir/install)
+ $(readlink -f $builds_dir/$targetdir/install) || :
fi
}
>
>> 2. test-meson-build.sh compares the abi for the static builds, which doesn't make any sense.
>
> Yes
>
>> 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`
>
> Why is it a common case? You want to compare with a tag. Why something else?
>
I disagree, perhaps it's just me as a contributor.
My first action is to check that _my_ submission has done no harm.
Assuming that the origin's HEAD is more than likely good, I check my changes against it.
I assume that anything else that has changed between the origin's HEAD and v19.11, someone somewhere else has approved.
So why would I compare against v19.11, when I only want to check that the changes I have made have caused no harm.
next prev parent reply other threads:[~2020-04-20 8:44 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-16 14:54 Neil Horman
2020-04-17 10:11 ` Ray Kinsella
2020-04-17 10:20 ` Thomas Monjalon
2020-04-17 10:35 ` Ray Kinsella
2020-04-17 11:46 ` Thomas Monjalon
2020-04-17 11:47 ` Ray Kinsella
2020-04-17 12:10 ` Thomas Monjalon
2020-04-17 15:42 ` Ray Kinsella
2020-04-17 16:10 ` Thomas Monjalon
2020-04-20 8:43 ` Ray Kinsella [this message]
2020-04-21 11:12 ` Neil Horman
2020-04-21 11:46 ` Thomas Monjalon
2020-04-21 18:56 ` Neil Horman
2020-04-21 21:42 ` Thomas Monjalon
2020-04-22 11:43 ` Ray Kinsella
2020-04-22 12:07 ` Neil Horman
2020-04-22 12:18 ` Thomas Monjalon
2020-04-22 13:19 ` Ray Kinsella
2020-04-22 13:30 ` Thomas Monjalon
2020-04-23 11:03 ` Neil Horman
2020-04-22 12:01 ` Neil Horman
2020-04-22 12:16 ` Thomas Monjalon
2020-04-23 10:57 ` Neil Horman
2020-05-24 20:34 ` [dpdk-dev] [PATCH v4] devtools: remove old ABI validation script Thomas Monjalon
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b5654582-14d0-8c6d-b8dc-30b8f395dd72@ashroe.eu \
--to=mdr@ashroe.eu \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=nhorman@tuxdriver.com \
--cc=thomas@monjalon.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).