* combine recent object property display code with the existing log code,
[geda-gerbv.git] / README-release.txt
blob02716d19b0a0397aa41a0b136fe8b574ce520b7b
1 #!/bin/sh
3 # $Id$
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
11 about dialog box.
13 Note that the gyrations with maintainerclean 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:
23 =) # make sure it builds and makes distfiles ok:
24 ./autogen.sh
25 ./configure --enable-maintainer-mode
26 gmake maintainerclean
27 ./autogen.sh
28 ./configure
29 gmake distcheck
31 =) cvs ci
33 =) Read the section in src/Makefile.am about the shared library versioning
34 and make sure we have done the right thing. Check in src/Makefile.am
35 if needed.
37 =) update the NEWS file with some sort of release notes.
38 Check in changes
40 =) update the ChangeLog with 'cvs2cl.pl'. Check in changes.
41 ./utils/cvs2cl.pl -U ./utils/umap
43 =) if this is a major release, then tag and branch:
45 1. Tag the base of the release branch
46 cvs tag gerbv-2-0-base
48 2. Create the release branch
49 cvs tag -R -b -r gerbv-2-0-base gerbv-2-0
51 3. On the trunk, update configure.ac to update the version
52 for example 2.1a after creating the gerbv-2-0 branch
53 cvs update -PdA
54 vi configure.ac
55 cvs ci configure.ac
57 4. On the release branch, update configure.ac to update the version
58 for example 2.0rc1. Now pre-release snapshots can be made.
59 cvs update -PdA -r gerbv-2-0
60 vi configure.ac
61 cvs ci configure.ac
63 5. If desired tag and create a release candidate:
64 cvs update -PdA -r gerbv-2-0
65 cvs tag -R -r gerbv-2-0 gerbv-2-0-RC1
66 cvs update -PdA -r gerbv-2-0-RC1
67 ./autogen.sh
68 ./configure --enable-maintainer-mode
69 gmake maintainerclean
70 ./autogen.sh
71 ./configure
72 gmake distcheck
74 6. When the release branch is ready to go, update configure.ac to
75 set the final release version. Then tag the release.
76 cvs update -PdA -r gerbv-2-0
77 vi configure.ac
78 cvs ci configure.ac
79 cvs tag -R -r gerbv-2-0 gerbv-2-0-RELEASE
80 cvs update -PdA -r gerbv-2-0-RELEASE
81 ./autogen.sh
82 ./configure --enable-maintainer-mode
83 gmake maintainerclean
84 ./autogen.sh
85 ./configure
86 gmake distcheck
88 If teeny version bumps are made for a bug fix, then the tag name
89 should be something like gerbv-2-0-PATCH001 for gerbv-2.0.1
91 7. Create checksums
93 openssl md5 gerbv-2.0.0.tar.gz > gerbv-2.0.0.cksum
94 openssl rmd160 gerbv-2.0.0.tar.gz >> gerbv-2.0.0.cksum
95 openssl sha1 gerbv-2.0.0.tar.gz >> gerbv-2.0.0.cksum
97 8. Upload the .tar.gz, and .cksum files to
98 ftp://upload.sourceforge.net/incoming/
100 9. Create a new file release for gerbv with a release name of
101 "gerbv-2.0.0" (for gerbv-2.0.0).
103 For file types:
104 .tar.gz - any / source .gz
105 .cksum - Platform Independent / Other Source File
107 10. Return to your regularly scheduled trunk development
108 cvs update -PdA
110 =) if this is a patch release, then simply make desired changes to the branch, and
111 cvs ci
112 cvs tag -R -r gerbv-2-0 gerbv-2-0-PATCH001
113 ./autogen.sh
114 ./configure --enable-maintainer-mode
115 gmake maintainerclean
116 ./autogen.sh
117 ./configure
118 gmake distcheck