123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117 |
- #!/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"
|