shFlags 1.0.x README
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:
- 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.
Making a release
For these steps, it is assumed we are working with release 1.0.0.
- 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
Write Release Notes
This should be pretty self explainatory. Use one of the release notes from a previous release as an example.
src/shflags and change the version number in the
Make sure that any remaning changes get put into the
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
Check In All the Code
This step is pretty self-explainatory
$ pwd .../shflags/source/1.0 $ svn ci -m "finalizing 1.0.0 release"
Tag the 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
Export the Release
$ cd ../builds $ pwd .../shflags/builds $ svn export https://shflags.googlecode.com/svn/tags/1.0.0 shflags-1.0.0
Create the tarball
$ tar cfz ../releases/shflags-1.0.0.tgz shflags-1.0.0
Sign the tarball with gpg
$ cd ../releases $ gpg --default-key firstname.lastname@example.org --detach-sign shflags-1.0.0.tgz
Post the release
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.
Post to the Web
This document is written using the Restructured Text format to make it easily parsable into an HTML file.