1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
|
#------------------------------------------------------------------------------
# SourceForge
#
This project is stored on SourceForge as http://sf.net/projects/shunit2. The
source code can be accessed using the following information.
* Subversion
$ svn co https://shunit2.svn.sourceforge.net/svnroot/shunit2/trunk/source shunit2
Subversion may also be browsed via a web browser at
http://svn.sourceforge.net/shunit2
#------------------------------------------------------------------------------
# Making a release
#
For these steps, it is assumed we are working with release 2.0.0.
Steps:
* write release notes
* update version
* finish changelog
* check all the code in
* tag the release
* export the release
* create tarball
* md5sum the tarball and sign with gpg
* update website
* post to SourceForge and Freshmeat
WRITE RELEASE NOTES
This should be pretty self explainatory. Use one of the release notes from a
previous release as an example.
To get the versions of the various shells, do the following:
Cygwin
bash: $ bash --version
ksh: actually pdksh
pdksh: look in the downloaded Cygwin directory
Linux
bash: $ bash --version
dash: look at installed version
ksh: $ ksh --version
pdksh: $ strings /bin/pdksh |grep 'PD KSH'
zsh: $ zsh --version
Solaris 10
sh: not possible
bash: $ bash --version
ksh: $ strings /usr/bin/ksh |grep 'Version'
UPDATE VERSION
Edit the shunit2 source code, and change the version number in the comment, as
well as in the __SHUNIT_VERSION variable. Next, edit the
src/docbook/shunit2.xml file, edit the version in the <title> element, and make
sure there is a revision section for this release.
FINISH DOCUMENTATION
Make sure that any remaning changes get put into the CHANGES-X.X.txt file.
Finish writing the RELEASE_NOTES-X.X.X.txt. Once it is finished, run it through
the 'fmt' command to make it pretty.
$ fmt -w 80 RELEASE_NOTES-2.0.0.txt >RELEASE_NOTES-2.0.0.txt.new
$ mv RELEASE_NOTES-2.0.0.txt.new RELEASE_NOTES-2.0.0.txt
We want to have an up-to-date version of the documentation in the release, so
we'd better build it.
$ pwd
.../shunit2/source/2.0
$ make docs
...
$ cp -p build/shunit2.html doc
$ svn ci -m "" doc/shunit2.html
CHECK IN ALL THE CODE
This step is pretty self-explainatory
TAG THE RELEASE
$ pwd
.../shunit2/source
$ ls
2.0 2.1
$ svn cp -m "Release 2.0.0" \
2.0 https://shunit2.svn.sourceforge.net/svnroot/shunit2/tags/source/2.0.0
EXPORT THE RELEASE
$ pwd
.../shunit2/builds
$ svn export \
https://shunit2.svn.sourceforge.net/svnroot/shunit2/tags/source/2.0.0 \
shunit2-2.0.0
CREATE TARBALL
$ tar cfz ../releases/shunit2-2.0.0.tgz shunit2-2.0.0
MD5SUM THE TARBALL AND SIGN WITH GPG
$ cd ../releases
$ md5sum shunit2-2.0.0.tgz >shunit2-2.0.0.tgz.md5
$ gpg --default-key kate.ward@forestent.com --detach-sign shunit2-2.0.0.tgz
UPDATE WEBSITE
Again, pretty self-explainatory. Make sure to copy the MD5 and GPG signature
files. Once that is done, make sure to tag the website so we can go back in
time if needed.
$ pwd
.../shunit2
$ ls
source website
$ svn cp -m "Release 2.0.0" \
website https://shunit2.svn.sourceforge.net/svnroot/shunit2/tags/website/20060916
Now, update the website. It too is held in Subversion, so ssh into SourceForge
and use 'svn up' to grab the latest version.
POST TO SOURCEFORGE AND FRESHMEAT
http://sourceforge.net/projects/shunit2/
http://freshmeat.net/
#------------------------------------------------------------------------------
# Related documentation
#
Docbook XML
docbook-xml-4.4.zip
http://www.docbook.org/xml/4.4/docbook-xml-4.4.zip
http://www.oasis-open.org/docbook/xml/4.4/docbook-xml-4.4.zip
docbook-xml-4.5.zip
http://www.docbook.org/xml/4.5/docbook-xml-4.5.zip
Docbook XSL
docbook-xsl-1.71.0.tar.bz2
http://prdownloads.sourceforge.net/docbook/docbook-xsl-1.71.0.tar.bz2?download
docbook-xsl-1.71.1.tar.bz2
http://downloads.sourceforge.net/docbook/docbook-xsl-1.71.1.tar.bz2?use_mirror=puzzle
JUnit
http://www.junit.org
$Revision$
|