1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-31 21:57:12 +00:00
freebsd-ports/Tools/portbuild/scripts/chopindex
Satoshi Asami 8d5bb6353e Do not require dependencies to be deleted to be explicitly listed.
Any dependency that doesn't exist as a package will be automatically
deleted from the list of dependencies.
1999-08-18 10:24:53 +00:00

40 lines
954 B
Bash
Executable File

#!/bin/sh
if [ $# != 2 ]; then
echo "usage: chopindex <indexfile> <pkgdir>"
return 1
fi
index=$1
pkgdir=$2
tmpindex=/tmp/index.$$
# make a list of all pkgnames that don't have corresponding packages
missing=$(/usr/bin/awk -v FS="|" -v pkgdir=$pkgdir '{
if (system(sprintf("test -e %s/All/%s.tgz\n", pkgdir, $1)))
print $1 ;
}' $index)
# make an index for only the ports that have packages
/usr/bin/awk -v FS="|" -v pkgdir=$pkgdir '{
if (system(sprintf("test ! -e %s/All/%s.tgz\n", pkgdir, $1)))
print $0 ;
}' $index > $tmpindex
# find missing ports still in the index as a dependency
delete=""
sed=""
for i in $missing; do
if fgrep -q $i $tmpindex; then
delete="$delete $i"
sed="$sed -e s/$(echo $i | sed -e 's/\./\\./g')//g"
fi
done
# delete them
if [ "$delete" != "" ]; then
echo "chopindex: deleting" $delete 1>&2
fi
sed $sed -e 's/ */ /g' -e 's/| /|/g' -e 's/ |/|/g' $tmpindex
/bin/rm -f $tmpindex