Merge branch '21535-multi-wf-delete'
[arvados.git] / build / package-testing / rpm-common-test-packages.sh
index 268611cb7f50eba879e84c2e10f766b8ea4b6ff5..b6d7fec46876cd027ef1d34926d6563dd364cefc 100755 (executable)
@@ -5,46 +5,43 @@
 
 set -eu
 
-target=$(basename "$0" | grep -Eo '\bcentos[[:digit:]]+\b')
+# Set up
+DEBUG=${ARVADOS_DEBUG:-0}
+STDOUT_IF_DEBUG=/dev/null
+STDERR_IF_DEBUG=/dev/null
+if [[ "$DEBUG" != "0" ]]; then
+  STDOUT_IF_DEBUG=/dev/stdout
+  STDERR_IF_DEBUG=/dev/stderr
+fi
+
+target="$(basename "$0" .sh)"
+target="${target##*-}"
 
-yum -q clean all
+microdnf --assumeyes clean all
 touch /var/lib/rpm/*
 
 export ARV_PACKAGES_DIR="/arvados/packages/$target"
 
 rpm -qa | sort > "$ARV_PACKAGES_DIR/$1.before"
-
-yum install --assumeyes $1
-
+microdnf --assumeyes install "$1"
 rpm -qa | sort > "$ARV_PACKAGES_DIR/$1.after"
-
 diff "$ARV_PACKAGES_DIR/$1".{before,after} >"$ARV_PACKAGES_DIR/$1.diff" || true
 
-# Enable any Software Collections that the package depended on.
-if [[ -d /opt/rh ]]; then
-    # We have to stage the list to a file, because `ls | while read` would
-    # make a subshell, causing the `source` lines to have no effect.
-    scl_list=$(mktemp)
-    ls /opt/rh >"$scl_list"
-
-    # SCL scripts aren't designed to run with -eu.
-    set +eu
-    while read scl; do
-        source scl_source enable "$scl"
-    done <"$scl_list"
-    set -eu
-    rm "$scl_list"
-fi
-
 mkdir -p /tmp/opts
 cd /tmp/opts
 
+# Install other packages alongside to test for build id conflicts.
+# This line can be removed after we have test-provision-rocky8, #21426.
+microdnf --assumeyes install arvados-client arvados-server python3-arvados-python-client
+
 rpm2cpio $(ls -t "$ARV_PACKAGES_DIR/$1"-*.rpm | head -n1) | cpio -idm 2>/dev/null
 
-find -name '*.so' | while read so; do
-    echo -e "\n== Packages dependencies for $so =="
-    ldd "$so" \
-        | awk '($3 ~ /^\//){print $3}' | sort -u | xargs rpm -qf | sort -u
-done
+if [[ "$DEBUG" != "0" ]]; then
+  find -name '*.so' | while read so; do
+      echo -e "\n== Packages dependencies for $so =="
+      ldd "$so" \
+          | awk '($3 ~ /^\//){print $3}' | sort -u | xargs rpm -qf | sort -u
+  done
+fi
 
 exec /jenkins/package-testing/common-test-packages.sh "$1"