77 lines
1.9 KiB
Bash
77 lines
1.9 KiB
Bash
|
#! /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)
|
||
|
#
|
||
|
|
||
|
#CVSROOT=':ext:cvs.libexpat.org:/cvsroot/expat'
|
||
|
CVSROOT=':pserver:anonymous@cvs.libexpat.org:/cvsroot/expat'
|
||
|
|
||
|
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 -fq -d "$CVSROOT" 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
|
||
|
vsn="`$tmpdir/conftools/get-version.sh $tmpdir/lib/expat.h`"
|
||
|
|
||
|
echo ""
|
||
|
echo "Release version: $vsn"
|
||
|
|
||
|
if test "$1" = HEAD ; then
|
||
|
distdir=expat-`date '+%Y-%m-%d'`
|
||
|
else
|
||
|
distdir=expat-$vsn
|
||
|
fi
|
||
|
if test -e $distdir; then
|
||
|
echo "ERROR: for safety, you must manually remove $distdir."
|
||
|
rm -rf $tmpdir
|
||
|
exit 1
|
||
|
fi
|
||
|
mkdir $distdir || exit 1
|
||
|
|
||
|
CPOPTS=-Pp
|
||
|
if (cp --version 2>/dev/null | grep -q 'Free Software Foundation') ; then
|
||
|
# If we're using GNU cp, we can avoid the warnings about forward
|
||
|
# compatibility of the options.
|
||
|
CPOPTS='--parents --preserve'
|
||
|
fi
|
||
|
|
||
|
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 $CPOPTS $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 || exit $?
|
||
|
rm -r $distdir
|
||
|
|
||
|
echo "Done."
|