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 the freetype2 and
19 freetype2-demos modules).
21 . Clone the git archive to another directory with
23 git clone -l -s . ../freetype2.test
25 or something like this and run
27 make distclean; make devel; make
28 make distclean; make devel; make multi
29 make distclean; make devel CC=g++; make CC=g++
30 make distclean; make devel CC=g++; make multi CC=g++
33 make distclean; ./configure; make
34 make distclean; ./configure CC=g++; make
36 in the cloned repository to test compilation with both gcc and g++.
38 . Test C++ compilation for freetype2-demos too (using `git clone' as
41 . Run src/tools/chktrcmp.py and check that there are no undefined
44 . Tag the git repositories (freetype2, freetype2-demos) with
46 git tag VER-<version> -m "" -u <committer>
48 and push the tags with
52 TODO: Tag the home page CVS on savannah.nongnu.org.
54 . Say `make dist' in both the freetype2 and freetype2-demos modules
55 to generate the .tar.gz, .tar.bz2, and .zip files.
57 . Create the doc bundles (freetype-doc-<version>.tar.gz,
58 freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
61 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
63 except the `reference' subdirectory. Do *not* use option `-l' from
66 . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
67 and $SOURCEFORGE_USER variables) to sign and upload the bundles to
68 both Savannah and SourceForge. The signing code has been taken from
69 the `gnupload' script (part of the automake bundle).
75 SOURCEFORGE_USER=wlemb
77 #####################################################################
79 GPG='/usr/bin/gpg --batch --no-tty'
81 version=`echo $VERSION | sed "s/\\.//g"`
83 FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
84 freetype-$VERSION.tar.bz2 \
86 FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
87 ft2demos-$VERSION.tar.bz2 \
89 FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
90 freetype-doc-$VERSION.tar.bz2 \
93 PACKAGE_LIST="$FREETYPE_PACKAGES \
100 PATH=/empty echo -n "Enter GPG passphrase: "
106 for f in $PACKAGE_LIST; do
107 if test ! -f $f; then
108 echo "$0: Cannot find \`$f'" 1>&2
115 for f in $PACKAGE_LIST; do
118 echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
122 for i in $FREETYPE_PACKAGES; do
123 FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
127 for i in $FT2DEMOS_PACKAGES; do
128 FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
132 for i in $FTDOC_PACKAGES; do
133 FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
136 SIGNATURE_LIST="$FREETYPE_SIGNATURES \
137 $FT2DEMOS_SIGNATURES \
140 scp $PACKAGE_LIST $SIGNATURE_LIST \
141 $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
143 rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
144 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
145 rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
146 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
147 rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
148 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
152 . While files on savannah.gnu.org are automatically moved to the right
153 directory, it must be done manually on SourceForge. Do that now.
155 . Update the FreeType release notes on SourceForge.
157 . Copy the reference files (generated by `make dist') to
159 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
163 shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
165 TODO: Create FreeType home page CVS on savannah.nongnu.org and
166 update it accordingly.
168 Write script to automatically do this.
170 Mirror FreeType's savannah home page everywhere.
174 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
178 shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
180 . Announce new release on freetype-announce@nongnu.org and to relevant
183 ----------------------------------------------------------------------
185 Copyright 2003, 2005, 2006, 2007, 2009 by
186 David Turner, Robert Wilhelm, and Werner Lemberg.
188 This file is part of the FreeType project, and may only be used,
189 modified, and distributed under the terms of the FreeType project
190 license, LICENSE.TXT. By continuing to use, modify, or distribute
191 this file you indicate that you have read the license and understand
195 --- end of release ---