modules/freetype2/docs/release

changeset 0
6474c204b198
     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 ---

mercurial