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

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

mercurial