| How to prepare a new release |
| ---------------------------- |
| |
| . include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR, |
| and FREETYPE_PATCH. |
| |
| . Update version numbers in all files where necessary (for example, do |
| a grep for both `2.3.1' and `231' for release 2.3.1). |
| |
| . builds/unix/configure.raw: Update `version_info'. |
| |
| . docs/CHANGES: Document differences to last release. |
| |
| . README: Update. |
| |
| . docs/VERSION.DLL: Document changed `version_info'. |
| |
| . ChangeLog: Announce new release (both in freetype2 and ft2demos |
| modules). |
| |
| . Tag the CVS (freetype2, ft2demos). |
| |
| TODO: Tag the home page CVS on savannah.nongnu.org. |
| |
| . Say `make dist' in both the freetype2 and ft2demos modules to |
| generate the .tar.gz, .tar.bz2, and .zip files. |
| |
| . Create the doc bundles (freetype-doc-<version>.tar.gz, |
| freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is |
| everything below |
| |
| freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/ |
| |
| except the `reference' subdirectory. Do *not* use option `-l' from |
| zip! |
| |
| Run the following script (with updated `$VERSION' and |
| `$SAVANNAH_USER' variables) to sign and upload the bundles to both |
| Savannah and SourceForge. The signing code has been taken from the |
| `gnupload' script (part of the automake bundle). |
| |
| #!/bin/sh |
| |
| VERSION=2.3.1 |
| SAVANNAH_USER=wl |
| |
| ##################################################################### |
| |
| GPG='/usr/bin/gpg --batch --no-tty' |
| |
| version=`echo $VERSION | sed "s/\\.//g"` |
| |
| UNIX_PACKAGES="freetype ft2demos freetype-doc" |
| WINDOWS_PACKAGES="ft ftdmo ftdoc" |
| UNIX_ZIP="tar.gz tar.bz2" |
| WINDOWS_ZIP="zip" |
| |
| PACKAGE_LIST= |
| for i in $UNIX_PACKAGES; do |
| for j in $UNIX_ZIP; do |
| PACKAGE_LIST="$PACKAGE_LIST $i-$VERSION.$j" |
| done |
| done |
| for i in $WINDOWS_PACKAGES; do |
| for j in $WINDOWS_ZIP; do |
| PACKAGE_LIST="$PACKAGE_LIST $i$version.$j" |
| done |
| done |
| |
| set -e |
| unset passphrase |
| |
| PATH=/empty echo -n "Enter GPG passphrase: " |
| stty -echo |
| read -r passphrase |
| stty echo |
| echo |
| |
| for f in $PACKAGE_LIST; do |
| if test ! -f $f; then |
| echo "$0: Cannot find \`$f'" 1>&2 |
| exit 1 |
| else |
| : |
| fi |
| done |
| |
| for f in $PACKAGE_LIST; do |
| echo "Signing $f..." |
| rm -f $f.sig |
| echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f |
| done |
| |
| SIGNATURE_LIST= |
| for i in $PACKAGE_LIST; do |
| SIGNATURE_LIST="$SIGNATURE_LIST $i.sig" |
| done |
| |
| scp $PACKAGE_LIST $SIGNATURE_LIST \ |
| $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/ |
| |
| for f in $PACKAGE_LIST $SIGNATURE_LIST; do |
| ncftpput upload.sf.net /incoming $f |
| done |
| |
| # EOF |
| |
| . While files on savannah.gnu.org are automatically moved to the right |
| directory, it must be done manually on SourceForge. Do that now. |
| |
| . Update the FreeType release notes on SourceForge. |
| |
| . Copy the reference files (generated by `make dist') to |
| |
| freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference |
| |
| and |
| |
| shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference |
| |
| TODO: Create FreeType home page CVS on savannah.nongnu.org and |
| update it accordingly. |
| |
| Write script to automatically do this. |
| |
| Mirror FreeType's savannah home page everywhere. |
| |
| . Update |
| |
| freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html |
| |
| and copy it to |
| |
| shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html |
| |
| . Announce new release on freetype-announce@nongnu.org and to relevant |
| newsgroups. |
| |
| ---------------------------------------------------------------------- |
| |
| Copyright 2003, 2005, 2006, 2007 by |
| David Turner, Robert Wilhelm, and Werner Lemberg. |
| |
| This file is part of the FreeType project, and may only be used, |
| modified, and distributed under the terms of the FreeType project |
| license, LICENSE.TXT. By continuing to use, modify, or distribute |
| this file you indicate that you have read the license and understand |
| and accept it fully. |
| |
| |
| --- end of release --- |