#!/bin/sh # # $XFree86: xc/programs/Xserver/hw/xfree86/etc/bindist/build-bindist,v 1.1.2.4 1998/12/06 05:40:39 dawes Exp $ # # # This script assumes that you have the `extract' binary installed somewhere # in your path, as well as a link to it called `gnu-tar'. Usage() { echo `basename $0` [-l] version from-dir to-dir exit 1 } listonly=NO case $1 in -l) listonly=YES shift ;; esac if [ $# != 3 ]; then Usage fi VERS=$1 FROMDIR=$2 TODIR=$3 if [ ! -d $FROMDIR ]; then echo No such dir $FROMDIR exit 2 fi if [ ! -d $TODIR ]; then echo No such dir $TODIR exit 2 fi cd $TODIR SUBDIRS="`find . -type d ! -name bindist -print`" DIRFILE=dir BINDIR=bindist EXTRASFILE=extras TAR="gnu-tar" EXTRACT="extract" TAROPTS="-c -v -z" EXTRACTLOPTS="-t -v" SUMFILE=SUMS.md5 LISTFILE=FILES case `uname` in Linux*|dgux*) CKSUM=md5sum ;; *) CKSUM=md5 ;; esac GenList() { (cd $TODIR/$BINDIR rm -f $SUMFILE $LISTFILE for i in *.tgz; do echo $i $CKSUM $i >> $SUMFILE # echo $i >> $LISTFILE # echo "------------" >> $LISTFILE # $TAR $TARLOPTS -f $i >> $LISTFILE # echo "" >> $LISTFILE $EXTRACT $EXTRACTLOPTS $i >> $LISTFILE done if [ -f $TODIR/$EXTRASFILE ]; then for i in `cat $TODIR/$EXTRASFILE`; do $CKSUM `basename $i` >> $SUMFILE done fi ) } if [ ! -d $TODIR/$BINDIR ]; then mkdir $TODIR/$BINDIR fi if [ $listonly = YES ]; then GenList exit 0; fi for d in $SUBDIRS; do if [ ! -d $TODIR/$d ]; then echo No such dir $TODIR/$d exit 2 fi (cd $TODIR/$d; if [ ! -f $DIRFILE ]; then echo No file $DIRFILE in $TODIR/$d # exit 3 else PREFIX=`cat $DIRFILE` for i in *-list; do name=`basename $i -list` tarball=$VERS$name.tgz echo creating $tarball lfile="-T $TODIR/$d/$i" if [ -f $name-excl ]; then xfile="-X $TODIR/$d/$name-excl" else xfile="" fi (cd $FROMDIR/$PREFIX $TAR $TAROPTS -f $TODIR/$BINDIR/$tarball $lfile $xfile ) done fi if [ -f $EXTRASFILE ]; then for i in `cat $EXTRASFILE`; do rm -f $TODIR/$BINDIR/`basename $i` cp $FROMDIR/$PREFIX/$i $TODIR/$BINDIR done fi ) done GenList exit 0