build: support CentOS Stream 9, make graphviz optional
Change-Id: I5c0d824720f9f701ee2a88774e661c7472baea88
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 95dfe37..d3b16f9 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -35,11 +35,15 @@
case $JOB_NAME in
*code-coverage)
sudo apt-get -qy install lcov python3-pip
- pip3 install --user --upgrade --upgrade-strategy=eager 'gcovr~=5.0'
+ pip3 install --user --upgrade --upgrade-strategy=eager 'gcovr~=5.1'
;;
*Docs)
sudo apt-get -qy install doxygen graphviz python3-pip
pip3 install --user --upgrade --upgrade-strategy=eager sphinx sphinxcontrib-doxylink
;;
esac
+
+elif has CentOS $NODE_LABELS; then
+ sudo dnf -y install gcc-c++ libasan 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 4e0e154..5da6d35 100755
--- a/.jenkins.d/01-ndn-cxx.sh
+++ b/.jenkins.d/01-ndn-cxx.sh
@@ -35,19 +35,14 @@
pushd ndn-cxx >/dev/null
-if has CentOS-8 $NODE_LABELS; then
- # https://bugzilla.redhat.com/show_bug.cgi?id=1721553
- PCH="--without-pch"
-fi
-
-./waf --color=yes configure --disable-static --enable-shared --without-osx-keychain $PCH
+./waf --color=yes configure --disable-static --enable-shared --without-osx-keychain
./waf --color=yes build -j$WAF_JOBS
sudo_preserve_env PATH -- ./waf --color=yes install
popd >/dev/null
popd >/dev/null
-if has CentOS-8 $NODE_LABELS; then
+if has CentOS $NODE_LABELS; then
sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
fi
if has Linux $NODE_LABELS; then
diff --git a/.jenkins.d/10-build.sh b/.jenkins.d/10-build.sh
index 20e6bd1..25892f5 100755
--- a/.jenkins.d/10-build.sh
+++ b/.jenkins.d/10-build.sh
@@ -36,6 +36,9 @@
# Install
sudo_preserve_env PATH -- ./waf --color=yes install
+if has CentOS $NODE_LABELS; then
+ sudo tee /etc/ld.so.conf.d/ndn.conf >/dev/null <<< /usr/local/lib64
+fi
if has Linux $NODE_LABELS; then
sudo ldconfig
fi
diff --git a/.jenkins.d/20-tests.sh b/.jenkins.d/20-tests.sh
index 455c8f7..81c00b1 100755
--- a/.jenkins.d/20-tests.sh
+++ b/.jenkins.d/20-tests.sh
@@ -3,7 +3,6 @@
# Prepare environment
rm -rf ~/.ndn
-ndnsec key-gen "/tmp/jenkins/$NODE_NAME" | ndnsec cert-install -
# https://github.com/google/sanitizers/wiki/AddressSanitizerFlags
ASAN_OPTIONS="color=always"
diff --git a/.jenkins.d/40-headers-check.sh b/.jenkins.d/40-headers-check.sh
index b0f9987..f4bfb8a 100755
--- a/.jenkins.d/40-headers-check.sh
+++ b/.jenkins.d/40-headers-check.sh
@@ -6,20 +6,21 @@
# (similar to running all test cases), instead of failing at the first error.
PROJ=ChronoSync
+PCFILE=ChronoSync
if [[ -n $DISABLE_HEADERS_CHECK ]]; then
echo 'Skipping headers check.'
exit 0
fi
-if has CentOS-8 $NODE_LABELS; then
+if has CentOS $NODE_LABELS; then
export PKG_CONFIG_PATH=/usr/local/lib64/pkgconfig
fi
CXX=${CXX:-g++}
STD=-std=c++17
-CXXFLAGS="-O2 -Wall -Wno-unneeded-internal-declaration -Wno-unused-const-variable $(pkg-config --cflags libndn-cxx $PROJ)"
-INCLUDEDIR="$(pkg-config --variable=includedir $PROJ)"/$PROJ
+CXXFLAGS="-O2 -Wall -Wno-unneeded-internal-declaration -Wno-unused-const-variable $(pkg-config --cflags libndn-cxx $PCFILE)"
+INCLUDEDIR="$(pkg-config --variable=includedir $PCFILE)"/$PROJ
echo "Using: $CXX $STD $CXXFLAGS"