devtools: skip experimental libraries in ABI check
authorDavid Marchand <david.marchand@redhat.com>
Fri, 21 Feb 2020 15:42:53 +0000 (16:42 +0100)
committerDavid Marchand <david.marchand@redhat.com>
Fri, 21 Feb 2020 16:44:02 +0000 (17:44 +0100)
We don't provide ABI compatibility for experimental libraries.
Skip those libraries by catching a soname containing a version starting
with '0.'.

Align the special case for the glue libraries by using the soname too.
Once libabigail has support for it, we will have a single type of rule.

Fixes: 777014e56d07 ("devtools: add ABI checks")

Signed-off-by: David Marchand <david.marchand@redhat.com>
Acked-by: Thomas Monjalon <thomas@monjalon.net>
devtools/check-abi.sh

index 0b4d1a3..dd9120e 100755 (executable)
@@ -40,8 +40,13 @@ for dump in $(find $refdir -name "*.dump"); do
        # skip glue drivers, example librte_pmd_mlx5_glue.dump
        # We can't rely on a suppression rule for now:
        # https://sourceware.org/bugzilla/show_bug.cgi?id=25480
-       if [ "$name" != "${name%%_glue.dump}" ]; then
-               echo "Skipping ${dump}..."
+       if grep -qE "\<soname='[^']*_glue\.so\.[^']*'" $dump; then
+               echo "Skipped glue library $name."
+               continue
+       fi
+       # skip experimental libraries, with a sover starting with 0.
+       if grep -qE "\<soname='[^']*\.so\.0\.[^']*'" $dump; then
+               echo "Skipped experimental library $name."
                continue
        fi
        dump2=$(find $newdir -name $name)