modules/freetype2/docs/release

Thu, 22 Jan 2015 13:21:57 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Thu, 22 Jan 2015 13:21:57 +0100
branch
TOR_BUG_9701
changeset 15
b8a032363ba2
permissions
-rw-r--r--

Incorporate requested changes from Mozilla in review:
https://bugzilla.mozilla.org/show_bug.cgi?id=1123480#c6

     1 How to prepare a new release
     2 ----------------------------
     4 . include/freetype.h:  Update FREETYPE_MAJOR, FREETYPE_MINOR,
     5   and FREETYPE_PATCH.
     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).
    10 . builds/unix/configure.raw: Update `version_info'.
    12 . docs/CHANGES: Document differences to last release.
    14 . README: Update.
    16 . docs/VERSION.DLL: Document changed `version_info'.
    18 . ChangeLog:   Announce  new  release   (both  in  the  freetype2  and
    19   freetype2-demos modules).
    21 . Clone the git archive to another directory with
    23     git clone -l -s . ../freetype2.test
    25   or something like this and run
    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++
    32     sh autogen.sh
    33     make distclean; ./configure; make
    34     make distclean; ./configure CC=g++; make
    36   in the cloned repository to test compilation with both gcc and g++.
    38 . Test C++ compilation  for freetype2-demos too  (using `git clone' as
    39   above).
    41 . Run  src/tools/chktrcmp.py  and check  that there  are no  undefined
    42   trace_XXXX macros.
    44 . Tag the git repositories (freetype2, freetype2-demos) with
    46     git tag VER-<version> -m "" -u <committer>
    48   and push the tags with
    50     git push --tags
    52 . Check with
    54     git clean -ndx
    56   that the git directory is really clean  (and remove extraneous files
    57   if necessary).
    59 . Say `make  dist' in both the  freetype2 and freetype2-demos  modules
    60   to generate the .tar.gz, .tar.bz2, and .zip files.
    62 . Create     the     doc    bundles    (freetype-doc-<version>.tar.gz,
    63   freetype-doc-<version>.tar.bz2,    ftdoc<version>.zip).    This   is
    64   everything in
    66     <freetype-web git repository>/freetype2/docs
    68   except the `reference' subdirectory.   Do *not* use option `-l' from
    69   zip!
    71 . Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
    72   and $SOURCEFORGE_USER  variables) to sign and upload the  bundles to
    73   both Savannah and SourceForge.  The signing code has been taken from
    74   the `gnupload' script (part of the automake bundle).
    76     #!/bin/sh
    78     VERSION=2.5.1
    79     SAVANNAH_USER=wl
    80     SOURCEFORGE_USER=wlemb
    82     #####################################################################
    84     GPG='/usr/bin/gpg --batch --no-tty'
    86     version=`echo $VERSION | sed "s/\\.//g"`
    88     FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
    89                        freetype-$VERSION.tar.bz2 \
    90                        ft$version.zip"
    91     FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
    92                        ft2demos-$VERSION.tar.bz2 \
    93                        ftdmo$version.zip"
    94     FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
    95                     freetype-doc-$VERSION.tar.bz2 \
    96                     ftdoc$version.zip"
    98     PACKAGE_LIST="$FREETYPE_PACKAGES \
    99                   $FT2DEMOS_PACKAGES \
   100                   $FTDOC_PACKAGES"
   102     set -e
   103     unset passphrase
   105     PATH=/empty echo -n "Enter GPG passphrase: "
   106     stty -echo
   107     read -r passphrase
   108     stty echo
   109     echo
   111     for f in $PACKAGE_LIST; do
   112       if test ! -f $f; then
   113         echo "$0: Cannot find \`$f'" 1>&2
   114         exit 1
   115       else
   116         :
   117       fi
   118     done
   120     for f in $PACKAGE_LIST; do
   121       echo "Signing $f..."
   122       rm -f $f.sig
   123       echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
   124     done
   126     FREETYPE_SIGNATURES=
   127     for i in $FREETYPE_PACKAGES; do
   128       FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
   129     done
   131     FT2DEMOS_SIGNATURES=
   132     for i in $FT2DEMOS_PACKAGES; do
   133       FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
   134     done
   136     FTDOC_SIGNATURES=
   137     for i in $FTDOC_PACKAGES; do
   138       FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
   139     done
   141     SIGNATURE_LIST="$FREETYPE_SIGNATURES \
   142                     $FT2DEMOS_SIGNATURES \
   143                     $FTDOC_SIGNATURES"
   145     scp $PACKAGE_LIST $SIGNATURE_LIST \
   146       $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
   148     rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
   149       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
   150     rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
   151       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
   152     rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
   153       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
   155     # EOF
   157 . Prepare a  README for SourceForge  and upload it  with the following
   158   script (with updated `$VERSION' and $SOURCEFORGE_USER variables).
   160     #!/bin/sh
   162     VERSION=2.5.1
   163     SOURCEFORGE_USER=wlemb
   165     #####################################################################
   167     rsync -avP -e ssh README \
   168       $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
   170     # EOF
   172 . On   SourceForge,   tag   the    just   uploaded   `ftXXX.zip'   and
   173   `freetype-XXX.tar.bz2'  files as the  default files to  download for
   174   `Windows' and `Others', respectively.
   176 . Copy the reference files (generated by `make dist') to
   178     <freetype-web git repository>/freetype2/docs/reference
   180 . Update the `freetype-web' repository.  `git push' then automatically
   181   triggers an update  of the public web pages  within ten minutes, due
   182   to a cron script (on wl@freedesktop.org) that rsyncs with
   184     freedesktop.org://srv/freetype.freedesktop.org/www
   186 . Announce new release on freetype-announce@nongnu.org and to relevant
   187   newsgroups.
   189 ----------------------------------------------------------------------
   191 Copyright 2003, 2005-2007, 2009, 2011-2013 by
   192 David Turner, Robert Wilhelm, and Werner Lemberg.
   194 This  file is  part of  the FreeType  project, and  may only  be used,
   195 modified,  and distributed  under the  terms of  the  FreeType project
   196 license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
   197 this file you  indicate that you have read  the license and understand
   198 and accept it fully.
   201 --- end of release ---

mercurial