release 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  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. . Say `make dist' in both the freetype2 and freetype2-demos modules
  34. to generate the .tar.gz, .tar.bz2, and .zip files.
  35. . Create the doc bundles (freetype-doc-<version>.tar.gz,
  36. freetype-doc-<version>.tar.bz2, ftdoc<version>.zip). This is
  37. everything below
  38. freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
  39. except the `reference' subdirectory. Do *not* use option `-l' from
  40. zip!
  41. . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
  42. and $SOURCEFORGE_USER variables) to sign and upload the bundles to
  43. both Savannah and SourceForge. The signing code has been taken from
  44. the `gnupload' script (part of the automake bundle).
  45. #!/bin/sh
  46. VERSION=2.3.11
  47. SAVANNAH_USER=wl
  48. SOURCEFORGE_USER=wlemb
  49. #####################################################################
  50. GPG='/usr/bin/gpg --batch --no-tty'
  51. version=`echo $VERSION | sed "s/\\.//g"`
  52. FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
  53. freetype-$VERSION.tar.bz2 \
  54. ft$version.zip"
  55. FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
  56. ft2demos-$VERSION.tar.bz2 \
  57. ftdmo$version.zip"
  58. FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
  59. freetype-doc-$VERSION.tar.bz2 \
  60. ftdoc$version.zip"
  61. PACKAGE_LIST="$FREETYPE_PACKAGES \
  62. $FT2DEMOS_PACKAGES \
  63. $FTDOC_PACKAGES"
  64. set -e
  65. unset passphrase
  66. PATH=/empty echo -n "Enter GPG passphrase: "
  67. stty -echo
  68. read -r passphrase
  69. stty echo
  70. echo
  71. for f in $PACKAGE_LIST; do
  72. if test ! -f $f; then
  73. echo "$0: Cannot find \`$f'" 1>&2
  74. exit 1
  75. else
  76. :
  77. fi
  78. done
  79. for f in $PACKAGE_LIST; do
  80. echo "Signing $f..."
  81. rm -f $f.sig
  82. echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
  83. done
  84. FREETYPE_SIGNATURES=
  85. for i in $FREETYPE_PACKAGES; do
  86. FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
  87. done
  88. FT2DEMOS_SIGNATURES=
  89. for i in $FT2DEMOS_PACKAGES; do
  90. FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
  91. done
  92. FTDOC_SIGNATURES=
  93. for i in $FTDOC_PACKAGES; do
  94. FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
  95. done
  96. SIGNATURE_LIST="$FREETYPE_SIGNATURES \
  97. $FT2DEMOS_SIGNATURES \
  98. $FTDOC_SIGNATURES"
  99. scp $PACKAGE_LIST $SIGNATURE_LIST \
  100. [email protected]:/releases/freetype/
  101. rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
  102. $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
  103. rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
  104. $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
  105. rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
  106. $SOURCEFORGE_USER,[email protected]:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
  107. # EOF
  108. . While files on savannah.gnu.org are automatically moved to the right
  109. directory, it must be done manually on SourceForge. Do that now.
  110. . Update the FreeType release notes on SourceForge.
  111. . Copy the reference files (generated by `make dist') to
  112. freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
  113. and
  114. shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
  115. TODO: Create FreeType home page CVS on savannah.nongnu.org and
  116. update it accordingly.
  117. Write script to automatically do this.
  118. Mirror FreeType's savannah home page everywhere.
  119. . Update
  120. freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
  121. and copy it to
  122. shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
  123. . Announce new release on [email protected] and to relevant
  124. newsgroups.
  125. ----------------------------------------------------------------------
  126. Copyright 2003, 2005, 2006, 2007, 2009 by
  127. David Turner, Robert Wilhelm, and Werner Lemberg.
  128. This file is part of the FreeType project, and may only be used,
  129. modified, and distributed under the terms of the FreeType project
  130. license, LICENSE.TXT. By continuing to use, modify, or distribute
  131. this file you indicate that you have read the license and understand
  132. and accept it fully.
  133. --- end of release ---