Merge branch 'master' into 13823-bionic
[arvados.git] / build / package-testing / deb-common-test-packages.sh
1 #!/bin/bash
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 set -eu
7
8 # Multiple .deb based distros symlink to this script, so extract the target
9 # from the invocation path.
10 target=$(echo $0 | sed 's/.*test-packages-\([^.]*\)\.sh.*/\1/')
11
12 export ARV_PACKAGES_DIR="/arvados/packages/$target"
13
14 dpkg-query --show > "$ARV_PACKAGES_DIR/$1.before"
15
16 apt-get -qq update
17 apt-get --assume-yes --allow-unauthenticated install "$1"
18
19 dpkg-query --show > "$ARV_PACKAGES_DIR/$1.after"
20
21 set +e
22 diff "$ARV_PACKAGES_DIR/$1.before" "$ARV_PACKAGES_DIR/$1.after" > "$ARV_PACKAGES_DIR/$1.diff"
23 set -e
24
25 mkdir -p /tmp/opts
26 cd /tmp/opts
27
28 export ARV_PACKAGES_DIR="/arvados/packages/$target"
29
30 if [[ -f $(ls -t "$ARV_PACKAGES_DIR/$1"_*.deb | head -n1) ]] ; then
31     debpkg=$(ls -t "$ARV_PACKAGES_DIR/$1"_*.deb | head -n1)
32 else
33     debpkg=$(ls -t "$ARV_PACKAGES_DIR/processed/$1"_*.deb | head -n1)
34 fi
35
36 dpkg-deb -x $debpkg .
37
38 while read so && [ -n "$so" ]; do
39     echo
40     echo "== Packages dependencies for $so =="
41     ldd "$so" | awk '($3 ~ /^\//){print $3}' | sort -u | xargs dpkg -S | cut -d: -f1 | sort -u
42 done <<EOF
43 $(find -name '*.so')
44 EOF
45
46 exec /jenkins/package-testing/common-test-packages.sh "$1"