aboutsummaryrefslogtreecommitdiff
path: root/ci/install-dependencies.sh
diff options
context:
space:
mode:
authorDmitry V. Levin <ldv@altlinux.org>2019-12-15 17:50:27 +0000
committerDmitry V. Levin <ldv@altlinux.org>2019-12-16 09:49:03 +0000
commite40b1f72adf06793b8b9ef94d8bef46f7aba0f04 (patch)
treeebfbf5e9c4abe03c8c62e0509937a5bd6dab3095 /ci/install-dependencies.sh
parent4badb00e44b3648bb586ea66c6783f712b49ea26 (diff)
downloadpam-e40b1f72adf06793b8b9ef94d8bef46f7aba0f04.tar.gz
pam-e40b1f72adf06793b8b9ef94d8bef46f7aba0f04.tar.bz2
pam-e40b1f72adf06793b8b9ef94d8bef46f7aba0f04.zip
Add initial Travis CI support
This runs "make distcheck" using gcc-9, gcc-8, gcc-7, and clang on x86_64, x86, x32, aarch64, s390x, and ppc64le architectures. * .travis.yml: New file. * ci/install-dependencies.sh: Likewise. * ci/run-build-and-tests.sh: Likewise. Resolves: https://github.com/linux-pam/linux-pam/issues/28
Diffstat (limited to 'ci/install-dependencies.sh')
-rwxr-xr-xci/install-dependencies.sh83
1 files changed, 83 insertions, 0 deletions
diff --git a/ci/install-dependencies.sh b/ci/install-dependencies.sh
new file mode 100755
index 00000000..aaeaf389
--- /dev/null
+++ b/ci/install-dependencies.sh
@@ -0,0 +1,83 @@
+#!/bin/sh -ex
+#
+# Copyright (c) 2018-2019 The strace developers.
+# All rights reserved.
+#
+# SPDX-License-Identifier: GPL-2.0-or-later
+
+j=-j`nproc` || j=
+type sudo >/dev/null 2>&1 && sudo=sudo || sudo=
+packages="
+autoconf
+automake
+autopoint
+bison
+bzip2
+docbook-xml
+docbook-xsl
+flex
+gettext
+libaudit-dev
+libcrack2-dev
+libdb-dev
+libfl-dev
+libselinux1-dev
+libtool
+libxcrypt-dev
+libxml2-utils
+make
+pkg-config
+sed
+w3m
+xsltproc
+xz-utils
+$CC"
+
+retry_if_failed()
+{
+ for i in `seq 0 99`; do
+ "$@" && i= && break || sleep 1
+ done
+ [ -z "$i" ]
+}
+
+updated=
+apt_get_install()
+{
+ [ -n "$updated" ] || {
+ retry_if_failed $sudo apt-get -qq update
+ updated=1
+ }
+ retry_if_failed $sudo \
+ apt-get -qq --no-install-suggests --no-install-recommends \
+ install -y "$@"
+}
+
+case "$CC" in
+ gcc-*)
+ retry_if_failed \
+ $sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
+ ;;
+esac
+
+case "$TARGET" in
+ x32|x86)
+ packages="$packages gcc-multilib"
+ case "$CC" in
+ gcc-*) packages="$packages $CC-multilib" ;;
+ esac
+ ;;
+esac
+
+apt_get_install $packages
+
+case "${CHECK-}" in
+ coverage)
+ apt_get_install lcov python-pip python-setuptools
+ retry_if_failed \
+ pip install --user codecov
+ ;;
+ valgrind)
+ apt_get_install valgrind
+ ;;
+esac