1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#!/bin/sh
# copy specs to separate tree, make rpmcs and printout diff
# load common functions, compatible with local and installed script
. `dirname $0`/../share/eterbuild/functions/common
get_wd()
{
apt-cache whatdepends $1 | grep "^ [a-zA-Z]" | sed -e "s|^ *||g"
}
list_wd()
{
for i in $@ ; do
#echo i=$i
get_wd `echo $i | sed "s|-[0-9].*||g"`
done
}
print_usedby()
{
echo "Required by:"
print_list $USEDBY
echo "Second required by:"
for i in `list_wd $USEDBY | sort -u` ; do
# skip repeated
echo $USEDBY | grep -q $i && continue
echo " $i"
done
}
[ -n "$SPECLIST" ] || SPECLIST=`find $RPMDIR/SPECS -type f -name "*.spec"`
for i in $SPECLIST ; do
if echo $i | grep -q HELP ; then
continue
fi
LANG=C rpmgp -c $i 2>&1 | grep -v "^Note" | grep -v "^Checking" | grep -v "^Repository"
USEDBY=$(get_wd `basename $i .spec`)
if [ -n "$USEDBY" ] ; then
print_usedby $i $USEDBY >$i.usedby
#[ -n "`cat $i.usedby`" ] ||
else
if [ -r $i.usedby ] ; then
echo "$i do not required anymore"
else
rm -f $i.usedby
fi
fi
done