# Guide to the creation of source releases for Tcllib

## Recap

| The CVS repository for Tcllib contains two main branches, the HEAD for development, and RELEASES as the staging area for official releases.

## Dependencies

Tcllib currently depends on the configuration files in the TclPro project.

## Creation of a new official release

To create a new official release of Tcllib the release manager has to perform the steps described below:

1. Retrieve the sources at the current head of the branch RELEASES from the CVS repository, using a command like

       	  CVSROOT=:pserver:anonymous@cvs.tcllib.sourceforge.net:/cvsroot/tcllib
       	  cvs -d${CVSROOT} co -r RELEASES tcllib

   Vary this command according to taste as long as the overall meaning is not changed. Compression options and the like.
2. Tag these sources with a new branch tag for the new release of tcllib, like

       	  cvs -d${CVSROOT} rtag tcllib

3. Commit the changes, then update the working directory.
4. Retrieve the sources of the config module in the tclpro project at SourceForge (see above, dependencies) and copy it, the config directory, into the toplevel directory of tcllib.
5. Configure tcllib, using either a separate build directory, or the toplevel directory as the build directory.
6. Execute make dist while in the build directory.
7. Now follow the instructions in the Sourceforge site documentation for uploading the archives generated by the last step to ftp://upload.sourceforge.net/incoming, and follow the procedures for creating packages and releases at Sourceforge.

At last notify the relevant persons in other communities like Debian (See list of contacts) about the new release.