Tcl Library Source Code

Documentation
Login
Bounty program for improvements to Tcl and certain Tcl packages.
Tcl 2019 Conference, Houston/TX, US, Nov 4-8
Send your abstracts to [email protected]
or submit via the online form by Sep 9.


[ Main Table Of Contents | Table Of Contents | Keyword Index | Categories | Modules | Applications ]

NAME

tcllib_releasemgr - Tcllib - The Release Manager's Guide

Table Of Contents

DESCRIPTION

Welcome to Tcllib, the Tcl Standard Library. Note that Tcllib is not a package itself. It is a collection of (semi-independent) Tcl packages that provide utility functions useful to a large collection of Tcl programmers.

The audience of this document is the release manager for Tcllib, their deputies, and anybody else interested in the task of creating an official release of Tcllib for distribution.

Please read Tcllib - How To Get The Sources first, if that was not done already. Here we assume that the sources are already available in a directory of your choice.

Tools

The "sak.tcl" script in the toplevel directory of a Tcllib checkout is the one tool used by the release manager to perform its Tasks.

The main commands to be used are

sak.tcl validate
sak.tcl test run
sak.tcl review
sak.tcl readme
sak.tcl localdoc
sak.tcl release

More detail will be provided in the explanations of the various Tasks.

Tasks

Start a release candidate

todo: open a candidate for release

Ready the candidate

todo: test, validate and check that the candidate is worthy of release fix testsuites, possibly fix packages, documentation regenerate docs coordinate with package maintainers wrt fixes big thing: going over the packages, classify changes since last release to generate a nice readme.

Make it official

todo: finalize release, make candidate official

Distribute the release

With the release made it has to be published and the world notified of its existence.

  1. Create a proper fossil event for the release, via http://core.tcl-lang.org/tcllib/eventedit.

    An existing event should be used as template.

  2. Update a number of web locations:

    1. Home page
    2. Downloads
    3. Past Releases
    4. http://www.tcl-lang.org/home/release.txt
    5. http://www.tcl-lang.org/software/tcllib/*.tml
    6. http://wiki.tcl-lang.org/page/Tcllib

    The first location maps to the file "embedded/index.md" in the repository itself, as such it can edited as part of the release process. This is where reference to the new fossil event is added, as the new current release.

    The next two locations are in the fossil tcllib wiki and require admin or wiki write permissions for http://core.tcl-lang.org/tcllib.

    The last two locations require ssh access to http://www.tcl-lang.org and permission to edit files in the web area.

  3. ***TODO*** mailing lists and other places to send notes to.