diff misc/debian-dependencies.sh @ 378:84fd4bb8d656

* Add misc/ directory from SVN repo
author Chris Cannam
date Mon, 18 Oct 2010 13:44:25 +0100
parents
children f84413dd5a7a
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/debian-dependencies.sh	Mon Oct 18 13:44:25 2010 +0100
@@ -0,0 +1,41 @@
+#!/bin/bash
+
+target=$1
+
+if [ ! -f "$target" ]; then 
+    echo "Usage: $0 target-executable"
+    exit 1
+fi
+
+pfile=/tmp/packages_$$
+rfile=/tmp/redundant_$$
+
+trap "rm -f $pfile $rfile" 0
+echo
+
+ldd "$target" | awk '{ print $3; }' | while read lib; do
+    if test -n "$lib" ; then
+	dpkg-query -S "$lib"
+    fi
+    done | grep ': ' | awk -F: '{ print $1 }' | sort | uniq > $pfile
+
+echo "Packages providing required libraries:"
+cat $pfile
+echo
+
+for p in `cat $pfile`; do 
+    apt-cache showpkg "$p" | grep '^  ' | grep ',' | awk -F, '{ print $1; }' | \
+	while read d; do 
+	    if grep -q '^'$d'$' $pfile; then
+		echo $p
+	    fi
+    done
+done | sort | uniq > $rfile
+
+echo "Packages that can be eliminated because other packages depend on them:"
+cat $rfile
+echo
+
+echo "Remaining required packages:"
+cat $pfile $rfile | sort | uniq -u
+