build+docs: support CentOS Stream 9, drop CentOS 8

Refs: #5181
Change-Id: I2d8bc595bad047ceaa78bd3729848491b843e83d
diff --git a/.jenkins.d/00-deps.sh b/.jenkins.d/00-deps.sh
index 9593baa..5c672b0 100755
--- a/.jenkins.d/00-deps.sh
+++ b/.jenkins.d/00-deps.sh
@@ -44,8 +44,7 @@
             ;;
     esac
 
-elif has CentOS-8 $NODE_LABELS; then
-    sudo dnf config-manager --enable powertools
+elif has CentOS $NODE_LABELS; then
     sudo dnf -y install gcc-c++ libasan pkgconf-pkg-config python3 \
                         boost-devel openssl-devel sqlite-devel \
                         libpcap-devel systemd-devel
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 58c8b06..c514c3a 100755
--- a/.jenkins.d/10-build.sh
+++ b/.jenkins.d/10-build.sh
@@ -10,8 +10,7 @@
 if [[ $JOB_NAME == *"code-coverage" ]]; then
     COVERAGE="--with-coverage"
 fi
-if has CentOS-8 $NODE_LABELS; then
-    # https://bugzilla.redhat.com/show_bug.cgi?id=1721553
+if [[ -n $DISABLE_PCH ]]; then
     PCH="--without-pch"
 fi
 
diff --git a/.jenkins.d/20-tests.sh b/.jenkins.d/20-tests.sh
index ebb429f..9500206 100755
--- a/.jenkins.d/20-tests.sh
+++ b/.jenkins.d/20-tests.sh
@@ -8,8 +8,6 @@
     security unlock-keychain -p named-data
 fi
 
-ndnsec key-gen "/tmp/jenkins/$NODE_NAME" | ndnsec cert-install -
-
 # https://github.com/google/sanitizers/wiki/AddressSanitizerFlags
 ASAN_OPTIONS="color=always"
 ASAN_OPTIONS+=":check_initialization_order=1"
diff --git a/docs/INSTALL.rst b/docs/INSTALL.rst
index a73b211..789ecc6 100644
--- a/docs/INSTALL.rst
+++ b/docs/INSTALL.rst
@@ -10,9 +10,9 @@
 -  Ubuntu 18.04 (amd64, armhf, i386)
 -  Ubuntu 20.04 (amd64)
 -  Ubuntu 21.10 (amd64)
+-  CentOS Stream 9
 -  macOS 10.15
 -  macOS 11 (Intel only)
--  CentOS 8
 
 NFD is known to work on the following platforms, although they are not officially
 supported:
@@ -110,7 +110,6 @@
 
   .. code-block:: sh
 
-    sudo dnf config-manager --enable powertools  # on CentOS only
     sudo dnf install libpcap-devel systemd-devel
 
 Build
@@ -120,7 +119,7 @@
 
 .. code-block:: sh
 
-    ./waf configure  # on CentOS, add --without-pch
+    ./waf configure
     ./waf
     sudo ./waf install
 
diff --git a/wscript b/wscript
index 2ddc5a5..61aa0ac 100644
--- a/wscript
+++ b/wscript
@@ -89,8 +89,13 @@
     conf.env.WITH_TESTS = conf.options.with_tests
     conf.env.WITH_OTHER_TESTS = conf.options.with_other_tests
 
-    conf.find_program('bash', var='BASH')
-    conf.find_program('dot', var='DOT', mandatory=False)
+    conf.find_program('bash')
+    conf.find_program('dot', mandatory=False)
+
+    # Prefer pkgconf if it's installed, because it gives more correct results
+    # on Fedora/CentOS/RHEL/etc. See https://bugzilla.redhat.com/show_bug.cgi?id=1953348
+    # Store the result in env.PKGCONFIG, which is the variable used inside check_cfg()
+    conf.find_program(['pkgconf', 'pkg-config'], var='PKGCONFIG')
 
     pkg_config_path = os.environ.get('PKG_CONFIG_PATH', f'{conf.env.LIBDIR}/pkgconfig')
     conf.check_cfg(package='libndn-cxx', args=['libndn-cxx >= 0.8.0', '--cflags', '--libs'],