Werner Lemberg | f9d864a | 2003-07-25 05:57:21 +0000 | [diff] [blame] | 1 | How to prepare a new release |
| 2 | ---------------------------- |
| 3 | |
Werner Lemberg | f99d846 | 2006-02-26 17:50:59 +0000 | [diff] [blame] | 4 | . include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR, |
| 5 | and FREETYPE_PATCH. |
Werner Lemberg | f9d864a | 2003-07-25 05:57:21 +0000 | [diff] [blame] | 6 | |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 7 | . Update version numbers in all files where necessary (for example, do |
Werner Lemberg | 5393593 | 2007-01-31 08:53:02 +0000 | [diff] [blame] | 8 | a grep for both `2.3.1' and `231' for release 2.3.1). |
Werner Lemberg | f99d846 | 2006-02-26 17:50:59 +0000 | [diff] [blame] | 9 | |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 10 | . builds/unix/configure.raw: Update `version_info'. |
Werner Lemberg | f9d864a | 2003-07-25 05:57:21 +0000 | [diff] [blame] | 11 | |
| 12 | . docs/CHANGES: Document differences to last release. |
| 13 | |
| 14 | . README: Update. |
| 15 | |
Werner Lemberg | e42dbce | 2003-11-09 08:37:14 +0000 | [diff] [blame] | 16 | . docs/VERSION.DLL: Document changed `version_info'. |
Werner Lemberg | f9d864a | 2003-07-25 05:57:21 +0000 | [diff] [blame] | 17 | |
Werner Lemberg | deee58f | 2009-07-15 07:58:00 +0200 | [diff] [blame] | 18 | . ChangeLog: Announce new release (both in the freetype2 and |
| 19 | freetype2-demos modules). |
Werner Lemberg | e42dbce | 2003-11-09 08:37:14 +0000 | [diff] [blame] | 20 | |
Werner Lemberg | deee58f | 2009-07-15 07:58:00 +0200 | [diff] [blame] | 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 |
Werner Lemberg | 1e1b6df | 2007-07-07 07:30:40 +0000 | [diff] [blame] | 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 | |
Werner Lemberg | deee58f | 2009-07-15 07:58:00 +0200 | [diff] [blame] | 36 | in the cloned repository to test compilation with both gcc and g++. |
Werner Lemberg | 1e1b6df | 2007-07-07 07:30:40 +0000 | [diff] [blame] | 37 | |
Werner Lemberg | deee58f | 2009-07-15 07:58:00 +0200 | [diff] [blame] | 38 | . Test C++ compilation for freetype2-demos too (using `git clone' as |
| 39 | above). |
Werner Lemberg | 1e1b6df | 2007-07-07 07:30:40 +0000 | [diff] [blame] | 40 | |
Werner Lemberg | deee58f | 2009-07-15 07:58:00 +0200 | [diff] [blame] | 41 | . Run src/tools/chktrcmp.py and check that there are no undefined |
| 42 | trace_XXXX macros. |
suzuki toshiya | 313d4f4 | 2009-07-13 00:01:57 +0900 | [diff] [blame] | 43 | |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 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 |
Werner Lemberg | e42dbce | 2003-11-09 08:37:14 +0000 | [diff] [blame] | 51 | |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 52 | TODO: Tag the home page CVS on savannah.nongnu.org. |
| 53 | |
Werner Lemberg | c6a66b4 | 2012-12-20 08:31:56 +0100 | [diff] [blame] | 54 | . Check with |
| 55 | |
| 56 | git clean -ndx |
| 57 | |
| 58 | that the git directory is really clean (and remove extraneous files |
| 59 | if necessary). |
| 60 | |
Werner Lemberg | deee58f | 2009-07-15 07:58:00 +0200 | [diff] [blame] | 61 | . Say `make dist' in both the freetype2 and freetype2-demos modules |
| 62 | to generate the .tar.gz, .tar.bz2, and .zip files. |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 63 | |
| 64 | . Create the doc bundles (freetype-doc-<version>.tar.gz, |
| 65 | freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is |
| 66 | everything below |
| 67 | |
| 68 | freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/ |
| 69 | |
| 70 | except the `reference' subdirectory. Do *not* use option `-l' from |
| 71 | zip! |
| 72 | |
Werner Lemberg | be54a68 | 2008-06-29 07:43:41 +0000 | [diff] [blame] | 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). |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 77 | |
| 78 | #!/bin/sh |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 79 | |
Werner Lemberg | bb18bf7 | 2011-11-15 08:34:54 +0100 | [diff] [blame] | 80 | VERSION=2.4.8 |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 81 | SAVANNAH_USER=wl |
Werner Lemberg | be54a68 | 2008-06-29 07:43:41 +0000 | [diff] [blame] | 82 | SOURCEFORGE_USER=wlemb |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 83 | |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 84 | ##################################################################### |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 85 | |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 86 | GPG='/usr/bin/gpg --batch --no-tty' |
| 87 | |
| 88 | version=`echo $VERSION | sed "s/\\.//g"` |
| 89 | |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 90 | FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \ |
| 91 | freetype-$VERSION.tar.bz2 \ |
Werner Lemberg | dd9d7ca | 2009-10-10 21:19:35 +0200 | [diff] [blame] | 92 | ft$version.zip" |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 93 | FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \ |
| 94 | ft2demos-$VERSION.tar.bz2 \ |
Werner Lemberg | dd9d7ca | 2009-10-10 21:19:35 +0200 | [diff] [blame] | 95 | ftdmo$version.zip" |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 96 | FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \ |
| 97 | freetype-doc-$VERSION.tar.bz2 \ |
Werner Lemberg | dd9d7ca | 2009-10-10 21:19:35 +0200 | [diff] [blame] | 98 | ftdoc$version.zip" |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 99 | |
Werner Lemberg | dd9d7ca | 2009-10-10 21:19:35 +0200 | [diff] [blame] | 100 | PACKAGE_LIST="$FREETYPE_PACKAGES \ |
| 101 | $FT2DEMOS_PACKAGES \ |
| 102 | $FTDOC_PACKAGES" |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 103 | |
| 104 | set -e |
| 105 | unset passphrase |
| 106 | |
| 107 | PATH=/empty echo -n "Enter GPG passphrase: " |
| 108 | stty -echo |
| 109 | read -r passphrase |
| 110 | stty echo |
| 111 | echo |
| 112 | |
| 113 | for f in $PACKAGE_LIST; do |
| 114 | if test ! -f $f; then |
| 115 | echo "$0: Cannot find \`$f'" 1>&2 |
| 116 | exit 1 |
| 117 | else |
| 118 | : |
| 119 | fi |
| 120 | done |
| 121 | |
| 122 | for f in $PACKAGE_LIST; do |
| 123 | echo "Signing $f..." |
| 124 | rm -f $f.sig |
| 125 | echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f |
| 126 | done |
| 127 | |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 128 | FREETYPE_SIGNATURES= |
| 129 | for i in $FREETYPE_PACKAGES; do |
| 130 | FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig" |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 131 | done |
| 132 | |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 133 | FT2DEMOS_SIGNATURES= |
| 134 | for i in $FT2DEMOS_PACKAGES; do |
| 135 | FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig" |
| 136 | done |
| 137 | |
| 138 | FTDOC_SIGNATURES= |
| 139 | for i in $FTDOC_PACKAGES; do |
| 140 | FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig" |
| 141 | done |
| 142 | |
Werner Lemberg | dd9d7ca | 2009-10-10 21:19:35 +0200 | [diff] [blame] | 143 | SIGNATURE_LIST="$FREETYPE_SIGNATURES \ |
| 144 | $FT2DEMOS_SIGNATURES \ |
| 145 | $FTDOC_SIGNATURES" |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 146 | |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 147 | scp $PACKAGE_LIST $SIGNATURE_LIST \ |
| 148 | $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/ |
| 149 | |
Werner Lemberg | 3c4e6ba | 2009-10-10 20:15:49 +0200 | [diff] [blame] | 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/ |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 156 | |
Werner Lemberg | 3b3f2ba | 2007-01-25 22:14:40 +0000 | [diff] [blame] | 157 | # EOF |
| 158 | |
Werner Lemberg | bb18bf7 | 2011-11-15 08:34:54 +0100 | [diff] [blame] | 159 | . Prepare a README for SourceForge and upload it with the following |
| 160 | script (with updated `$VERSION' and $SOURCEFORGE_USER variables). |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 161 | |
Werner Lemberg | bb18bf7 | 2011-11-15 08:34:54 +0100 | [diff] [blame] | 162 | #!/bin/sh |
| 163 | |
| 164 | VERSION=2.4.8 |
| 165 | SOURCEFORGE_USER=wlemb |
| 166 | |
| 167 | ##################################################################### |
| 168 | |
| 169 | rsync -avP -e ssh README \ |
| 170 | $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/ |
| 171 | |
| 172 | # EOF |
| 173 | |
| 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. |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 177 | |
| 178 | . Copy the reference files (generated by `make dist') to |
| 179 | |
| 180 | freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference |
| 181 | |
| 182 | and |
| 183 | |
| 184 | shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference |
| 185 | |
| 186 | TODO: Create FreeType home page CVS on savannah.nongnu.org and |
Werner Lemberg | f99d846 | 2006-02-26 17:50:59 +0000 | [diff] [blame] | 187 | update it accordingly. |
Werner Lemberg | d88d541 | 2003-11-12 15:16:02 +0000 | [diff] [blame] | 188 | |
Werner Lemberg | 49f4d34 | 2005-06-16 19:07:08 +0000 | [diff] [blame] | 189 | Write script to automatically do this. |
Werner Lemberg | d88d541 | 2003-11-12 15:16:02 +0000 | [diff] [blame] | 190 | |
Werner Lemberg | 49f4d34 | 2005-06-16 19:07:08 +0000 | [diff] [blame] | 191 | Mirror FreeType's savannah home page everywhere. |
Werner Lemberg | d88d541 | 2003-11-12 15:16:02 +0000 | [diff] [blame] | 192 | |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 193 | . Update |
Werner Lemberg | 49f4d34 | 2005-06-16 19:07:08 +0000 | [diff] [blame] | 194 | |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 195 | freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html |
Werner Lemberg | 49f4d34 | 2005-06-16 19:07:08 +0000 | [diff] [blame] | 196 | |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 197 | and copy it to |
Werner Lemberg | f99d846 | 2006-02-26 17:50:59 +0000 | [diff] [blame] | 198 | |
Werner Lemberg | 87a5a43 | 2007-01-17 12:44:39 +0000 | [diff] [blame] | 199 | shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html |
Werner Lemberg | 49f4d34 | 2005-06-16 19:07:08 +0000 | [diff] [blame] | 200 | |
| 201 | . Announce new release on freetype-announce@nongnu.org and to relevant |
| 202 | newsgroups. |
Werner Lemberg | 56c368c | 2005-06-04 23:00:25 +0000 | [diff] [blame] | 203 | |
Werner Lemberg | f99d846 | 2006-02-26 17:50:59 +0000 | [diff] [blame] | 204 | ---------------------------------------------------------------------- |
Werner Lemberg | 56c368c | 2005-06-04 23:00:25 +0000 | [diff] [blame] | 205 | |
Werner Lemberg | c6a66b4 | 2012-12-20 08:31:56 +0100 | [diff] [blame] | 206 | Copyright 2003, 2005-2007, 2009, 2011-2012 by |
Werner Lemberg | 56c368c | 2005-06-04 23:00:25 +0000 | [diff] [blame] | 207 | David Turner, Robert Wilhelm, and Werner Lemberg. |
| 208 | |
Werner Lemberg | f99d846 | 2006-02-26 17:50:59 +0000 | [diff] [blame] | 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 |
| 213 | and accept it fully. |
Werner Lemberg | 56c368c | 2005-06-04 23:00:25 +0000 | [diff] [blame] | 214 | |
| 215 | |
| 216 | --- end of release --- |