34 lines
673 B
Plaintext
34 lines
673 B
Plaintext
|
#! /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
|