diff options
Diffstat (limited to '.ci/linux-prepare.sh')
-rwxr-xr-x | .ci/linux-prepare.sh | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/.ci/linux-prepare.sh b/.ci/linux-prepare.sh new file mode 100755 index 000000000..fea905a83 --- /dev/null +++ b/.ci/linux-prepare.sh @@ -0,0 +1,42 @@ +#!/bin/bash + +set -ev + +if [ "$DEB_PACKAGE" ]; then + # We're not using sparse for debian packages, tests are skipped and + # all extra dependencies tracked by mk-build-deps. + exit 0 +fi + +# Build and install sparse. +# +# Explicitly disable sparse support for llvm because some travis +# environments claim to have LLVM (llvm-config exists and works) but +# linking against it fails. +# Disabling sqlite support because sindex build fails and we don't +# really need this utility being installed. +git clone git://git.kernel.org/pub/scm/devel/sparse/sparse.git +cd sparse +make -j4 HAVE_LLVM= HAVE_SQLITE= install +cd .. + +pip3 install --disable-pip-version-check --user flake8 hacking +pip3 install --user --upgrade docutils + +if [ "$M32" ]; then + # Installing 32-bit libraries. + pkgs="gcc-multilib" + if [ -z "$GITHUB_WORKFLOW" ]; then + # 32-bit and 64-bit libunwind can not be installed at the same time. + # This will remove the 64-bit libunwind and install 32-bit version. + # GitHub Actions doesn't have 32-bit versions of these libs. + pkgs=$pkgs" libunwind-dev:i386 libunbound-dev:i386" + fi + + sudo apt-get install -y $pkgs +fi + +# IPv6 is supported by kernel but disabled in TravisCI images: +# https://github.com/travis-ci/travis-ci/issues/8891 +# Enable it to avoid skipping of IPv6 related tests. +sudo sysctl -w net.ipv6.conf.all.disable_ipv6=0 |