#!/bin/sh -
#
# Make a release of XRacer.
# $Id: mkrelease,v 1.20 1999/07/20 18:46:46 rich Exp $
# (C) 1999 Richard W.M. Jones.

xracer_home=`pwd`

# Get release numbers.

last_release_major=`awk -F= '/^MAJOR_VERSION/{print $2}' configure.in`
last_release_minor=`awk -F= '/^MINOR_VERSION/{print $2}' configure.in`

next_release_major=$last_release_major
next_release_minor=$(($last_release_minor+1))

echo "Making next release: $next_release_major.$next_release_minor"

last_tag='RELEASE_'$last_release_major'_'$last_release_minor
next_tag='RELEASE_'$next_release_major'_'$next_release_minor

# Update HTML pages and README file.

sed "s|<!-- PATCHES -->|<!-- PATCHES --><li><a href=\"xracer-patch-$next_release_major.$next_release_minor.gz\">xracer-patch-$next_release_major.$next_release_minor.gz</a>|" \
    < index.html.in > index.html.in.2 && mv index.html.in.2 index.html.in

sed "s/%V/$next_release_major.$next_release_minor/g" < index.html.in \
    > index.html

tools/htmlcontents.pl README.html.in > README.html
lynx -dump -width=72 -nolist README.html > README

tools/htmlcontents.pl FAQ.html.in > FAQ.html
lynx -dump -width=72 -nolist FAQ.html > FAQ

# Update the version number.

cp configure.in configure.in.old

sed -e "s/MAJOR_VERSION=.*/MAJOR_VERSION=$next_release_major/g" \
    -e "s/MINOR_VERSION=.*/MINOR_VERSION=$next_release_minor/g" \
    < configure.in.old > configure.in

# Clean up the source directory.

./autogen.sh

make distclean

# Commit the source and tag it with the current release tag.

cvs commit

cvs tag $next_tag

# Export source from CVS into a temporary directory.

cd /tmp
rm -rf xracer-release
mkdir xracer-release
cd xracer-release

cvs export -r $next_tag c/xracer
cd c

# Create tar file.

mv xracer xracer-$next_release_major.$next_release_minor
tar zcf /tmp/xracer-$next_release_major.$next_release_minor.tar.gz \
    xracer-*

# Export previous version.

cd ..
cvs export -r $last_tag c/xracer
cd c

# Diff source releases.

mv xracer xracer-$last_release_major.$last_release_minor
diff -u -r -N xracer-$last_release_major.$last_release_minor \
	      xracer-$next_release_major.$next_release_minor \
	      | gzip \
	      > /tmp/xracer-patch-$next_release_major.$next_release_minor.gz

# Create data files.

cd $xracer_home/..

rm -f /tmp/xracer-data.tar.gz /tmp/xracer-data-source.tar.gz
tar zcf /tmp/xracer-data.tar.gz xracer-data
tar zcf /tmp/xracer-data-source.tar.gz xracer-data-source

# Copy up to web server.

cd $xracer_home
scp /tmp/xracer-$next_release_major.$next_release_minor.tar.gz   \
    /tmp/xracer-patch-$next_release_major.$next_release_minor.gz \
    /tmp/xracer-data.tar.gz                                      \
    /tmp/xracer-data-source.tar.gz                               \
    old-news.html old-patches.html FAQ.html FAQ index.html       \
    callisto:xracer.annexia.org
