-#!/bin/sh
-
-if test "$1" = --run-test ; then
-
- if test -z "$WORKSPACE" ; then
- echo "Must set WORKSPACE"
- exit 1
- fi
-
- exec docker run \
- --rm \
- --volume=$WORKSPACE/packages/centos6:/mnt \
- --volume=$(readlink -f $0):/root/run-test.sh \
- --workdir=/mnt \
- centos:6 \
- /root/run-test.sh --install-scl
-fi
+#!/bin/bash
-if test "$1" = --install-scl ; then
- yum install --assumeyes scl-utils
- curl -L -O https://www.softwarecollections.org/en/scls/rhscl/python27/epel-6-x86_64/download/rhscl-python27-epel-6-x86_64.noarch.rpm
- yum install --assumeyes rhscl-python27-epel-6-x86_64.noarch.rpm
- yum install --assumeyes python27
- exec scl enable python27 $0
-fi
+set -eu
-yum install --assumeyes python27-python*.rpm
+yum -q clean all
+touch /var/lib/rpm/*
-mkdir -p /tmp/opts
-cd /tmp/opts
+rpm -qa | sort > /arvados/packages/centos6/$1.before
+
+yum install --assumeyes $1
+
+rpm -qa | sort > /arvados/packages/centos6/$1.after
-for r in /mnt/python27-python-*x86_64.rpm ; do
- rpm2cpio $r | cpio -idm
-done
+set +e
+diff /arvados/packages/centos6/$1.before /arvados/packages/centos6/$1.after > /arvados/packages/centos6/$1.diff
+set -e
-FAIL=0
+SCL=""
+if scl enable python27 true 2>/dev/null ; then
+ SCL="scl enable python27"
+fi
+
+mkdir -p /tmp/opts
+cd /tmp/opts
-for so in $(find . -name "*.so") ; do
- if ldd $so | grep "not found" ; then
- echo "^^^ Missing while scanning $so ^^^"
- FAIL=1
- fi
-done
+rpm2cpio /arvados/packages/centos6/$1-*.rpm | cpio -idm 2>/dev/null
-python <<EOF
-import arvados
-import arvados_fuse
-EOF
+shared=$(find -name '*.so')
+if test -n "$shared" ; then
+ for so in $shared ; do
+ echo
+ echo "== Packages dependencies for $so =="
+ $SCL ldd "$so" \
+ | awk '($3 ~ /^\//){print $3}' | sort -u | xargs rpm -qf | sort -u
+ done
+fi
-exit $FAIL
+if test -n "$SCL" ; then
+ exec $SCL "/jenkins/common-test-packages.sh $1"
+else
+ exec /jenkins/common-test-packages.sh $1
+fi