#!/bin/sh # # $Id: README.snapshots,v 1.1 2005/12/18 00:11:31 dj Exp $ # This documents what is done to create a pcb release. The releases now are done by branching the sources, fixing up the release version number in the branch and then tagging the release branch sources. The motivation for a branch rather than a tag is to make it easier to deal with setting the snapshot version number in the documentation, distfile, and the about dialog box. After following the steps below, upload the 'pcb-$VERSION.tar.gz' file to the sourceforge file release system To make a pcb release do the following: =) # make sure it makes distfiles ok: gmake distclean ; ./autogen.sh && ./configure && gmake distcheck =) cvs ci =) update the ChangeLog with 'cvs2cl.pl'. Check in changes =) update the NEWS file with some sort of release notes summary. Check in changes =) if this is a major release, then tag and branch: 1. Tag the base of the release branch cvs tag pcb-20040530-base 2. Create the release branch cvs tag -R -b -r pcb-20040530-base pcb-20040530 3. FIX_ME [fix up this step. what shall we do with the version on the trunk?] On the trunk, update configure.ac to update the version for example 1.99x after releasing 1.99w cvs update -PdA vi configure.ac cvs ci configure.ac 4. On the release branch, update configure.ac to update the version for example 20040530_ALPHA. Now pre-release snapshots can be made. cvs update -PdA -r pcb-20040530 5. If desired tag an alpha release: cvs update -PdA -r pcb-20040530 ./autogen.sh cvs tag -R -r pcb-20040530 pcb-20040530-ALPHA cvs update -PdA -r pcb-20040530-ALPHA ./autogen.sh && ./configure && gmake distcheck 6. When the release branch is ready to go, update configure.ac to set the final release version. Then tag the release. cvs update -PdA -r pcb-20040530 vi configure.ac cvs ci configure.ac ./autogen.sh cvs ci cvs tag -R -r pcb-20040530 pcb-20040530-RELEASE cvs update -PdA -r pcb-20040530-RELEASE ./autogen.sh && gmake distcheck 7. Return to your regularly scheduled trunk development cvs update -PdA =) if this is a patch release, then simply make desired changes to the branch, and ./autogen.sh cvs ci cvs tag -R -r pcb-20040530 pcb-20040530-PATCH001 =) gmake distclean ; ./autogen.sh && gmake distcheck