From 56ae875861ab260b80a030f50c4aff9f9dc8fff0 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 13 Apr 2024 13:32:39 +0200 Subject: Adding upstream version 2.14.2. Signed-off-by: Daniel Baumann --- .github/workflows/linux.bash | 95 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 95 insertions(+) create mode 100755 .github/workflows/linux.bash (limited to '.github/workflows/linux.bash') diff --git a/.github/workflows/linux.bash b/.github/workflows/linux.bash new file mode 100755 index 0000000..fe0e7d5 --- /dev/null +++ b/.github/workflows/linux.bash @@ -0,0 +1,95 @@ +#!/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:2) + amazon-linux-extras install -y epel + yum install -y bison ccache cmake3 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/cmake3 /usr/local/bin/cmake + 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 + ;; + + amazonlinux:20*) + dnf install -y bison cmake flex gcc-c++ ninja-build \ + {boost,libedit,mariadb1\*,ncurses,openssl,postgresql,systemd}-devel + ;; + + centos:*) + yum install -y centos-release-scl epel-release + yum install -y bison ccache cmake3 devtoolset-11-gcc-c++ flex ninja-build \ + {boost169,libedit,mariadb,ncurses,openssl,postgresql,systemd}-devel + + ln -vs /usr/bin/cmake3 /usr/local/bin/cmake + 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 .. + +ninja + +ninja test +ninja install +icinga2 daemon -C -- cgit v1.2.3