diff --git a/bin/releaseKT.sh b/bin/releaseKT.sh new file mode 100755 index 0000000..7105602 --- /dev/null +++ b/bin/releaseKT.sh @@ -0,0 +1,71 @@ +#!/bin/sh +# +# script to checkout the latest tagged build from cvs and upload +# to the remote server of your choice + +## functions + +# displays the script usage message +# +usage() { + echo "usage: `basename $0` -b branch -v version -v version" + echo " eg. `basename $0` -b BRANCH_1_0_1_20030728 -v 1.1.2" + exit 1 +} + +deploy() { + # cleanup + rm -rf $tmp 2> /dev/null + mkdir $tmp + + # export kt + cd $tmp + cvs -d $cvsroot export -r $branch knowledgeTree + + # tar it up + rm /tmp/knowledgeTree-$version.tgz 2> /dev/null + tar -czvf /tmp/knowledgeTree-$version.tgz knowledgeTree + + # convert src to windoze line-endings + find $tmp/knowledgeTree -name \*\.php -exec unix2dos {} \; 2> /dev/null + find $tmp/knowledgeTree -name \*\.inc -exec unix2dos {} \; 2> /dev/null + find $tmp/knowledgeTree -name \*\.txt -exec unix2dos {} \; 2> /dev/null + + # zip it up + rm /tmp/knowledgeTree-$version.zip 2> /dev/null + zip -r /tmp/knowledgeTree-$version.zip knowledgeTree + + # move them to this dir + cd - + mv /tmp/knowledgeTree-$version.* . + + # clean up + rm -rf $tmp 2> /dev/null +} + +# check the command line options +if [ $# -lt 2 ]; then + usage +fi + +# process the params +while getopts ":b:v:" Option +do + case $Option in + b ) branch=$OPTARG;; + v ) version=$OPTARG;; + * ) usage;; + esac +done + +# check that everything we want is set +if [ -z $branch -o -z $version ]; then + usage +fi + +# setup up some paths and stuff +cvsroot=/usr/local/cvsroot +tmp=/tmp/dms + +# now just do it +deploy