freebsd-dev/release/scripts/mkpkghier

34 lines
673 B
Bash
Executable File

#! /bin/sh
#
# $FreeBSD$
usage()
{
echo "$*" >&2
echo "This script must be run from the top level package directory" >&2
exit 1
}
[ $# -ge 1 ] && usage "usage: mkpkghier"
[ -f INDEX ] || usage "INDEX file not found"
[ -d All ] || usage "All directory not found"
old=$(ls | egrep -v "^INDEX$|^All$|^Latest$")
[ -n "$old" ] && { echo Removing old hierarchy; rm -fr $old; }
echo Creating new hierarchy
awk -F'|' '{ print $1 " " $7; }' INDEX | while read pkg dirs
do
[ -f All/$pkg.tgz ] || {
echo "All/$pkg.tgz: Non-existent" >&2
continue
}
for dir in $dirs
do
mkdir -p $dir
[ -e $dir/$pkg.tgz ] && continue
ln -s ../All/$pkg.tgz $dir/$pkg.tgz
done
done