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.
58 that the git directory is really clean (and remove extraneous files
61 . Say `make dist' in both the freetype2 and freetype2-demos modules
62 to generate the .tar.gz, .tar.bz2, and .zip files.
64 . Create the doc bundles (freetype-doc-<version>.tar.gz,
65 freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
68 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
70 except the `reference' subdirectory. Do *not* use option `-l' from
73 . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
74 and $SOURCEFORGE_USER variables) to sign and upload the bundles to
75 both Savannah and SourceForge. The signing code has been taken from
76 the `gnupload' script (part of the automake bundle).
82 SOURCEFORGE_USER=wlemb
84 #####################################################################
86 GPG='/usr/bin/gpg --batch --no-tty'
88 version=`echo $VERSION | sed "s/\\.//g"`
90 FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
91 freetype-$VERSION.tar.bz2 \
93 FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
94 ft2demos-$VERSION.tar.bz2 \
96 FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
97 freetype-doc-$VERSION.tar.bz2 \
100 PACKAGE_LIST="$FREETYPE_PACKAGES \
107 PATH=/empty echo -n "Enter GPG passphrase: "
113 for f in $PACKAGE_LIST; do
114 if test ! -f $f; then
115 echo "$0: Cannot find \`$f'" 1>&2
122 for f in $PACKAGE_LIST; do
125 echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
129 for i in $FREETYPE_PACKAGES; do
130 FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
134 for i in $FT2DEMOS_PACKAGES; do
135 FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
139 for i in $FTDOC_PACKAGES; do
140 FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
143 SIGNATURE_LIST="$FREETYPE_SIGNATURES \
144 $FT2DEMOS_SIGNATURES \
147 scp $PACKAGE_LIST $SIGNATURE_LIST \
148 $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
150 rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
151 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
152 rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
153 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
154 rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
155 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
159 . Prepare a README for SourceForge and upload it with the following
160 script (with updated `$VERSION' and $SOURCEFORGE_USER variables).
165 SOURCEFORGE_USER=wlemb
167 #####################################################################
169 rsync -avP -e ssh README \
170 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
174 . On SourceForge, tag the just uploaded `ftXXXX.zip' and
175 `freetype-XXX.tar.bz2' files as the default files to download for
176 `Windows' and `Others', respectively.
178 . Copy the reference files (generated by `make dist') to
180 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
184 shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
186 TODO: Create FreeType home page CVS on savannah.nongnu.org and
187 update it accordingly.
189 Write script to automatically do this.
191 Mirror FreeType's savannah home page everywhere.
195 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
199 shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
201 . Announce new release on freetype-announce@nongnu.org and to relevant
204 ----------------------------------------------------------------------
206 Copyright 2003, 2005-2007, 2009, 2011-2012 by
207 David Turner, Robert Wilhelm, and Werner Lemberg.
209 This file is part of the FreeType project, and may only be used,
210 modified, and distributed under the terms of the FreeType project
211 license, LICENSE.TXT. By continuing to use, modify, or distribute
212 this file you indicate that you have read the license and understand
216 --- end of release ---