misc/libfreetype/docs/release
changeset 5172 88f2e05288ba
equal deleted inserted replaced
5171:f9283dc4860d 5172:88f2e05288ba
       
     1 How to prepare a new release
       
     2 ----------------------------
       
     3 
       
     4 . include/freetype/freetype.h:  Update FREETYPE_MAJOR, FREETYPE_MINOR,
       
     5   and FREETYPE_PATCH.
       
     6 
       
     7 . Update version numbers in all files where necessary (for example, do
       
     8   a grep for both `2.3.1' and `231' for release 2.3.1).
       
     9 
       
    10 . builds/unix/configure.raw: Update `version_info'.
       
    11 
       
    12 . docs/CHANGES: Document differences to last release.
       
    13 
       
    14 . README: Update.
       
    15 
       
    16 . docs/VERSION.DLL: Document changed `version_info'.
       
    17 
       
    18 . ChangeLog:   Announce  new  release   (both  in  the  freetype2  and
       
    19   freetype2-demos modules).
       
    20 
       
    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
       
    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 
       
    36   in the cloned repository to test compilation with both gcc and g++.
       
    37 
       
    38 . Test C++ compilation  for freetype2-demos too  (using `git clone' as
       
    39   above).
       
    40 
       
    41 . Run  src/tools/chktrcmp.py  and check  that there  are no  undefined
       
    42   trace_XXXX macros.
       
    43 
       
    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
       
    51 
       
    52   TODO: Tag the home page CVS on savannah.nongnu.org.
       
    53 
       
    54 . Say `make  dist' in both the  freetype2 and freetype2-demos  modules
       
    55   to generate the .tar.gz, .tar.bz2, and .zip files.
       
    56 
       
    57 . Create     the     doc    bundles    (freetype-doc-<version>.tar.gz,
       
    58   freetype-doc-<version>.tar.bz2,    ftdoc<version>.zip).    This   is
       
    59   everything below
       
    60 
       
    61     freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
       
    62 
       
    63   except the `reference' subdirectory.   Do *not* use option `-l' from
       
    64   zip!
       
    65 
       
    66 . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
       
    67   and $SOURCEFORGE_USER  variables) to sign and upload the  bundles to
       
    68   both Savannah and SourceForge.  The signing code has been taken from
       
    69   the `gnupload' script (part of the automake bundle).
       
    70 
       
    71     #!/bin/sh
       
    72 
       
    73     VERSION=2.3.11
       
    74     SAVANNAH_USER=wl
       
    75     SOURCEFORGE_USER=wlemb
       
    76 
       
    77     #####################################################################
       
    78 
       
    79     GPG='/usr/bin/gpg --batch --no-tty'
       
    80 
       
    81     version=`echo $VERSION | sed "s/\\.//g"`
       
    82 
       
    83     FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
       
    84                        freetype-$VERSION.tar.bz2 \
       
    85                        ft$version.zip"
       
    86     FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
       
    87                        ft2demos-$VERSION.tar.bz2 \
       
    88                        ftdmo$version.zip"
       
    89     FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
       
    90                     freetype-doc-$VERSION.tar.bz2 \
       
    91                     ftdoc$version.zip"
       
    92 
       
    93     PACKAGE_LIST="$FREETYPE_PACKAGES \
       
    94                   $FT2DEMOS_PACKAGES \
       
    95                   $FTDOC_PACKAGES"
       
    96 
       
    97     set -e
       
    98     unset passphrase
       
    99 
       
   100     PATH=/empty echo -n "Enter GPG passphrase: "
       
   101     stty -echo
       
   102     read -r passphrase
       
   103     stty echo
       
   104     echo
       
   105 
       
   106     for f in $PACKAGE_LIST; do
       
   107       if test ! -f $f; then
       
   108         echo "$0: Cannot find \`$f'" 1>&2
       
   109         exit 1
       
   110       else
       
   111         :
       
   112       fi
       
   113     done
       
   114 
       
   115     for f in $PACKAGE_LIST; do
       
   116       echo "Signing $f..."
       
   117       rm -f $f.sig
       
   118       echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
       
   119     done
       
   120 
       
   121     FREETYPE_SIGNATURES=
       
   122     for i in $FREETYPE_PACKAGES; do
       
   123       FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
       
   124     done
       
   125 
       
   126     FT2DEMOS_SIGNATURES=
       
   127     for i in $FT2DEMOS_PACKAGES; do
       
   128       FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
       
   129     done
       
   130 
       
   131     FTDOC_SIGNATURES=
       
   132     for i in $FTDOC_PACKAGES; do
       
   133       FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
       
   134     done
       
   135 
       
   136     SIGNATURE_LIST="$FREETYPE_SIGNATURES \
       
   137                     $FT2DEMOS_SIGNATURES \
       
   138                     $FTDOC_SIGNATURES"
       
   139 
       
   140     scp $PACKAGE_LIST $SIGNATURE_LIST \
       
   141       $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
       
   142 
       
   143     rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
       
   144       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
       
   145     rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
       
   146       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
       
   147     rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
       
   148       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
       
   149 
       
   150     # EOF
       
   151 
       
   152 . While files on savannah.gnu.org are automatically moved to the right
       
   153   directory, it must be done manually on SourceForge.  Do that now.
       
   154 
       
   155 . Update the FreeType release notes on SourceForge.
       
   156 
       
   157 . Copy the reference files (generated by `make dist') to
       
   158 
       
   159     freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
       
   160 
       
   161   and
       
   162 
       
   163     shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
       
   164 
       
   165   TODO: Create  FreeType  home  page  CVS  on savannah.nongnu.org  and
       
   166         update it accordingly.
       
   167 
       
   168         Write script to automatically do this.
       
   169 
       
   170         Mirror FreeType's savannah home page everywhere.
       
   171 
       
   172 . Update
       
   173 
       
   174     freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
       
   175 
       
   176   and copy it to
       
   177 
       
   178     shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
       
   179 
       
   180 . Announce new release on freetype-announce@nongnu.org and to relevant
       
   181   newsgroups.
       
   182 
       
   183 ----------------------------------------------------------------------
       
   184 
       
   185 Copyright 2003, 2005, 2006, 2007, 2009 by
       
   186 David Turner, Robert Wilhelm, and Werner Lemberg.
       
   187 
       
   188 This  file is  part of  the FreeType  project, and  may only  be used,
       
   189 modified,  and distributed  under the  terms of  the  FreeType project
       
   190 license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
       
   191 this file you  indicate that you have read  the license and understand
       
   192 and accept it fully.
       
   193 
       
   194 
       
   195 --- end of release ---