How to Release SEAL

LCG Project | LCG Applications Area

SEAL Project | Project Portal

LCG Application Area Workbook

$Date: 2005/03/01 10:11:00 $

This instructions provide a procedure to build a release of SEAL at CERN using SCRAM. These are instructions followed by the SEAL team to build releases.
If these instructions do not work, please update the build scripts or these instructions.

Prepare for the release

[ Note: This page mainly targets SEAL developers for building an official SEAL release. If you are looking for binary releases of SEAL you may find them at the LCG/SPI site. If you are not a SEAL developer and want to build a SEAL release from source you first have to set your CVSROOT to the read-only/anonymous account :pserver:anonymous@seal.cvs.cern.ch:/cvs/SEAL, the password is empty (just hit return). Be also aware that only parts of the remainder of this page apply to you in this case.]

The first step of the release build is to get prepared. This involves announcing the intention to release to the other developers, collecting the CVS tag of all the subsystems (or packages) and tagging the release.

When you plan to make a release, please send a notification to SEAL developers a few days in advance.

Collect then tags for the release and check out the code and the build procedure in your developer's area. Run the integration tests as they would be run in the release. The easiest way to do all this is to build as if in the release area

To tag the release, check out the code you want to go into the release . Normally you should take the full head of configuration and documentation and the received tags for the other subsystems.
Before tagging the release, you need first to update and tag the configuration and to update the documentation. You need to follow these steps: 

cvs co -d scram seal/config/scram
If any non-trivial changes are required to the tag, that is, anything more than moving the tag for one or two files, remove the tag completely (with "cvs rtag -d SEAL_X_Y_Z seal") and retag. If there is any doubt that wrong code has been tagged, always remove the tag completely -- do not patch up!

Build the Release

Build on Unix (Linux or MacOsX)

The script does the following steps:


The build log information and the tests output log are contained in files in the /logs directory :

$RELEASE_ARCH.log and $RELEASE_ARCH-qmtest.log.

In addition the file $RELEASE_ARCH-qmtest-results.qmr can be loaded by qmtest to show the release test results.

Build on Windows

The current windows build is using CMT. Perform the following steps on the Terminal Server (cerntsdev01.cern.ch)

Setup the environment and mirror external packages locally in the terminal server local disk corresponding to LCG_XX toolbox version

%AFS%\cern.ch\sw\lcg\app\spi\tools\latest\setup\lcgspi.bat
lcg-mirror-externals -v XX -o C:\lcg\external

Checkout from CVS and build the release locally

cd C:\Users\SEAL
make_release SEAL_X_Y_Z

Check the log file in C:\Users\SEAL\SEAL_X_Y_Z\logs\win if the built was fine.
Install the release in AFS by copying from local disk

cd C:\Users\SEAL
install_release SEAL_X_Y_Z

Test the release

In case of problems and when you need to apply modifications to the code you need to start over from the beginning.

Install and announcing the release