#simple script to refresh ltp.tgz on LTP_HOST: ltpupdate
#       3/12/02 William Jay Huie (creation)
#       3/28/02 William Jay Huie minor updates
#I use this to update my copy of the CVS code, and upload it to the LTP_HOST
#from which the ltprun script pulls down the source for building/executing
#

export CVSROOT=:pserver:anonymous@cvs.LTP.sourceforge.net:/cvsroot/ltp
#cvs -d:pserver:anonymous@cvs.LTP.sourceforge.net:/cvsroot/ltp login
#cvs -z3 -d:pserver:anonymous@cvs.LTP.sourceforge.net:/cvsroot/ltp co ltp

#CHANGEME:
LTP_HOST=ltp_host.somewhere.org
LTP_USER=ltp
LTP_PASS=ltp
LTP_TARFILE=ltp.tgz

cd ~/ltp/ltp
echo "Doing Cleaning up"
make clean &> /dev/null
echo "      cleanup Done"

echo "Starting cvs update"
#You can swap these if you don't care about the CVS info
#cvs update &> /dev/null
cvs update  &> ~/ltp/update.report
echo "         cvs update done"

cd ~/ltp
rm -f $LTP_TARFILE
echo "Creating ltp tarball"
tar -czf $LTP_TARFILE ltp
echo "         ltp tarball done"
echo "Beginning ftp upload"
ftp -n $LTP_HOST << END_SCRIPT
	user $LTP_USER $LTP_PASS
	bin
	put $LTP_TARFILE
	bye
END_SCRIPT
echo "          ftp upload done"
