1 How to prepare a new release
2 ----------------------------
4 . include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
7 . Update version numbers in all files where necessary (for example, do
8 a grep for both `2.3.1' and `231' for release 2.3.1).
10 . builds/unix/configure.raw: Update `version_info'.
12 . docs/CHANGES: Document differences to last release.
16 . docs/VERSION.DLL: Document changed `version_info'.
18 . ChangeLog: Announce new release (both in freetype2 and ft2demos
21 . Copy the CVS archive to another directory and run
23 make distclean; make devel; make
24 make distclean; make devel; make multi
25 make distclean; make devel CC=g++; make CC=g++
26 make distclean; make devel CC=g++; make multi CC=g++
29 make distclean; ./configure; make
30 make distclean; ./configure CC=g++; make
32 to test compilation with both gcc and g++.
34 . Test C++ compilation for ft2demos too.
36 . Tag the CVS (freetype2, ft2demos).
38 TODO: Tag the home page CVS on savannah.nongnu.org.
40 . Say `make dist' in both the freetype2 and ft2demos modules to
41 generate the .tar.gz, .tar.bz2, and .zip files.
43 . Create the doc bundles (freetype-doc-<version>.tar.gz,
44 freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
47 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
49 except the `reference' subdirectory. Do *not* use option `-l' from
52 . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
53 and $SOURCEFORGE_USER variables) to sign and upload the bundles to
54 both Savannah and SourceForge. The signing code has been taken from
55 the `gnupload' script (part of the automake bundle).
61 SOURCEFORGE_USER=wlemb
63 #####################################################################
65 GPG='/usr/bin/gpg --batch --no-tty'
67 version=`echo $VERSION | sed "s/\\.//g"`
69 UNIX_PACKAGES="freetype ft2demos freetype-doc"
70 WINDOWS_PACKAGES="ft ftdmo ftdoc"
71 UNIX_ZIP="tar.gz tar.bz2"
75 for i in $UNIX_PACKAGES; do
76 for j in $UNIX_ZIP; do
77 PACKAGE_LIST="$PACKAGE_LIST $i-$VERSION.$j"
80 for i in $WINDOWS_PACKAGES; do
81 for j in $WINDOWS_ZIP; do
82 PACKAGE_LIST="$PACKAGE_LIST $i$version.$j"
89 PATH=/empty echo -n "Enter GPG passphrase: "
95 for f in $PACKAGE_LIST; do
97 echo "$0: Cannot find \`$f'" 1>&2
104 for f in $PACKAGE_LIST; do
107 echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
111 for i in $PACKAGE_LIST; do
112 SIGNATURE_LIST="$SIGNATURE_LIST $i.sig"
115 scp $PACKAGE_LIST $SIGNATURE_LIST \
116 $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
118 rsync -avP -e ssh $PACKAGE_LIST $SIGNATURE_LIST \
119 $SOURCEFORGE_USER@frs.sf.net:uploads/
123 . While files on savannah.gnu.org are automatically moved to the right
124 directory, it must be done manually on SourceForge. Do that now.
126 . Update the FreeType release notes on SourceForge.
128 . Copy the reference files (generated by `make dist') to
130 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
134 shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
136 TODO: Create FreeType home page CVS on savannah.nongnu.org and
137 update it accordingly.
139 Write script to automatically do this.
141 Mirror FreeType's savannah home page everywhere.
145 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
149 shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
151 . Announce new release on freetype-announce@nongnu.org and to relevant
154 ----------------------------------------------------------------------
156 Copyright 2003, 2005, 2006, 2007 by
157 David Turner, Robert Wilhelm, and Werner Lemberg.
159 This file is part of the FreeType project, and may only be used,
160 modified, and distributed under the terms of the FreeType project
161 license, LICENSE.TXT. By continuing to use, modify, or distribute
162 this file you indicate that you have read the license and understand
166 --- end of release ---