Subversion Repositories Kolibri OS

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3918 Serge 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- -m "" -u 
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
. Check with
55
 
56
    git clean -ndx
57
 
58
  that the git directory is really clean  (and remove extraneous files
59
  if necessary).
60
 
61
. Say `make  dist' in both the  freetype2 and freetype2-demos  modules
62
  to generate the .tar.gz, .tar.bz2, and .zip files.
63
 
64
. Create     the     doc    bundles    (freetype-doc-.tar.gz,
65
  freetype-doc-.tar.bz2,    ftdoc.zip).    This   is
66
  everything below
67
 
68
    freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/
69
 
70
  except the `reference' subdirectory.   Do *not* use option `-l' from
71
  zip!
72
 
73
. Run the following script (with updated `$VERSION', `$SAVANNAH_USER',
74
  and $SOURCEFORGE_USER  variables) to sign and upload the  bundles to
75
  both Savannah and SourceForge.  The signing code has been taken from
76
  the `gnupload' script (part of the automake bundle).
77
 
78
    #!/bin/sh
79
 
80
    VERSION=2.4.8
81
    SAVANNAH_USER=wl
82
    SOURCEFORGE_USER=wlemb
83
 
84
    #####################################################################
85
 
86
    GPG='/usr/bin/gpg --batch --no-tty'
87
 
88
    version=`echo $VERSION | sed "s/\\.//g"`
89
 
90
    FREETYPE_PACKAGES="freetype-$VERSION.tar.gz \
91
                       freetype-$VERSION.tar.bz2 \
92
                       ft$version.zip"
93
    FT2DEMOS_PACKAGES="ft2demos-$VERSION.tar.gz \
94
                       ft2demos-$VERSION.tar.bz2 \
95
                       ftdmo$version.zip"
96
    FTDOC_PACKAGES="freetype-doc-$VERSION.tar.gz \
97
                    freetype-doc-$VERSION.tar.bz2 \
98
                    ftdoc$version.zip"
99
 
100
    PACKAGE_LIST="$FREETYPE_PACKAGES \
101
                  $FT2DEMOS_PACKAGES \
102
                  $FTDOC_PACKAGES"
103
 
104
    set -e
105
    unset passphrase
106
 
107
    PATH=/empty echo -n "Enter GPG passphrase: "
108
    stty -echo
109
    read -r passphrase
110
    stty echo
111
    echo
112
 
113
    for f in $PACKAGE_LIST; do
114
      if test ! -f $f; then
115
        echo "$0: Cannot find \`$f'" 1>&2
116
        exit 1
117
      else
118
        :
119
      fi
120
    done
121
 
122
    for f in $PACKAGE_LIST; do
123
      echo "Signing $f..."
124
      rm -f $f.sig
125
      echo $passphrase | $GPG --passphrase-fd 0 -ba -o $f.sig $f
126
    done
127
 
128
    FREETYPE_SIGNATURES=
129
    for i in $FREETYPE_PACKAGES; do
130
      FREETYPE_SIGNATURES="$FREETYPE_SIGNATURES $i.sig"
131
    done
132
 
133
    FT2DEMOS_SIGNATURES=
134
    for i in $FT2DEMOS_PACKAGES; do
135
      FT2DEMOS_SIGNATURES="$FT2DEMOS_SIGNATURES $i.sig"
136
    done
137
 
138
    FTDOC_SIGNATURES=
139
    for i in $FTDOC_PACKAGES; do
140
      FTDOC_SIGNATURES="$FTDOC_SIGNATURES $i.sig"
141
    done
142
 
143
    SIGNATURE_LIST="$FREETYPE_SIGNATURES \
144
                    $FT2DEMOS_SIGNATURES \
145
                    $FTDOC_SIGNATURES"
146
 
147
    scp $PACKAGE_LIST $SIGNATURE_LIST \
148
      $SAVANNAH_USER@dl.sv.nongnu.org:/releases/freetype/
149
 
150
    rsync -avP -e ssh $FREETYPE_PACKAGES $FREETYPE_SIGNATURES \
151
      $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
152
    rsync -avP -e ssh $FT2DEMOS_PACKAGES $FT2DEMOS_SIGNATURES \
153
      $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-demos/$VERSION/
154
    rsync -avP -e ssh $FTDOC_PACKAGES $FTDOC_SIGNATURES \
155
      $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype-docs/$VERSION/
156
 
157
    # EOF
158
 
159
. Prepare a  README for SourceForge  and upload it  with the following
160
  script (with updated `$VERSION' and $SOURCEFORGE_USER variables).
161
 
162
    #!/bin/sh
163
 
164
    VERSION=2.4.8
165
    SOURCEFORGE_USER=wlemb
166
 
167
    #####################################################################
168
 
169
    rsync -avP -e ssh README \
170
      $SOURCEFORGE_USER,freetype@frs.sf.net:/home/frs/project/f/fr/freetype/freetype2/$VERSION/
171
 
172
    # EOF
173
 
174
. On   SourceForge,   tag   the   just   uploaded   `ftXXXX.zip'   and
175
  `freetype-XXX.tar.bz2'  files as the  default files to  download for
176
  `Windows' and `Others', respectively.
177
 
178
. Copy the reference files (generated by `make dist') to
179
 
180
    freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/freetype2/docs/reference
181
 
182
  and
183
 
184
    shell.sf.net:/home/groups/f/fr/freetype/htdocs/freetype2/docs/reference
185
 
186
  TODO: Create  FreeType  home  page  CVS  on savannah.nongnu.org  and
187
        update it accordingly.
188
 
189
        Write script to automatically do this.
190
 
191
        Mirror FreeType's savannah home page everywhere.
192
 
193
. Update
194
 
195
    freetype.freedesktop.org:/srv/freetype.freedesktop.org/www/index2.html
196
 
197
  and copy it to
198
 
199
    shell.sf.net:/home/groups/f/fr/freetype/htdocs/index2.html
200
 
201
. Announce new release on freetype-announce@nongnu.org and to relevant
202
  newsgroups.
203
 
204
----------------------------------------------------------------------
205
 
206
Copyright 2003, 2005-2007, 2009, 2011-2012 by
207
David Turner, Robert Wilhelm, and Werner Lemberg.
208
 
209
This  file is  part of  the FreeType  project, and  may only  be used,
210
modified,  and distributed  under the  terms of  the  FreeType project
211
license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
212
this file you  indicate that you have read  the license and understand
213
and accept it fully.
214
 
215
 
216
--- end of release ---