X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/44c95f99098fa6c6acbfa82d4b6cbc6015eb6e39..HEAD:/build/package-testing/rpm-common-test-packages.sh diff --git a/build/package-testing/rpm-common-test-packages.sh b/build/package-testing/rpm-common-test-packages.sh index 268611cb7f..b6d7fec468 100755 --- a/build/package-testing/rpm-common-test-packages.sh +++ b/build/package-testing/rpm-common-test-packages.sh @@ -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"