home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 22 gnu
/
22-gnu.zip
/
BASHOS2.ZIP
/
support
/
mktarfile.exe
< prev
Wrap
Text File
|
1992-10-29
|
2KB
|
72 lines
#!/local/bash/bash
# How to make a distribution tarfile.
#
# $1 is the name of the program.
# $2 is the version number.
# Remaining args are files to tar.
# Optional argument of ~+notar" means don't create the actual tar file,
# just create the symlinked directory.
tar_inhibited=""
if [ "$1" = "+notar" ]; then
tar_inhibited=yes
shift
fi
PROGRAM=$1
VERSION=$2
shift; shift
if [ "$PROGRAM" = "" -o "$VERSION" = "" ]; then
echo "Usage: mktarfile [+notar] <progname> <version> <file ...>"
exit 2;
fi
TARFILE=$PROGRAM.tar
TARDIR=$PROGRAM-$VERSION
# Delete the tarfile if we are to create it.
if [ ! "tar_inhibited" ]; then
rm -rf $TARFILE
fi
# Delete the destination directory if it already exists.
rm -rf $TARDIR
# Make the destination directory.
echo "Making directory $TARDIR..."
mkdir $TARDIR
topdir=`pwd`
where_I_am=$TARDIR
trap "cd $topdir" 3
for i in $*; do
filename=$i
while [ "$filename" ]; do
remainder=`echo $filename | sed 's@[-_a-zA-Z~0-9.]*/@@'`
dir=`echo $filename | sed "s@$remainder@@" | sed "s@/@@"`
if [ "$dir" ]; then
if [ ! -d $where_I_am/$dir ]; then
echo "Making directory $where_I_am/$dir..."
mkdir $where_I_am/$dir
fi
cd $where_I_am/$dir; where_I_am=`pwd`
filename=$remainder
else
break
fi
done
cd $topdir; where_I_am=$TARDIR
ln -s $topdir/$i $TARDIR/$i
done
if [ ! "$tar_inhibited" ]; then
tar -chf $TARFILE $TARDIR
rm -rf $TARDIR
fi
exit 0