blob: d68da883cd75bbaa773c3037544f38dcd4c24703 [file] [log] [blame]
Werner Lembergf9d864a2003-07-25 05:57:21 +00001How to prepare a new release
2----------------------------
3
Werner Lembergf99d8462006-02-26 17:50:59 +00004. include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
5 and FREETYPE_PATCH.
Werner Lembergf9d864a2003-07-25 05:57:21 +00006
Werner Lemberg87a5a432007-01-17 12:44:39 +00007. Update version numbers in all files where necessary (for example, do
Werner Lemberg53935932007-01-31 08:53:02 +00008 a grep for both `2.3.1' and `231' for release 2.3.1).
Werner Lembergf99d8462006-02-26 17:50:59 +00009
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000010. builds/unix/configure.raw: Update `version_info'.
Werner Lembergf9d864a2003-07-25 05:57:21 +000011
12. docs/CHANGES: Document differences to last release.
13
14. README: Update.
15
Werner Lemberge42dbce2003-11-09 08:37:14 +000016. docs/VERSION.DLL: Document changed `version_info'.
Werner Lembergf9d864a2003-07-25 05:57:21 +000017
Werner Lemberg87a5a432007-01-17 12:44:39 +000018. ChangeLog: Announce new release (both in freetype2 and ft2demos
19 modules).
Werner Lemberge42dbce2003-11-09 08:37:14 +000020
Werner Lemberg1e1b6df2007-07-07 07:30:40 +000021. Copy the CVS archive to another directory and run
22
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++
27
28 sh autogen.sh
29 make distclean; ./configure; make
30 make distclean; ./configure CC=g++; make
31
32 to test compilation with both gcc and g++.
33
34. Test C++ compilation for ft2demos too.
35
Werner Lemberg87a5a432007-01-17 12:44:39 +000036. Tag the CVS (freetype2, ft2demos).
Werner Lemberge42dbce2003-11-09 08:37:14 +000037
Werner Lemberg87a5a432007-01-17 12:44:39 +000038 TODO: Tag the home page CVS on savannah.nongnu.org.
39
40. Say `make dist' in both the freetype2 and ft2demos modules to
41 generate the .tar.gz, .tar.bz2, and .zip files.
42
43. Create the doc bundles (freetype-doc-<version>.tar.gz,
44 freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
45 everything below
46
47 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
48
49 except the `reference' subdirectory. Do *not* use option `-l' from
50 zip!
51
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000052 Run the following script (with updated `$VERSION' and
53 `$SAVANNAH_USER' variables) to sign and upload the bundles to both
54 Savannah and SourceForge. The signing code has been taken from the
55 `gnupload' script (part of the automake bundle).
56
57 #!/bin/sh
Werner Lemberg87a5a432007-01-17 12:44:39 +000058
David Turner3eaef6c2007-01-30 10:40:23 +000059 VERSION=2.3.1
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000060 SAVANNAH_USER=wl
Werner Lemberg87a5a432007-01-17 12:44:39 +000061
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000062 #####################################################################
Werner Lemberg87a5a432007-01-17 12:44:39 +000063
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +000064 GPG='/usr/bin/gpg --batch --no-tty'
65
66 version=`echo $VERSION | sed "s/\\.//g"`
67
68 UNIX_PACKAGES="freetype ft2demos freetype-doc"
69 WINDOWS_PACKAGES="ft ftdmo ftdoc"
70 UNIX_ZIP="tar.gz tar.bz2"
71 WINDOWS_ZIP="zip"
72
73 PACKAGE_LIST=
74 for i in $UNIX_PACKAGES; do
75 for j in $UNIX_ZIP; do
76 PACKAGE_LIST="$PACKAGE_LIST $i-$VERSION.$j"
77 done
78 done
79 for i in $WINDOWS_PACKAGES; do
80 for j in $WINDOWS_ZIP; do
81 PACKAGE_LIST="$PACKAGE_LIST $i$version.$j"
82 done
83 done
84
85 set -e
86 unset passphrase
87
88 PATH=/empty echo -n "Enter GPG passphrase: "
89 stty -echo
90 read -r passphrase
91 stty echo
92 echo
93
94 for f in $PACKAGE_LIST; do
95 if test ! -f $f; then
96 echo "$0: Cannot find \`$f'" 1>&2
97 exit 1
98 else
99 :
100 fi
101 done
102
103 for f in $PACKAGE_LIST; do
104 echo "Signing $f..."
105 rm -f $f.sig
106 echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
107 done
108
109 SIGNATURE_LIST=
110 for i in $PACKAGE_LIST; do
111 SIGNATURE_LIST="$SIGNATURE_LIST $i.sig"
112 done
113
114 scp $PACKAGE_LIST $SIGNATURE_LIST \
115 $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
116
117 for f in $PACKAGE_LIST $SIGNATURE_LIST; do
Werner Lemberg87a5a432007-01-17 12:44:39 +0000118 ncftpput upload.sf.net /incoming $f
119 done
120
Werner Lemberg3b3f2ba2007-01-25 22:14:40 +0000121 # EOF
122
Werner Lemberg87a5a432007-01-17 12:44:39 +0000123. While files on savannah.gnu.org are automatically moved to the right
124 directory, it must be done manually on SourceForge. Do that now.
125
126. Update the FreeType release notes on SourceForge.
127
128. Copy the reference files (generated by `make dist') to
129
130 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
131
132 and
133
134 shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
135
136 TODO: Create FreeType home page CVS on savannah.nongnu.org and
Werner Lembergf99d8462006-02-26 17:50:59 +0000137 update it accordingly.
Werner Lembergd88d5412003-11-12 15:16:02 +0000138
Werner Lemberg49f4d342005-06-16 19:07:08 +0000139 Write script to automatically do this.
Werner Lembergd88d5412003-11-12 15:16:02 +0000140
Werner Lemberg49f4d342005-06-16 19:07:08 +0000141 Mirror FreeType's savannah home page everywhere.
Werner Lembergd88d5412003-11-12 15:16:02 +0000142
Werner Lemberg87a5a432007-01-17 12:44:39 +0000143. Update
Werner Lemberg49f4d342005-06-16 19:07:08 +0000144
Werner Lemberg87a5a432007-01-17 12:44:39 +0000145 freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
Werner Lemberg49f4d342005-06-16 19:07:08 +0000146
Werner Lemberg87a5a432007-01-17 12:44:39 +0000147 and copy it to
Werner Lembergf99d8462006-02-26 17:50:59 +0000148
Werner Lemberg87a5a432007-01-17 12:44:39 +0000149 shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
Werner Lemberg49f4d342005-06-16 19:07:08 +0000150
151. Announce new release on freetype-announce@nongnu.org and to relevant
152 newsgroups.
Werner Lemberg56c368c2005-06-04 23:00:25 +0000153
Werner Lembergf99d8462006-02-26 17:50:59 +0000154----------------------------------------------------------------------
Werner Lemberg56c368c2005-06-04 23:00:25 +0000155
Werner Lemberg87a5a432007-01-17 12:44:39 +0000156Copyright 2003, 2005, 2006, 2007 by
Werner Lemberg56c368c2005-06-04 23:00:25 +0000157David Turner, Robert Wilhelm, and Werner Lemberg.
158
Werner Lembergf99d8462006-02-26 17:50:59 +0000159This file is part of the FreeType project, and may only be used,
160modified, and distributed under the terms of the FreeType project
161license, LICENSE.TXT. By continuing to use, modify, or distribute
162this file you indicate that you have read the license and understand
163and accept it fully.
Werner Lemberg56c368c2005-06-04 23:00:25 +0000164
165
166--- end of release ---