6 This documents what is
done to create a gerbv release. The releases now
7 are
done by branching the sources
, fixing up the release version number
8 in the branch and
then tagging the release branch sources. The motivation
9 for a branch rather than a tag is to
make it easier to deal with setting
10 the release version number
in the documentation
, distfile
, and the
13 Note that the gyrations with maintainer-clean and another build are to
14 be sure that all the correct versions numbers end up
in the files.
16 After following the steps below
,
17 upload the
'gerbv-$VERSION.tar.gz' file to the sourceforge
file release system
20 To
make a gerbv release
do the following
:
22 =) Review the BUGS
file and
make sure it is up to
date.
24 =) # make sure it builds and makes distfiles ok:
26 .
/configure
--enable-maintainer-mode
27 gmake maintainer-clean
34 =) Read the section
in src
/Makefile.am about the shared library versioning
35 and
make sure we have
done the right thing. Check
in src
/Makefile.am
36 if needed. This is critical. The version
*will
* change with every release
37 if *any
* changes have been made to the sources
for libgerbv. src
/Makefile.am
38 has specific rules
for how the versioning works.
40 =) update the NEWS
file with some
sort of release notes.
43 =) if there were any new developers added
then update the
46 =) update the ChangeLog with
'cvs2cl.pl'. Check
in changes.
47 .
/utils
/cvs2cl.pl
-U .
/utils
/umap
49 =) if this is a major release
, then tag and branch
:
51 1. Tag the base of the release branch
52 cvs tag gerbv-2-0-base
54 2. Create the release branch
55 cvs tag
-R -b -r gerbv-2-0-base gerbv-2-0
57 3. On the trunk
, update configure.ac to update the version.
58 The rules
for versioning is that we append uppercase
59 letters to the branch version.
61 for example
2.0A after creating the gerbv-2-0 branch
66 4. On the release branch
, update configure.ac to update the
67 version. On a new branch
, add a
0RC1 to the teeny number.
70 cvs update
-PdA -r gerbv-2-0
74 4a.Ask users to
test the branch.
76 5. When the release branch is ready to go
, update configure.ac to
77 set the final release version. The first version from a
78 branch has
0 for the teeny version. For example
, 2.0.0.
80 cvs update
-PdA -r gerbv-2-0
83 cvs tag
-R -r gerbv-2-0 gerbv-2-0-RELEASE
85 Update the version on the branch to
2.0.1RC1
86 cvs update
-PdA -r gerbv-2-0
90 Update to the tagged released sources and build tarballs
91 cvs update
-PdA -r gerbv-2-0-RELEASE
93 .
/configure
--enable-maintainer-mode
94 gmake maintainer-clean
99 If teeny version bumps are made
for a bug fix
, then the tag name
100 should be gerbv-2-0-PATCH001
for gerbv-2.0
.1,
101 gerbv-2-0-PATCH002
for gerbv-2.0
.2, etc.
105 openssl md5 gerbv-2.0
.0.
tar.gz
> gerbv-2.0
.0.
cksum
106 openssl rmd160 gerbv-2.0
.0.
tar.gz
>> gerbv-2.0
.0.
cksum
107 openssl sha1 gerbv-2.0
.0.
tar.gz
>> gerbv-2.0
.0.
cksum
109 8. Upload the .
tar.gz
, and .
cksum files to
110 ftp://upload.sourceforge.net
/incoming
/
112 9. Create a new
file release
for gerbv with a release name of
113 "gerbv-2.0.0" (for gerbv-2.0
.0).
116 .
tar.gz
- any
/ source .gz
117 .
cksum - Platform Independent
/ Other Source File
119 10. Return to your regularly scheduled trunk development
122 =) if this is a
patch release
(2.0.1 for example
), then simply
123 make desired changes to the branch
:
125 cvs update
-PdA -r gerbv-2-0
129 update the version
for the release
134 cvs tag
-R -r gerbv-2-0 gerbv-2-0-PATCH001
136 update the version on the branch to
2.0.2RC1
141 update to the tagged release sources and build tarballs
142 cvs update
-PdA -r gerbv-2-0-PATCH001
144 .
/configure
--enable-maintainer-mode
145 gmake maintainer-clean