blob: 36bcb47681040470c8ad97f432062d2d357324f5 [file] [log] [blame]
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 ---