#!/bin/sh -e BINARYONLY=false if [ "$1" = "-b" ]; then BINARYONLY=: shift fi pkg="$1" rel="$2" [ -n "$pkg" -a -n "$rel" ] || { echo "Usage: $0 {-b |} " exit 1 } T=`mktemp -d` trap "rm -rf $T" 0 1 2 3 4 5 6 7 8 10 11 12 13 15 for pocket in '' -updates -security -backports; do # get source/package lists for comp in main restricted universe multiverse; do wget -q -O - http://archive.ubuntu.com/ubuntu/dists/$rel$pocket/$comp/source/Sources.gz | gunzip > "$T/$rel${pocket}_${comp}_Sources" done # get lists of debs if $BINARYONLY; then debs="$pkg" else debs=`grep-dctrl -sBinary -n -X -P $pkg $T/*_Sources`|| { echo Unknown source package $pkg exit 1 } debs=`echo "$debs" | sed 's/,//g'` fi for comp in main restricted universe multiverse; do for deb in $debs; do # build dependencies if d=`grep-dctrl -e -n -sPackage -FBuild-Depends "(,| |^)$(echo "$deb" | sed 's/+/\\\\+/g')(,| |$|\()" $T/$rel${pocket}_${comp}_Sources`; then echo "-- $rel$pocket/$comp build deps on $deb:" echo "$d" fi # binary dependencies for arch in amd64 i386 powerpc; do if d=`wget -q -O - http://archive.ubuntu.com/ubuntu/dists/$rel$pocket/$comp/binary-$arch/Packages.gz | gunzip \ | grep-dctrl -e -n -sPackage -FDepends "(,| |^)$(echo "$deb" | sed 's/+/\\\\+/g')(,| |$|\()"`; then echo "-- $rel$pocket/$comp $arch deps on $deb:" echo "$d" fi done for arch in hppa ia64 sparc; do if d=`wget -q -O - http://ports.ubuntu.com/ubuntu-ports/dists/$rel$pocket/$comp/binary-$arch/Packages.gz | gunzip \ | grep-dctrl -e -n -sPackage -FDepends "(,| |^)$(echo "$deb" | sed 's/+/\\\\+/g')(,| |$|\()"`; then echo "-- $rel$pocket/$comp $arch deps on $deb:" echo "$d" fi done done done done