Initialize Tizen 2.3
[framework/graphics/freetype.git] / docs / release
1 How to prepare a new release
2 ----------------------------
3
4 . include/freetype/freetype.h:  Update FREETYPE_MAJOR, FREETYPE_MINOR,
5   and FREETYPE_PATCH.
6
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).
9
10 . builds/unix/configure.raw: Update `version_info'.
11
12 . docs/CHANGES: Document differences to last release.
13
14 . README: Update.
15
16 . docs/VERSION.DLL: Document changed `version_info'.
17
18 . ChangeLog:   Announce  new  release   (both  in  the  freetype2  and
19   freetype2-demos modules).
20
21 . Clone the git archive to another directory with
22
23     git clone -l -s . ../freetype2.test
24
25   or something like this and run
26
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++
31
32     sh autogen.sh
33     make distclean; ./configure; make
34     make distclean; ./configure CC=g++; make
35
36   in the cloned repository to test compilation with both gcc and g++.
37
38 . Test C++ compilation  for freetype2-demos too  (using `git clone' as
39   above).
40
41 . Run  src/tools/chktrcmp.py  and check  that there  are no  undefined
42   trace_XXXX macros.
43
44 . Tag the git repositories (freetype2, freetype2-demos) with
45
46     git tag VER-<version> -m "" -u <committer>
47
48   and push the tags with
49
50     git push --tags
51
52   TODO: Tag the home page CVS on savannah.nongnu.org.
53
54 . Say `make  dist' in both the  freetype2 and freetype2-demos  modules
55   to generate the .tar.gz, .tar.bz2, and .zip files.
56
57 . Create     the     doc    bundles    (freetype-doc-<version>.tar.gz,
58   freetype-doc-<version>.tar.bz2,    ftdoc<version>.zip).    This   is
59   everything below
60
61     freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
62
63   except the `reference' subdirectory.   Do *not* use option `-l' from
64   zip!
65
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).
70
71     #!/bin/sh
72
73     VERSION=2.4.8
74     SAVANNAH_USER=wl
75     SOURCEFORGE_USER=wlemb
76
77     #####################################################################
78
79     GPG='/usr/bin/gpg --batch --no-tty'
80
81     version=`echo $VERSION | sed "s/\\.//g"`
82
83     FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
84                        freetype-$VERSION.tar.bz2 \
85                        ft$version.zip"
86     FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
87                        ft2demos-$VERSION.tar.bz2 \
88                        ftdmo$version.zip"
89     FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
90                     freetype-doc-$VERSION.tar.bz2 \
91                     ftdoc$version.zip"
92
93     PACKAGE_LIST="$FREETYPE_PACKAGES \
94                   $FT2DEMOS_PACKAGES \
95                   $FTDOC_PACKAGES"
96
97     set -e
98     unset passphrase
99
100     PATH=/empty echo -n "Enter GPG passphrase: "
101     stty -echo
102     read -r passphrase
103     stty echo
104     echo
105
106     for f in $PACKAGE_LIST; do
107       if test ! -f $f; then
108         echo "$0: Cannot find \`$f'" 1>&2
109         exit 1
110       else
111         :
112       fi
113     done
114
115     for f in $PACKAGE_LIST; do
116       echo "Signing $f..."
117       rm -f $f.sig
118       echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
119     done
120
121     FREETYPE_SIGNATURES=
122     for i in $FREETYPE_PACKAGES; do
123       FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
124     done
125
126     FT2DEMOS_SIGNATURES=
127     for i in $FT2DEMOS_PACKAGES; do
128       FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
129     done
130
131     FTDOC_SIGNATURES=
132     for i in $FTDOC_PACKAGES; do
133       FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
134     done
135
136     SIGNATURE_LIST="$FREETYPE_SIGNATURES \
137                     $FT2DEMOS_SIGNATURES \
138                     $FTDOC_SIGNATURES"
139
140     scp $PACKAGE_LIST $SIGNATURE_LIST \
141       $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
142
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/
149
150     # EOF
151
152 . Prepare a  README for SourceForge  and upload it  with the following
153   script (with updated `$VERSION' and $SOURCEFORGE_USER variables).
154
155     #!/bin/sh
156
157     VERSION=2.4.8
158     SOURCEFORGE_USER=wlemb
159
160     #####################################################################
161
162     rsync -avP -e ssh README \
163       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
164
165     # EOF
166
167 . On   SourceForge,   tag   the   just   uploaded   `ftXXXX.zip'   and
168   `freetype-XXX.tar.bz2'  files as the  default files to  download for
169   `Windows' and `Others', respectively.
170
171 . Copy the reference files (generated by `make dist') to
172
173     freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
174
175   and
176
177     shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
178
179   TODO: Create  FreeType  home  page  CVS  on savannah.nongnu.org  and
180         update it accordingly.
181
182         Write script to automatically do this.
183
184         Mirror FreeType's savannah home page everywhere.
185
186 . Update
187
188     freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
189
190   and copy it to
191
192     shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
193
194 . Announce new release on freetype-announce@nongnu.org and to relevant
195   newsgroups.
196
197 ----------------------------------------------------------------------
198
199 Copyright 2003, 2005-2007, 2009, 2011 by
200 David Turner, Robert Wilhelm, and Werner Lemberg.
201
202 This  file is  part of  the FreeType  project, and  may only  be used,
203 modified,  and distributed  under the  terms of  the  FreeType project
204 license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
205 this file you  indicate that you have read  the license and understand
206 and accept it fully.
207
208
209 --- end of release ---