annotate deploy/linux/debian-dependencies.sh @ 516:449a0355f864 v2.0_osx_deploy

Deployment fixes. Qt on OSX now seems to depend on QtDBus, so copy that in, and also fail if anything is found to depend on an absent Qt framework.
author Chris Cannam
date Fri, 23 Oct 2015 08:50:39 +0100
parents 93efb2d59021
children a312db18f978
rev   line source
Chris@463 1 #!/bin/bash
Chris@463 2
Chris@463 3 target=$1
Chris@463 4
Chris@463 5 if [ ! -f "$target" ]; then
Chris@463 6 echo "Usage: $0 target-executable"
Chris@463 7 exit 1
Chris@463 8 fi
Chris@463 9
Chris@463 10 pfile=/tmp/packages_$$
Chris@463 11 rfile=/tmp/redundant_$$
Chris@463 12
Chris@463 13 trap "rm -f $pfile $rfile" 0
Chris@463 14 echo 1>&2
Chris@463 15
Chris@463 16 ldd "$target" | awk '{ print $3; }' | grep '^/' | while read lib; do
Chris@463 17 if test -n "$lib" ; then
Chris@463 18 dpkg-query -S "$lib"
Chris@463 19 fi
Chris@463 20 done | grep ': ' | awk -F: '{ print $1 }' | sort | uniq > $pfile
Chris@463 21
Chris@463 22 echo "Packages providing required libraries:" 1>&2
Chris@463 23 cat $pfile 1>&2
Chris@463 24 echo 1>&2
Chris@463 25
Chris@463 26 for p in `cat $pfile`; do
Chris@463 27 echo Looking at $p 1>&2
Chris@463 28 apt-cache showpkg "$p" | grep '^ ' | grep ',' | awk -F, '{ print $1; }' | \
Chris@463 29 while read d; do
Chris@463 30 if grep -q '^'$d'$' $pfile; then
Chris@463 31 echo $p
Chris@463 32 fi
Chris@463 33 done
Chris@463 34 done | sort | uniq > $rfile
Chris@463 35
Chris@463 36 echo "Packages that can be eliminated because other packages depend on them:" 1>&2
Chris@463 37 cat $rfile 1>&2
Chris@463 38 echo 1>&2
Chris@463 39
Chris@463 40 cat $pfile $rfile | sort | uniq -u | sed 's/$/,/' | fmt -1000 | sed 's/^/Depends: /' | sed 's/,$/, libc6/'
Chris@463 41
Chris@463 42