aboutsummaryrefslogtreecommitdiff
path: root/release/scripts
diff options
context:
space:
mode:
authorBrian Somers <brian@FreeBSD.org>2002-06-06 00:18:49 +0000
committerBrian Somers <brian@FreeBSD.org>2002-06-06 00:18:49 +0000
commit50e7d6539c0c2df00004a6c325c6e499f31ee86b (patch)
tree298c22890fb837f2b7e456b9b746b5a530c2b31f /release/scripts
parent4b5395fccbee46624039d73dbbfe3d5faef290ca (diff)
Notes
Diffstat (limited to 'release/scripts')
-rwxr-xr-xrelease/scripts/mkpkghier33
1 files changed, 33 insertions, 0 deletions
diff --git a/release/scripts/mkpkghier b/release/scripts/mkpkghier
new file mode 100755
index 000000000000..9f59512c2cdb
--- /dev/null
+++ b/release/scripts/mkpkghier
@@ -0,0 +1,33 @@
+#! /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