This project is stored on code.google.com as http://code.google.com/p/shflags/. Documentation is available there, as are all releases and source code. The source code is stored in Subversion and can be accessed using the following information.
Browse the code in a web browser:
- http://code.google.com/p/shflags/source/browse
- svn > trunk > source > 1.0
Check out the code locally
$ svn checkout http://shflags.googlecode.com/svn/trunk/ shflags-read-only
Documentation is available on the web at http://code.google.com/p/shflags/wiki/Documentation10x.
For these steps, it is assumed we are working with release 1.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 code.google.com and Freshmeat
This should be pretty self explainatory. Use one of the release notes from a previous release as an example.
Edit src/shflags
and change the version number in the FLAGS_VERSION
variable.
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. (This assumes the lines weren't
already wrapped at 80 chars when the file was edited.)
$ 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 .../shflags/source/1.0 $ rst2html --stylesheet-path=doc/rst2html.css README.txt >README.html
This step is pretty self-explainatory
$ pwd .../shflags/source/1.0 $ svn ci -m "finalizing 1.0.0 release"
$ cd .. $ pwd .../shflags/source $ ls 1.0 $ svn cp -m "Release 1.0.0" 1.0 https://shflags.googlecode.com/svn/tags/1.0.0
$ cd ../builds $ pwd .../shflags/builds $ svn export https://shflags.googlecode.com/svn/tags/1.0.0 shflags-1.0.0
$ tar cfz ../releases/shflags-1.0.0.tgz shflags-1.0.0
$ cd ../releases $ gpg --default-key kate.ward@forestent.com --detach-sign shflags-1.0.0.tgz
To post the release, the ProjectInfo page needs to be updated with the release info (release, date, and MD5), and the release with GPG signature needs to uploaded.
google-gflags: | http://code.google.com/p/google-gflags/ |
---|
This document is written using the Restructured Text format to make it easily parsable into an HTML file.