197900Sbrian#! /bin/sh 297900Sbrian# 397900Sbrian# $FreeBSD$ 497900Sbrian 597900Sbrianusage() 697900Sbrian{ 797900Sbrian echo "$*" >&2 897900Sbrian echo "This script must be run from the top level package directory" >&2 997900Sbrian exit 1 1097900Sbrian} 1197900Sbrian 1297900Sbrian[ $# -ge 1 ] && usage "usage: mkpkghier" 1397900Sbrian[ -f INDEX ] || usage "INDEX file not found" 1497900Sbrian[ -d All ] || usage "All directory not found" 1597900Sbrian 1697900Sbrianold=$(ls | egrep -v "^INDEX$|^All$|^Latest$") 1797900Sbrian 1897900Sbrian[ -n "$old" ] && { echo Removing old hierarchy; rm -fr $old; } 1997900Sbrian 2097900Sbrianecho Creating new hierarchy 2197900Sbrianawk -F'|' '{ print $1 " " $7; }' INDEX | while read pkg dirs 2297900Sbriando 23107681Smurray [ -f All/$pkg.tbz ] || { 24107681Smurray echo "All/$pkg.tbz: Non-existent" >&2 2597900Sbrian continue 2697900Sbrian } 2797900Sbrian for dir in $dirs 2897900Sbrian do 2997900Sbrian mkdir -p $dir 30107681Smurray [ -e $dir/$pkg.tbz ] && continue 31107681Smurray ln -s ../All/$pkg.tbz $dir/$pkg.tbz 3297900Sbrian done 3397900Sbriandone 34