#!/bin/sh
if [ -d rtmp ]; then
echo "rtmp exists"
exit
fi
branch=$1
if [ "$branch" = "" ]; then
echo "Syntax: $0 BRANCH_x_x"
exit
elif [ "$branch" = "trunk" ]; then
branch=""
else
branch="-r $branch"
fi
echo "Making temporary working directory (rtmp)..."
mkdir rtmp || exit
cd rtmp || exit
echo "Checking out $branch source..."
eval "cvs co $branch genesis" || exit
version=`cat genesis/etc/version`
lmajor=`echo $version | cut -d. -f1`
lminor=`echo $version | cut -d. -f2`
lpatch=`echo $version | cut -d. -f3`
lrelease=`echo $lpatch | cut -d- -f2`
lpatch=`echo $lpatch | cut -d- -f1`
lpatch=`expr $lpatch + 1`
echo "Previous Release: $version"
while [ 1 ]; do
echo -n "New Release [$lmajor.${lminor}.$lpatch-$lrelease] "
read next
if [ -z "$next" ]; then
next="$lmajor.${lminor}.$lpatch-$lrelease"
break
else
echo -n "Use '$next' as the next release? [yes] "
read yesno
if [ -z "$yesno" -o "$yesno" = "y" -o "$yesno" = "yes" ]; then
break
fi
fi
done
nrel="Genesis-$next"
cd genesis
echo $next > etc/version
num=`echo $next | sed -e 's/-[A-Z][A-Z]*$//'`
date=`perl -e '($mday,$mon,$yr)=(localtime())[3..5];
@months = ("Jan","Feb","Mar","Apr","May","Jun",
"Jul","Aug","Sep","Oct","Nov","Dec");
print "$mday-$months[$mon]-$yr\n";'`
str=`printf "%-7s[%s]" $num $date`
chngs=doc/CHANGES
notes=etc/notes
## update the changes file
mv $chngs $chngs.bak
perl -e "while (<STDIN>) { s/\x0c/\x0c\n$str/; print; }" < $chngs.bak > $chngs
vi doc/CHANGES
## update the release notes
mv $notes $notes.bak
perl -e "while (<STDIN>) { (/^RELEASE/) && exit; print; }" <$notes.bak> $notes
echo "RELEASE INFORMATION:" >> $notes
perl -e "\$incr=0;
while (<STDIN>) {
if (\$incr) {
if (/^(\x0b|\x0c)/) {
exit;
} else {
print;
}
} elsif (/\x0c/) {
\$incr = 1;
}
}" < $chngs >> $notes
## make it commitable
echo -n "Really commit? [no] "
read answer
if [ "$answer" = "y" -o "$answer" = "yes" ]; then
cd src/modules
./modbuild -m0 cdc web ext_math
cd ../..
## cvs-fu
tag="GENESIS_${lmajor}_${lminor}_${lpatch}"
cvs commit -m ""
cvs tag $tag
cd ..
mv genesis genesis-work
cvs export -r $tag genesis
else
echo "Ok, just faking it..."
cd ..
fi
mv genesis $nrel
tar -cf "${nrel}.tar" $nrel
gzip -9 "${nrel}.tar"