#!/bin/sh # # makesrcdist - make a source distribution of pdfio. # # Usage: # # ./makesrcdist [--snapshot] VERSION # # Save the current directory... basedir="$(pwd)" # Support "--snapshot" option... if test "$1" == "--snapshot"; then shift snapshot=1 else snapshot=0 fi # Get the release version... if test $# != 1; then echo "Usage: ./makesrcdist [--snapshot] VERSION" exit 1 fi version=$1 version_major=$(echo $1 | awk -F. '{print $1}') version_minor=$(echo $1 | awk -F. '{print $2}') # Check that version number has been updated everywhere... status=0 if test $(grep AC_INIT configure.ac | awk '{print $2}') != "[$version],"; then echo "Still need to update AC_INIT version in 'configure.ac'." status=1 fi if test $(head -5 CHANGES.md | tail -1 | awk '{print $1}') != "v$version"; then echo "Still need to update CHANGES.md version number." status=1 fi if test $(head -5 CHANGES.md | tail -1 | awk '{print $3}') = "YYYY-MM-DD"; then echo "Still need to update CHANGES.md release date." status=1 fi if test $(grep PDFIO_VERSION= configure | awk -F \" '{print $2}') != "$version"; then echo "Still need to run 'autoconf -f'." status=1 fi if test $(grep '' pdfio_native.nuspec | sed -E -e '1,$s/^.*([0-9.]+).*$/\1/') != "$version"; then echo "Still need to update version in 'pdfio_native.nuspec'." status=1 fi if test $(grep '' pdfio_native.redist.nuspec | sed -E -e '1,$s/^.*([0-9.]+).*$/\1/') != "$version"; then echo "Still need to update version in 'pdfio_native.redist.nuspec'." status=1 fi if test $(grep PDFIO_VERSION pdfio.h | awk -F \" '{print $2}') != "$version"; then echo "Still need to update PDFIO_VERSION in 'pdfio.h'." status=1 fi if test $(grep PDFIO_VERSION_MAJOR pdfio.h | awk '{print $4}') != "$version_major"; then echo "Still need to update PDFIO_VERSION_MAJOR in 'pdfio.h'." status=1 fi if test $(grep PDFIO_VERSION_MINOR pdfio.h | awk '{print $4}') != "$version_minor"; then echo "Still need to update PDFIO_VERSION_MINOR in 'pdfio.h'." status=1 fi if test $(grep VERSION pdfio1.def | awk '{print $2}') != "$version_major.$version_minor"; then echo "Still need to update VERSION in 'pdfio1.def'." status=1 fi if test $status = 1; then exit 1 fi # Tag release... if test $snapshot = 0; then echo "Creating tag v$version for release..." git tag -m "Tag $version" v$version git push origin v$version fi # Make and sign source archives... echo "Exporting $version..." rm -rf $TMPDIR/pdfio-$version mkdir $TMPDIR/pdfio-$version git archive --format tar HEAD | (cd $TMPDIR/pdfio-$version; tar xf -) (cd ttf; git archive --prefix=ttf/ HEAD) | (cd $TMPDIR/pdfio-$version; tar xf -) cd $TMPDIR echo "Creating pdfio-$version.tar.gz..." tar cf - pdfio-$version | gzip -v9 >"$basedir/pdfio-$version.tar.gz" gpg --detach-sign "$basedir/pdfio-$version.tar.gz" echo "Creating pdfio-$version.zip..." zip -r "$basedir/pdfio-$version.zip" pdfio-$version gpg --detach-sign "$basedir/pdfio-$version.zip" # Clean up... echo "Removing temporary files..." rm -rf pdfio-$version