From 95d92007505e0e7c10a82a320835e590d023a0f6 Mon Sep 17 00:00:00 2001 From: Davide Pesavento Date: Fri, 9 Feb 2024 21:03:32 -0500 Subject: [PATCH] ci: minimize installed libboost packages --- .jenkins.d/00-deps.sh | 24 +++++++++++++++++++----- .jenkins.d/01-ndn-cxx.sh | 6 +++--- .jenkins.d/10-build.sh | 6 +++--- .jenkins.d/20-tests.sh | 3 ++- .jenkins.d/40-headers-check.sh | 2 +- 5 files changed, 28 insertions(+), 13 deletions(-) diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh index b78b899..1a4bfc1 100755 --- a/.jenkins.d/00-deps.sh +++ b/.jenkins.d/00-deps.sh @@ -1,8 +1,22 @@ #!/usr/bin/env bash set -eo pipefail -APT_PKGS=(build-essential pkg-config python3-minimal - libboost-all-dev libssl-dev libsqlite3-dev) +APT_PKGS=( + build-essential + libboost-chrono-dev + libboost-date-time-dev + libboost-dev + libboost-filesystem-dev + libboost-log-dev + libboost-program-options-dev + libboost-stacktrace-dev + libboost-test-dev + libboost-thread-dev + libsqlite3-dev + libssl-dev + pkg-config + python3-minimal +) FORMULAE=(boost openssl pkg-config) PIP_PKGS=() case $JOB_NAME in @@ -25,10 +39,10 @@ if [[ $ID == macos ]]; then brew update brew install --formula "${FORMULAE[@]}" elif [[ $ID_LIKE == *debian* ]]; then - sudo apt-get -qq update - sudo apt-get -qy install "${APT_PKGS[@]}" + sudo apt-get update -qq + sudo apt-get install -qy --no-install-recommends "${APT_PKGS[@]}" elif [[ $ID_LIKE == *fedora* ]]; then - sudo dnf -y install gcc-c++ libasan lld pkgconf-pkg-config python3 \ + sudo dnf install -y gcc-c++ libasan lld pkgconf-pkg-config python3 \ boost-devel openssl-devel sqlite-devel fi diff --git a/.jenkins.d/01-ndn-cxx.sh b/.jenkins.d/01-ndn-cxx.sh index 91ebefd..6c7fb22 100755 --- a/.jenkins.d/01-ndn-cxx.sh +++ b/.jenkins.d/01-ndn-cxx.sh @@ -42,9 +42,9 @@ sudo ./waf --color=yes install popd >/dev/null popd >/dev/null -if [[ $ID_LIKE == *fedora* ]]; then - sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64 -fi if [[ $ID_LIKE == *linux* ]]; then + if [[ $(uname -m) == x86_64 && -d /usr/lib64 ]]; then + sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64 + fi sudo ldconfig fi diff --git a/.jenkins.d/10-build.sh b/.jenkins.d/10-build.sh index 5fd152d..e24772f 100755 --- a/.jenkins.d/10-build.sh +++ b/.jenkins.d/10-build.sh @@ -35,9 +35,9 @@ fi # Install sudo ./waf --color=yes install -if [[ $ID_LIKE == *fedora* ]]; then - sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64 -fi if [[ $ID_LIKE == *linux* ]]; then + if [[ $(uname -m) == x86_64 && -d /usr/lib64 ]]; then + sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64 + fi sudo ldconfig fi diff --git a/.jenkins.d/20-tests.sh b/.jenkins.d/20-tests.sh index ab14284..ea5f998 100755 --- a/.jenkins.d/20-tests.sh +++ b/.jenkins.d/20-tests.sh @@ -1,14 +1,15 @@ #!/usr/bin/env bash set -eo pipefail +# https://github.com/google/sanitizers/wiki/SanitizerCommonFlags # https://github.com/google/sanitizers/wiki/AddressSanitizerFlags ASAN_OPTIONS="color=always" +ASAN_OPTIONS+=":strip_path_prefix=${PWD}/" ASAN_OPTIONS+=":check_initialization_order=1" ASAN_OPTIONS+=":detect_stack_use_after_return=1" ASAN_OPTIONS+=":strict_init_order=1" ASAN_OPTIONS+=":strict_string_checks=1" ASAN_OPTIONS+=":detect_invalid_pointer_pairs=2" -ASAN_OPTIONS+=":strip_path_prefix=${PWD}/" export ASAN_OPTIONS # https://www.boost.org/doc/libs/release/libs/test/doc/html/boost_test/runtime_config/summary.html diff --git a/.jenkins.d/40-headers-check.sh b/.jenkins.d/40-headers-check.sh index 92843ee..5334610 100755 --- a/.jenkins.d/40-headers-check.sh +++ b/.jenkins.d/40-headers-check.sh @@ -11,7 +11,7 @@ if [[ -n $DISABLE_HEADERS_CHECK ]]; then exit 0 fi -if [[ $ID_LIKE == *fedora* ]]; then +if [[ $ID_LIKE == *linux* && -d /usr/local/lib64/pkgconfig ]]; then export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig fi