#!/bin/sh
dir=$1;
status=$2; # true status (probably 'development')
STATUS=$3; # status we're being coerced into

case "$STATUS" in
  alpha|beta) dir="$dir.$STATUS";;
  development) dir="$dir.alpha";;
esac
tarfile=$dir.tar
v='config/version'

if test "$status" != "$STATUS"; then
  mv $v $v.old
  sed -e "s/status=.*/status=$STATUS/" $v.old > $v
  tar cf $tarfile `config/get_MANIFEST`
  mv $v.old $v
else
  tar cf $tarfile `config/get_MANIFEST`
fi

if test -d $dir; then
  echo "Remove $dir before building a new release"; exit 1
fi
mkdir $dir && mv $tarfile $dir
cd $dir && tar xf $tarfile && rm -f $tarfile && cd ..
tar cf $tarfile $dir
rm -rf $dir
rm -f $tarfile.gz
gzip  $tarfile


syntax highlighted by Code2HTML, v. 0.9.1