blob: 14e41a4107fd48eb8b34a2eeced9ef1bd9842cf5 [file] [log] [blame]
Junxiao Shi439d9722015-03-20 15:08:44 -07001#!/usr/bin/env bash
Davide Pesaventod8398822020-03-29 18:46:19 -04002set -ex
Davide Pesavento956ac312016-09-20 19:11:30 +02003
Junxiao Shi439d9722015-03-20 15:08:44 -07004if has OSX $NODE_LABELS; then
Davide Pesavento07238e82017-08-26 13:21:57 -04005 FORMULAE=(boost openssl pkg-config)
Davide Pesaventoa1a9d702020-03-29 00:58:15 -04006 if has OSX-10.13 $NODE_LABELS || has OSX-10.14 $NODE_LABELS; then
7 FORMULAE+=(python)
Davide Pesavento1eecc172017-06-24 14:30:42 -04008 fi
Junxiao Shi439d9722015-03-20 15:08:44 -07009
Davide Pesaventoa1a9d702020-03-29 00:58:15 -040010 if [[ -n $TRAVIS ]]; then
11 # Travis images come with a large number of pre-installed
12 # brew packages, don't waste time upgrading all of them
13 brew list --versions "${FORMULAE[@]}" || brew update
14 for FORMULA in "${FORMULAE[@]}"; do
15 brew list --versions "$FORMULA" || brew install "$FORMULA"
16 done
17 # Ensure /usr/local/opt/openssl exists
18 brew reinstall openssl
19 else
20 brew update
21 brew upgrade
22 brew install "${FORMULAE[@]}"
23 brew cleanup
24 fi
25
26elif has Ubuntu $NODE_LABELS; then
Davide Pesavento0e8edde2016-05-03 18:08:39 +020027 sudo apt-get -qq update
Davide Pesaventoa1a9d702020-03-29 00:58:15 -040028 sudo apt-get -qy install g++ pkg-config python3-minimal \
29 libboost-all-dev libssl-dev libsqlite3-dev \
30 libpcap-dev
Davide Pesavento931dfe82017-04-29 20:33:45 -040031
32 if [[ $JOB_NAME == *"code-coverage" ]]; then
ashiqopu1f0cad72018-11-25 01:22:54 +000033 sudo apt-get -qy install gcovr lcov libgd-perl
Davide Pesavento931dfe82017-04-29 20:33:45 -040034 fi
Md Ashiqur Rahman25c37f12018-10-12 17:59:20 +000035
Davide Pesaventod8398822020-03-29 18:46:19 -040036elif has CentOS-8 $NODE_LABELS; then
37 sudo dnf config-manager --enable PowerTools
38 sudo dnf -y install gcc-c++ libasan pkgconf-pkg-config python3 \
39 boost-devel openssl-devel sqlite-devel \
40 libpcap-devel
Md Ashiqur Rahman25c37f12018-10-12 17:59:20 +000041fi