release 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216
  1. How to prepare a new release
  2. ----------------------------
  3. . include/freetype/freetype.h: Update FREETYPE_MAJOR, FREETYPE_MINOR,
  4. and FREETYPE_PATCH.
  5. . Update version numbers in all files where necessary (for example, do
  6. a grep for both `2.3.1' and `231' for release 2.3.1).
  7. . builds/unix/configure.raw: Update `version_info'.
  8. . docs/CHANGES: Document differences to last release.
  9. . README: Update.
  10. . docs/VERSION.DLL: Document changed `version_info'.
  11. . ChangeLog: Announce new release (both in the freetype2 and
  12. freetype2-demos modules).
  13. . Clone the git archive to another directory with
  14. git clone -l -s . ../freetype2.test
  15. or something like this and run
  16. make distclean; make devel; make
  17. make distclean; make devel; make multi
  18. make distclean; make devel CC=g++; make CC=g++
  19. make distclean; make devel CC=g++; make multi CC=g++
  20. sh autogen.sh
  21. make distclean; ./configure; make
  22. make distclean; ./configure CC=g++; make
  23. in the cloned repository to test compilation with both gcc and g++.
  24. . Test C++ compilation for freetype2-demos too (using `git clone' as
  25. above).
  26. . Run src/tools/chktrcmp.py and check that there are no undefined
  27. trace_XXXX macros.
  28. . Tag the git repositories (freetype2, freetype2-demos) with
  29. git tag VER-<version> -m "" -u <committer>
  30. and push the tags with
  31. git push --tags
  32. TODO: Tag the home page CVS on savannah.nongnu.org.
  33. . Check with
  34. git clean -ndx
  35. that the git directory is really clean (and remove extraneous files
  36. if necessary).
  37. . Say `make dist' in both the freetype2 and freetype2-demos modules
  38. to generate the .tar.gz, .tar.bz2, and .zip files.
  39. . Create the doc bundles (freetype-doc-<version>.tar.gz,
  40. freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
  41. everything below
  42. freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
  43. except the `reference' subdirectory. Do *not* use option `-l' from
  44. zip!
  45. . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
  46. and $SOURCEFORGE_USER variables) to sign and upload the bundles to
  47. both Savannah and SourceForge. The signing code has been taken from
  48. the `gnupload' script (part of the automake bundle).
  49. #!/bin/sh
  50. VERSION=2.4.8
  51. SAVANNAH_USER=wl
  52. SOURCEFORGE_USER=wlemb
  53. #####################################################################
  54. GPG='/usr/bin/gpg --batch --no-tty'
  55. version=`echo $VERSION | sed "s/\\.//g"`
  56. FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
  57. freetype-$VERSION.tar.bz2 \
  58. ft$version.zip"
  59. FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
  60. ft2demos-$VERSION.tar.bz2 \
  61. ftdmo$version.zip"
  62. FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
  63. freetype-doc-$VERSION.tar.bz2 \
  64. ftdoc$version.zip"
  65. PACKAGE_LIST="$FREETYPE_PACKAGES \
  66. $FT2DEMOS_PACKAGES \
  67. $FTDOC_PACKAGES"
  68. set -e
  69. unset passphrase
  70. PATH=/empty echo -n "Enter GPG passphrase: "
  71. stty -echo
  72. read -r passphrase
  73. stty echo
  74. echo
  75. for f in $PACKAGE_LIST; do
  76. if test ! -f $f; then
  77. echo "$0: Cannot find \`$f'" 1>&2
  78. exit 1
  79. else
  80. :
  81. fi
  82. done
  83. for f in $PACKAGE_LIST; do
  84. echo "Signing $f..."
  85. rm -f $f.sig
  86. echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
  87. done
  88. FREETYPE_SIGNATURES=
  89. for i in $FREETYPE_PACKAGES; do
  90. FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
  91. done
  92. FT2DEMOS_SIGNATURES=
  93. for i in $FT2DEMOS_PACKAGES; do
  94. FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
  95. done
  96. FTDOC_SIGNATURES=
  97. for i in $FTDOC_PACKAGES; do
  98. FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
  99. done
  100. SIGNATURE_LIST="$FREETYPE_SIGNATURES \
  101. $FT2DEMOS_SIGNATURES \
  102. $FTDOC_SIGNATURES"
  103. scp $PACKAGE_LIST $SIGNATURE_LIST \
  104. [email protected]:/releases/freetype/
  105. rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
  106. $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
  107. rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
  108. $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
  109. rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
  110. $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
  111. # EOF
  112. . Prepare a README for SourceForge and upload it with the following
  113. script (with updated `$VERSION' and $SOURCEFORGE_USER variables).
  114. #!/bin/sh
  115. VERSION=2.4.8
  116. SOURCEFORGE_USER=wlemb
  117. #####################################################################
  118. rsync -avP -e ssh README \
  119. $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
  120. # EOF
  121. . On SourceForge, tag the just uploaded `ftXXXX.zip' and
  122. `freetype-XXX.tar.bz2' files as the default files to download for
  123. `Windows' and `Others', respectively.
  124. . Copy the reference files (generated by `make dist') to
  125. freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
  126. and
  127. shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
  128. TODO: Create FreeType home page CVS on savannah.nongnu.org and
  129. update it accordingly.
  130. Write script to automatically do this.
  131. Mirror FreeType's savannah home page everywhere.
  132. . Update
  133. freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
  134. and copy it to
  135. shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
  136. . Announce new release on [email protected] and to relevant
  137. newsgroups.
  138. ----------------------------------------------------------------------
  139. Copyright 2003, 2005-2007, 2009, 2011-2012 by
  140. David Turner, Robert Wilhelm, and Werner Lemberg.
  141. This file is part of the FreeType project, and may only be used,
  142. modified, and distributed under the terms of the FreeType project
  143. license, LICENSE.TXT. By continuing to use, modify, or distribute
  144. this file you indicate that you have read the license and understand
  145. and accept it fully.
  146. --- end of release ---