mirror of https://github.com/Icinga/icinga2.git
91 lines
2.6 KiB
Bash
91 lines
2.6 KiB
Bash
|
#!/bin/bash
|
||
|
set -exo pipefail
|
||
|
|
||
|
export PATH="/usr/lib/ccache:/usr/lib64/ccache:/opt/rh/devtoolset-11/root/usr/bin:$PATH"
|
||
|
export CCACHE_DIR=/icinga2/ccache
|
||
|
export CTEST_OUTPUT_ON_FAILURE=1
|
||
|
CMAKE_OPTS=''
|
||
|
|
||
|
case "$DISTRO" in
|
||
|
amazonlinux:*)
|
||
|
amazon-linux-extras install -y epel
|
||
|
yum install -y bison ccache cmake gcc-c++ flex ninja-build \
|
||
|
{libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
||
|
|
||
|
yum install -y bzip2 tar wget
|
||
|
wget https://boostorg.jfrog.io/artifactory/main/release/1.69.0/source/boost_1_69_0.tar.bz2
|
||
|
tar -xjf boost_1_69_0.tar.bz2
|
||
|
|
||
|
(
|
||
|
cd boost_1_69_0
|
||
|
./bootstrap.sh --with-libraries=context,coroutine,date_time,filesystem,iostreams,program_options,regex,system,test,thread
|
||
|
./b2
|
||
|
)
|
||
|
|
||
|
ln -vs /usr/bin/ninja-build /usr/local/bin/ninja
|
||
|
CMAKE_OPTS='-DBOOST_INCLUDEDIR=/boost_1_69_0 -DBOOST_LIBRARYDIR=/boost_1_69_0/stage/lib'
|
||
|
export LD_LIBRARY_PATH=/boost_1_69_0/stage/lib
|
||
|
;;
|
||
|
|
||
|
centos:*)
|
||
|
yum install -y centos-release-scl epel-release
|
||
|
yum install -y bison ccache cmake devtoolset-11-gcc-c++ flex ninja-build \
|
||
|
{boost169,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
||
|
|
||
|
ln -vs /usr/bin/ccache /usr/lib64/ccache/g++
|
||
|
CMAKE_OPTS='-DBOOST_INCLUDEDIR=/usr/include/boost169 -DBOOST_LIBRARYDIR=/usr/lib64/boost169'
|
||
|
;;
|
||
|
|
||
|
debian:*|ubuntu:*)
|
||
|
apt-get update
|
||
|
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-{recommends,suggests} -y bison \
|
||
|
ccache cmake flex g++ lib{boost-all,edit,mariadb,ncurses,pq,ssl,systemd}-dev ninja-build tzdata
|
||
|
;;
|
||
|
|
||
|
fedora:*)
|
||
|
dnf install -y bison ccache cmake flex gcc-c++ ninja-build \
|
||
|
{boost,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
||
|
;;
|
||
|
|
||
|
opensuse/*)
|
||
|
zypper in -y bison ccache cmake flex gcc-c++ ninja {lib{edit,mariadb,openssl},ncurses,postgresql,systemd}-devel \
|
||
|
libboost_{context,coroutine,filesystem,iostreams,program_options,regex,system,test,thread}-devel
|
||
|
;;
|
||
|
|
||
|
rockylinux:*)
|
||
|
dnf install -y 'dnf-command(config-manager)' epel-release
|
||
|
|
||
|
case "$DISTRO" in
|
||
|
*:8)
|
||
|
dnf config-manager --enable powertools
|
||
|
;;
|
||
|
*)
|
||
|
dnf config-manager --enable crb
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
dnf install -y bison ccache cmake gcc-c++ flex ninja-build \
|
||
|
{boost,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel
|
||
|
;;
|
||
|
esac
|
||
|
|
||
|
mkdir /icinga2/build
|
||
|
cd /icinga2/build
|
||
|
|
||
|
cmake \
|
||
|
-GNinja \
|
||
|
-DCMAKE_BUILD_TYPE=Release \
|
||
|
-DICINGA2_UNITY_BUILD=ON \
|
||
|
-DUSE_SYSTEMD=ON \
|
||
|
-DICINGA2_USER=$(id -un) \
|
||
|
-DICINGA2_GROUP=$(id -gn) \
|
||
|
$CMAKE_OPTS ..
|
||
|
|
||
|
ccache -z
|
||
|
ninja
|
||
|
ccache -s
|
||
|
|
||
|
ninja test
|
||
|
ninja install
|
||
|
icinga2 daemon -C
|