misc/libfreetype/docs/release
changeset 5172 88f2e05288ba
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/libfreetype/docs/release	Mon Apr 25 01:46:54 2011 +0200
@@ -0,0 +1,195 @@
+How to prepare a new release
+----------------------------
+
+. include/freetype/freetype.h:  Update FREETYPE_MAJOR, FREETYPE_MINOR,
+  and FREETYPE_PATCH.
+
+. Update version numbers in all files where necessary (for example, do
+  a grep for both `2.3.1' and `231' for release 2.3.1).
+
+. builds/unix/configure.raw: Update `version_info'.
+
+. docs/CHANGES: Document differences to last release.
+
+. README: Update.
+
+. docs/VERSION.DLL: Document changed `version_info'.
+
+. ChangeLog:   Announce  new  release   (both  in  the  freetype2  and
+  freetype2-demos modules).
+
+. Clone the git archive to another directory with
+
+    git clone -l -s . ../freetype2.test
+
+  or something like this and run
+
+    make distclean; make devel; make
+    make distclean; make devel; make multi
+    make distclean; make devel CC=g++; make CC=g++
+    make distclean; make devel CC=g++; make multi CC=g++
+
+    sh autogen.sh
+    make distclean; ./configure; make
+    make distclean; ./configure CC=g++; make
+
+  in the cloned repository to test compilation with both gcc and g++.
+
+. Test C++ compilation  for freetype2-demos too  (using `git clone' as
+  above).
+
+. Run  src/tools/chktrcmp.py  and check  that there  are no  undefined
+  trace_XXXX macros.
+
+. Tag the git repositories (freetype2, freetype2-demos) with
+
+    git tag VER-<version> -m "" -u <committer>
+
+  and push the tags with
+
+    git push --tags
+
+  TODO: Tag the home page CVS on savannah.nongnu.org.
+
+. Say `make  dist' in both the  freetype2 and freetype2-demos  modules
+  to generate the .tar.gz, .tar.bz2, and .zip files.
+
+. Create     the     doc    bundles    (freetype-doc-<version>.tar.gz,
+  freetype-doc-<version>.tar.bz2,    ftdoc<version>.zip).    This   is
+  everything below
+
+    freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
+
+  except the `reference' subdirectory.   Do *not* use option `-l' from
+  zip!
+
+. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
+  and $SOURCEFORGE_USER  variables) to sign and upload the  bundles to
+  both Savannah and SourceForge.  The signing code has been taken from
+  the `gnupload' script (part of the automake bundle).
+
+    #!/bin/sh
+
+    VERSION=2.3.11
+    SAVANNAH_USER=wl
+    SOURCEFORGE_USER=wlemb
+
+    #####################################################################
+
+    GPG='/usr/bin/gpg --batch --no-tty'
+
+    version=`echo $VERSION | sed "s/\\.//g"`
+
+    FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
+                       freetype-$VERSION.tar.bz2 \
+                       ft$version.zip"
+    FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
+                       ft2demos-$VERSION.tar.bz2 \
+                       ftdmo$version.zip"
+    FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
+                    freetype-doc-$VERSION.tar.bz2 \
+                    ftdoc$version.zip"
+
+    PACKAGE_LIST="$FREETYPE_PACKAGES \
+                  $FT2DEMOS_PACKAGES \
+                  $FTDOC_PACKAGES"
+
+    set -e
+    unset passphrase
+
+    PATH=/empty echo -n "Enter GPG passphrase: "
+    stty -echo
+    read -r passphrase
+    stty echo
+    echo
+
+    for f in $PACKAGE_LIST; do
+      if test ! -f $f; then
+        echo "$0: Cannot find \`$f'" 1>&2
+        exit 1
+      else
+        :
+      fi
+    done
+
+    for f in $PACKAGE_LIST; do
+      echo "Signing $f..."
+      rm -f $f.sig
+      echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
+    done
+
+    FREETYPE_SIGNATURES=
+    for i in $FREETYPE_PACKAGES; do
+      FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
+    done
+
+    FT2DEMOS_SIGNATURES=
+    for i in $FT2DEMOS_PACKAGES; do
+      FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
+    done
+
+    FTDOC_SIGNATURES=
+    for i in $FTDOC_PACKAGES; do
+      FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
+    done
+
+    SIGNATURE_LIST="$FREETYPE_SIGNATURES \
+                    $FT2DEMOS_SIGNATURES \
+                    $FTDOC_SIGNATURES"
+
+    scp $PACKAGE_LIST $SIGNATURE_LIST \
+      $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
+
+    rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
+      $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
+    rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
+      $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
+    rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
+      $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
+
+    # EOF
+
+. While files on savannah.gnu.org are automatically moved to the right
+  directory, it must be done manually on SourceForge.  Do that now.
+
+. Update the FreeType release notes on SourceForge.
+
+. Copy the reference files (generated by `make dist') to
+
+    freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
+
+  and
+
+    shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
+
+  TODO: Create  FreeType  home  page  CVS  on savannah.nongnu.org  and
+        update it accordingly.
+
+        Write script to automatically do this.
+
+        Mirror FreeType's savannah home page everywhere.
+
+. Update
+
+    freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
+
+  and copy it to
+
+    shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
+
+. Announce new release on freetype-announce@nongnu.org and to relevant
+  newsgroups.
+
+----------------------------------------------------------------------
+
+Copyright 2003, 2005, 2006, 2007, 2009 by
+David Turner, Robert Wilhelm, and Werner Lemberg.
+
+This  file is  part of  the FreeType  project, and  may only  be used,
+modified,  and distributed  under the  terms of  the  FreeType project
+license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
+this file you  indicate that you have read  the license and understand
+and accept it fully.
+
+
+--- end of release ---