1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/modules/freetype2/docs/release Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,201 @@ 1.4 +How to prepare a new release 1.5 +---------------------------- 1.6 + 1.7 +. include/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR, 1.8 + and FREETYPE_PATCH. 1.9 + 1.10 +. Update version numbers in all files where necessary (for example, do 1.11 + a grep for both `2.3.1' and `231' for release 2.3.1). 1.12 + 1.13 +. builds/unix/configure.raw: Update `version_info'. 1.14 + 1.15 +. docs/CHANGES: Document differences to last release. 1.16 + 1.17 +. README: Update. 1.18 + 1.19 +. docs/VERSION.DLL: Document changed `version_info'. 1.20 + 1.21 +. ChangeLog: Announce new release (both in the freetype2 and 1.22 + freetype2-demos modules). 1.23 + 1.24 +. Clone the git archive to another directory with 1.25 + 1.26 + git clone -l -s . ../freetype2.test 1.27 + 1.28 + or something like this and run 1.29 + 1.30 + make distclean; make devel; make 1.31 + make distclean; make devel; make multi 1.32 + make distclean; make devel CC=g++; make CC=g++ 1.33 + make distclean; make devel CC=g++; make multi CC=g++ 1.34 + 1.35 + sh autogen.sh 1.36 + make distclean; ./configure; make 1.37 + make distclean; ./configure CC=g++; make 1.38 + 1.39 + in the cloned repository to test compilation with both gcc and g++. 1.40 + 1.41 +. Test C++ compilation for freetype2-demos too (using `git clone' as 1.42 + above). 1.43 + 1.44 +. Run src/tools/chktrcmp.py and check that there are no undefined 1.45 + trace_XXXX macros. 1.46 + 1.47 +. Tag the git repositories (freetype2, freetype2-demos) with 1.48 + 1.49 + git tag VER-<version> -m "" -u <committer> 1.50 + 1.51 + and push the tags with 1.52 + 1.53 + git push --tags 1.54 + 1.55 +. Check with 1.56 + 1.57 + git clean -ndx 1.58 + 1.59 + that the git directory is really clean (and remove extraneous files 1.60 + if necessary). 1.61 + 1.62 +. Say `make dist' in both the freetype2 and freetype2-demos modules 1.63 + to generate the .tar.gz, .tar.bz2, and .zip files. 1.64 + 1.65 +. Create the doc bundles (freetype-doc-<version>.tar.gz, 1.66 + freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is 1.67 + everything in 1.68 + 1.69 + <freetype-web git repository>/freetype2/docs 1.70 + 1.71 + except the `reference' subdirectory. Do *not* use option `-l' from 1.72 + zip! 1.73 + 1.74 +. Run the following script (with updated `$VERSION', `$SAVANNAH_USER', 1.75 + and $SOURCEFORGE_USER variables) to sign and upload the bundles to 1.76 + both Savannah and SourceForge. The signing code has been taken from 1.77 + the `gnupload' script (part of the automake bundle). 1.78 + 1.79 + #!/bin/sh 1.80 + 1.81 + VERSION=2.5.1 1.82 + SAVANNAH_USER=wl 1.83 + SOURCEFORGE_USER=wlemb 1.84 + 1.85 + ##################################################################### 1.86 + 1.87 + GPG='/usr/bin/gpg --batch --no-tty' 1.88 + 1.89 + version=`echo $VERSION | sed "s/\\.//g"` 1.90 + 1.91 + FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \ 1.92 + freetype-$VERSION.tar.bz2 \ 1.93 + ft$version.zip" 1.94 + FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \ 1.95 + ft2demos-$VERSION.tar.bz2 \ 1.96 + ftdmo$version.zip" 1.97 + FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \ 1.98 + freetype-doc-$VERSION.tar.bz2 \ 1.99 + ftdoc$version.zip" 1.100 + 1.101 + PACKAGE_LIST="$FREETYPE_PACKAGES \ 1.102 + $FT2DEMOS_PACKAGES \ 1.103 + $FTDOC_PACKAGES" 1.104 + 1.105 + set -e 1.106 + unset passphrase 1.107 + 1.108 + PATH=/empty echo -n "Enter GPG passphrase: " 1.109 + stty -echo 1.110 + read -r passphrase 1.111 + stty echo 1.112 + echo 1.113 + 1.114 + for f in $PACKAGE_LIST; do 1.115 + if test ! -f $f; then 1.116 + echo "$0: Cannot find \`$f'" 1>&2 1.117 + exit 1 1.118 + else 1.119 + : 1.120 + fi 1.121 + done 1.122 + 1.123 + for f in $PACKAGE_LIST; do 1.124 + echo "Signing $f..." 1.125 + rm -f $f.sig 1.126 + echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f 1.127 + done 1.128 + 1.129 + FREETYPE_SIGNATURES= 1.130 + for i in $FREETYPE_PACKAGES; do 1.131 + FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig" 1.132 + done 1.133 + 1.134 + FT2DEMOS_SIGNATURES= 1.135 + for i in $FT2DEMOS_PACKAGES; do 1.136 + FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig" 1.137 + done 1.138 + 1.139 + FTDOC_SIGNATURES= 1.140 + for i in $FTDOC_PACKAGES; do 1.141 + FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig" 1.142 + done 1.143 + 1.144 + SIGNATURE_LIST="$FREETYPE_SIGNATURES \ 1.145 + $FT2DEMOS_SIGNATURES \ 1.146 + $FTDOC_SIGNATURES" 1.147 + 1.148 + scp $PACKAGE_LIST $SIGNATURE_LIST \ 1.149 + $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/ 1.150 + 1.151 + rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \ 1.152 + $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/ 1.153 + rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \ 1.154 + $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/ 1.155 + rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \ 1.156 + $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/ 1.157 + 1.158 + # EOF 1.159 + 1.160 +. Prepare a README for SourceForge and upload it with the following 1.161 + script (with updated `$VERSION' and $SOURCEFORGE_USER variables). 1.162 + 1.163 + #!/bin/sh 1.164 + 1.165 + VERSION=2.5.1 1.166 + SOURCEFORGE_USER=wlemb 1.167 + 1.168 + ##################################################################### 1.169 + 1.170 + rsync -avP -e ssh README \ 1.171 + $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/ 1.172 + 1.173 + # EOF 1.174 + 1.175 +. On SourceForge, tag the just uploaded `ftXXX.zip' and 1.176 + `freetype-XXX.tar.bz2' files as the default files to download for 1.177 + `Windows' and `Others', respectively. 1.178 + 1.179 +. Copy the reference files (generated by `make dist') to 1.180 + 1.181 + <freetype-web git repository>/freetype2/docs/reference 1.182 + 1.183 +. Update the `freetype-web' repository. `git push' then automatically 1.184 + triggers an update of the public web pages within ten minutes, due 1.185 + to a cron script (on wl@freedesktop.org) that rsyncs with 1.186 + 1.187 + freedesktop.org://srv/freetype.freedesktop.org/www 1.188 + 1.189 +. Announce new release on freetype-announce@nongnu.org and to relevant 1.190 + newsgroups. 1.191 + 1.192 +---------------------------------------------------------------------- 1.193 + 1.194 +Copyright 2003, 2005-2007, 2009, 2011-2013 by 1.195 +David Turner, Robert Wilhelm, and Werner Lemberg. 1.196 + 1.197 +This file is part of the FreeType project, and may only be used, 1.198 +modified, and distributed under the terms of the FreeType project 1.199 +license, LICENSE.TXT. By continuing to use, modify, or distribute 1.200 +this file you indicate that you have read the license and understand 1.201 +and accept it fully. 1.202 + 1.203 + 1.204 +--- end of release ---