]> piware.de Git - bin.git/blob - checkrdepends
postinst-setup: package updates
[bin.git] / checkrdepends
1 #!/bin/sh -e
2
3 BINARYONLY=false
4 if [ "$1" = "-b" ]; then
5     BINARYONLY=:
6     shift
7 fi
8
9 pkg="$1"
10 rel="$2"
11
12 [ -n "$pkg" -a -n "$rel" ] || {
13     echo "Usage: $0 {-b <binary package>|<source package>} <release>"
14     exit 1
15 }
16
17 T=`mktemp -d`
18 trap "rm -rf $T" 0 1 2 3 4 5 6 7 8 10 11 12 13 15
19
20 for pocket in '' -updates -security -backports; do
21     # get source/package lists
22     for comp in main restricted universe multiverse; do
23         wget -q -O - http://archive.ubuntu.com/ubuntu/dists/$rel$pocket/$comp/source/Sources.gz | gunzip > "$T/$rel${pocket}_${comp}_Sources"
24     done
25
26     # get lists of debs
27     if $BINARYONLY; then
28         debs="$pkg"
29     else
30         debs=`grep-dctrl -sBinary -n -X -P $pkg $T/*_Sources`|| {
31             echo Unknown source package $pkg
32             exit 1
33         }
34         debs=`echo "$debs" | sed 's/,//g'`
35     fi
36
37     for comp in main restricted universe multiverse; do
38         for deb in $debs; do
39             # build dependencies
40             if d=`grep-dctrl -e -n -sPackage -FBuild-Depends "(,| |^)$(echo "$deb" | sed 's/+/\\\\+/g')(,| |$|\()" $T/$rel${pocket}_${comp}_Sources`; then
41                 echo "-- $rel$pocket/$comp build deps on $deb:"
42                 echo "$d"
43             fi
44
45             # binary dependencies
46             for arch in amd64 i386 powerpc; do
47                 if d=`wget -q -O - http://archive.ubuntu.com/ubuntu/dists/$rel$pocket/$comp/binary-$arch/Packages.gz | gunzip \
48                     | grep-dctrl -e -n -sPackage -FDepends "(,| |^)$(echo "$deb" | sed 's/+/\\\\+/g')(,| |$|\()"`; then  
49                     echo "-- $rel$pocket/$comp $arch deps on $deb:"
50                     echo "$d"
51                 fi
52             done
53             for arch in hppa ia64 sparc; do
54                 if d=`wget -q -O - http://ports.ubuntu.com/ubuntu-ports/dists/$rel$pocket/$comp/binary-$arch/Packages.gz | gunzip \
55                     | grep-dctrl -e -n -sPackage -FDepends "(,| |^)$(echo "$deb" | sed 's/+/\\\\+/g')(,| |$|\()"`; then  
56                     echo "-- $rel$pocket/$comp $arch deps on $deb:"
57                     echo "$d"
58                 fi
59             done
60         done
61     done
62 done
63