modules/freetype2/docs/release

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:231bf6c4d8ea
1 How to prepare a new release
2 ----------------------------
3
4 . include/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 . Check with
53
54 git clean -ndx
55
56 that the git directory is really clean (and remove extraneous files
57 if necessary).
58
59 . Say `make dist' in both the freetype2 and freetype2-demos modules
60 to generate the .tar.gz, .tar.bz2, and .zip files.
61
62 . Create the doc bundles (freetype-doc-<version>.tar.gz,
63 freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
64 everything in
65
66 <freetype-web git repository>/freetype2/docs
67
68 except the `reference' subdirectory. Do *not* use option `-l' from
69 zip!
70
71 . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
72 and $SOURCEFORGE_USER variables) to sign and upload the bundles to
73 both Savannah and SourceForge. The signing code has been taken from
74 the `gnupload' script (part of the automake bundle).
75
76 #!/bin/sh
77
78 VERSION=2.5.1
79 SAVANNAH_USER=wl
80 SOURCEFORGE_USER=wlemb
81
82 #####################################################################
83
84 GPG='/usr/bin/gpg --batch --no-tty'
85
86 version=`echo $VERSION | sed "s/\\.//g"`
87
88 FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
89 freetype-$VERSION.tar.bz2 \
90 ft$version.zip"
91 FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
92 ft2demos-$VERSION.tar.bz2 \
93 ftdmo$version.zip"
94 FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
95 freetype-doc-$VERSION.tar.bz2 \
96 ftdoc$version.zip"
97
98 PACKAGE_LIST="$FREETYPE_PACKAGES \
99 $FT2DEMOS_PACKAGES \
100 $FTDOC_PACKAGES"
101
102 set -e
103 unset passphrase
104
105 PATH=/empty echo -n "Enter GPG passphrase: "
106 stty -echo
107 read -r passphrase
108 stty echo
109 echo
110
111 for f in $PACKAGE_LIST; do
112 if test ! -f $f; then
113 echo "$0: Cannot find \`$f'" 1>&2
114 exit 1
115 else
116 :
117 fi
118 done
119
120 for f in $PACKAGE_LIST; do
121 echo "Signing $f..."
122 rm -f $f.sig
123 echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
124 done
125
126 FREETYPE_SIGNATURES=
127 for i in $FREETYPE_PACKAGES; do
128 FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
129 done
130
131 FT2DEMOS_SIGNATURES=
132 for i in $FT2DEMOS_PACKAGES; do
133 FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
134 done
135
136 FTDOC_SIGNATURES=
137 for i in $FTDOC_PACKAGES; do
138 FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
139 done
140
141 SIGNATURE_LIST="$FREETYPE_SIGNATURES \
142 $FT2DEMOS_SIGNATURES \
143 $FTDOC_SIGNATURES"
144
145 scp $PACKAGE_LIST $SIGNATURE_LIST \
146 $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
147
148 rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
149 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
150 rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
151 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
152 rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
153 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
154
155 # EOF
156
157 . Prepare a README for SourceForge and upload it with the following
158 script (with updated `$VERSION' and $SOURCEFORGE_USER variables).
159
160 #!/bin/sh
161
162 VERSION=2.5.1
163 SOURCEFORGE_USER=wlemb
164
165 #####################################################################
166
167 rsync -avP -e ssh README \
168 $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
169
170 # EOF
171
172 . On SourceForge, tag the just uploaded `ftXXX.zip' and
173 `freetype-XXX.tar.bz2' files as the default files to download for
174 `Windows' and `Others', respectively.
175
176 . Copy the reference files (generated by `make dist') to
177
178 <freetype-web git repository>/freetype2/docs/reference
179
180 . Update the `freetype-web' repository. `git push' then automatically
181 triggers an update of the public web pages within ten minutes, due
182 to a cron script (on wl@freedesktop.org) that rsyncs with
183
184 freedesktop.org://srv/freetype.freedesktop.org/www
185
186 . Announce new release on freetype-announce@nongnu.org and to relevant
187 newsgroups.
188
189 ----------------------------------------------------------------------
190
191 Copyright 2003, 2005-2007, 2009, 2011-2013 by
192 David Turner, Robert Wilhelm, and Werner Lemberg.
193
194 This file is part of the FreeType project, and may only be used,
195 modified, and distributed under the terms of the FreeType project
196 license, LICENSE.TXT. By continuing to use, modify, or distribute
197 this file you indicate that you have read the license and understand
198 and accept it fully.
199
200
201 --- end of release ---

mercurial