third_party.expat/expat/make-release.sh

66 lines
1.7 KiB
Bash
Raw Normal View History

#! /bin/bash
#
# make-release.sh: make an Expat release
#
# USAGE: make-release.sh tagname
#
# Note: tagname may be HEAD to just grab the head revision (e.g. for testing)
#
if test $# != 1; then
echo "USAGE: $0 tagname"
exit 1
fi
tmpdir=expat-release.$$
if test -e $tmpdir; then
echo "ERROR: oops. chose the $tmpdir subdir, but it exists."
exit 1
fi
echo "Checking out into temporary area: $tmpdir"
cvs -d :pserver:anonymous@cvs.expat.sourceforge.net:/cvsroot/expat export -r "$1" -d $tmpdir expat || exit 1
echo ""
echo "----------------------------------------------------------------------"
echo "Preparing $tmpdir for release (running buildconf.sh)"
(cd $tmpdir && ./buildconf.sh) || exit 1
# figure out the release version
hdr="$tmpdir/lib/expat.h"
MAJOR_VERSION="`sed -n -e '/MAJOR_VERSION/s/[^0-9]*//gp' $hdr`"
MINOR_VERSION="`sed -n -e '/MINOR_VERSION/s/[^0-9]*//gp' $hdr`"
MICRO_VERSION="`sed -n -e '/MICRO_VERSION/s/[^0-9]*//gp' $hdr`"
vsn=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION
echo ""
echo "Release version: $vsn"
distdir=expat-$vsn
if test -e $distdir; then
echo "ERROR: for safety, you must manually remove $distdir."
rm -rf $tmpdir
exit 1
fi
mkdir $distdir || exit 1
echo ""
echo "----------------------------------------------------------------------"
echo "Building $distdir based on the MANIFEST:"
files="`sed -e 's/[ ]:.*$//' $tmpdir/MANIFEST`"
for file in $files; do
echo "Copying $file..."
(cd $tmpdir && cp -Pp $file ../$distdir) || exit 1
done
echo ""
echo "----------------------------------------------------------------------"
echo "Removing (temporary) checkout directory..."
rm -rf $tmpdir
tarball=$distdir.tar.gz
echo "Constructing $tarball..."
tar cf - $distdir | gzip -9 > $tarball
echo "Done."