ci: build and use libabigail 1.6
libabigail 1.2 (at least) reports changes in 'const' property as an ABI breakage [1]. This was fixed upstream in libabigail 1.4 [2], and a bug has been opened in launchpad [3]. But for now, build and use the last version 1.6 so that the ABI checks can be kept. 1: https://travis-ci.com/DPDK/dpdk/jobs/287872118#L2242 2: https://sourceware.org/git/gitweb.cgi?p=libabigail.git;a=commitdiff;h=215b7eb4fe8b 3: https://bugs.launchpad.net/ubuntu/+source/libabigail/+bug/1863607 Signed-off-by: David Marchand <david.marchand@redhat.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Aaron Conole <aconole@redhat.com>
This commit is contained in:
parent
bc3282125b
commit
b5030c733a
|
@ -14,6 +14,20 @@ on_error() {
|
|||
}
|
||||
trap on_error EXIT
|
||||
|
||||
install_libabigail() {
|
||||
version=$1
|
||||
instdir=$2
|
||||
|
||||
wget -q "http://mirrors.kernel.org/sourceware/libabigail/${version}.tar.gz"
|
||||
tar -xf ${version}.tar.gz
|
||||
cd $version && autoreconf -vfi && cd -
|
||||
mkdir $version/build
|
||||
cd $version/build && ../configure --prefix=$instdir && cd -
|
||||
make -C $version/build all install
|
||||
rm -rf $version
|
||||
rm ${version}.tar.gz
|
||||
}
|
||||
|
||||
if [ "$AARCH64" = "1" ]; then
|
||||
# convert the arch specifier
|
||||
OPTS="$OPTS --cross-file config/arm/arm64_armv8_linux_gcc"
|
||||
|
@ -38,6 +52,21 @@ if [ "$AARCH64" != "1" ]; then
|
|||
fi
|
||||
|
||||
if [ "$ABI_CHECKS" = "1" ]; then
|
||||
LIBABIGAIL_VERSION=${LIBABIGAIL_VERSION:-libabigail-1.6}
|
||||
|
||||
if [ "$(cat libabigail/VERSION 2>/dev/null)" != "$LIBABIGAIL_VERSION" ]; then
|
||||
rm -rf libabigail
|
||||
# if we change libabigail, invalidate existing abi cache
|
||||
rm -rf reference
|
||||
fi
|
||||
|
||||
if [ ! -d libabigail ]; then
|
||||
install_libabigail $LIBABIGAIL_VERSION $(pwd)/libabigail
|
||||
echo $LIBABIGAIL_VERSION > libabigail/VERSION
|
||||
fi
|
||||
|
||||
export PATH=$(pwd)/libabigail/bin:$PATH
|
||||
|
||||
REF_GIT_REPO=${REF_GIT_REPO:-https://dpdk.org/git/dpdk}
|
||||
REF_GIT_TAG=${REF_GIT_TAG:-v19.11}
|
||||
|
||||
|
|
|
@ -2,6 +2,7 @@ language: c
|
|||
cache:
|
||||
ccache: true
|
||||
directories:
|
||||
- libabigail
|
||||
- reference
|
||||
compiler:
|
||||
- gcc
|
||||
|
@ -24,7 +25,10 @@ aarch64_packages: &aarch64_packages
|
|||
|
||||
extra_packages: &extra_packages
|
||||
- *required_packages
|
||||
- [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4, abigail-tools]
|
||||
- [libbsd-dev, libpcap-dev, libcrypto++-dev, libjansson4]
|
||||
|
||||
libabigail_build_packages: &libabigail_build_packages
|
||||
- [autoconf, automake, libtool, pkg-config, libxml2-dev, libdw-dev]
|
||||
|
||||
build_32b_packages: &build_32b_packages
|
||||
- *required_packages
|
||||
|
@ -160,6 +164,7 @@ matrix:
|
|||
apt:
|
||||
packages:
|
||||
- *extra_packages
|
||||
- *libabigail_build_packages
|
||||
- env: DEF_LIB="shared" EXTRA_PACKAGES=1 ABI_CHECKS=1
|
||||
arch: arm64
|
||||
compiler: gcc
|
||||
|
@ -167,5 +172,6 @@ matrix:
|
|||
apt:
|
||||
packages:
|
||||
- *extra_packages
|
||||
- *libabigail_build_packages
|
||||
|
||||
script: ./.ci/${TRAVIS_OS_NAME}-build.sh
|
||||
|
|
Loading…
Reference in a new issue