34 lines
673 B
Bash
Executable File
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
|