CMT

This configuration management environment, based on some management conventions and comprising several shell-based utilities, is an attempt to formalize software production and especially configuration management around a package-oriented principle.

The notion of packages represents hereafter a set of software components (that may be applications, libraries, tools etc...) that are to be used for producing a system or a framework. In such an environment, several persons are assumed to participate in the development and the components themselves are either independent or related to each other.

The environment provides conventions (for naming packages, files, directories and for addressing them) and tools for automating as much as possible the implementation of these conventions. It permits to describe the configuration requirements and automatically deduce from the description the effective set of configuration parameters needed to operate the packages (typically for building them or using them).


Project management

CMT is an academic project aimed at providing support to the software developments in the context of large physics experiments. It is supported by the LAL (Laboratoire de l'Accélérateur Linéaire - CNRS), where a support team has been setup:

Christian Arnault
Bruno Mansoux
Antoine Pérus

This project is managed in an OpenSource-like style, with available sources, and is opened to any contribution from anybody. Although it is currently used by Physics experiments, it is strongly required to stay experiment neutral, and this requirements is fully endorsed in its internal design (eg by ensuring that all possible customizations can always be performed without modifications to the kernel).

This kind of requirements also implies that portability or modularity issues (including environment independance) are assigned a quite high priority.


Available documentation

document (html)
ps
pdf
ppt
CMT manual
x
x
CMT FAQ
x
x
Doxygen manual
CMT slides
x
CMT slides presented at CHEP2000
x
Slides on the development model
x
x
A CMT tutorial
x
x
Another CMT tutorial
x
x

The open discussion on CMT

A mailing list is setup for managing an open discussion on CMT, receiving requests, comments suggestions, bug reports, etc...

You're welcome to subscribe to this list here or by sending a message with topic "subscribe CMT-L <your name>" to LISTSERV@IN2P3.FR.


The Web access to the main CVS repository of CMT

The CVS repository for CMT is now accessible through CVSWeb here !!

Dowloading CMT

The current stable main version of CMT is v1r10. However patched versions can be also produced (fixing bugs or providing backward compatible improvements). Users are welcome to try these new versions when they appear (and report from their experience), although they must be considered as less stable than the main current version.

Please notice that (at least from v1r6) the odd version numbers must be considered as development or patched versions (and as such are somewhat unstable), and they may be updated from time to time. Whenever such a development version comes to the point it can be stabilized, it will be renamed to the next even number. As soon as a new frozen version is installed, the intermediate patches are removed, and new development versions may be proposed (eg. under the name v1r<n+1>p<date>).

For each of the following tags, you'll find a distribution kit for the sources and (for the latest ones) some prepared binary files.

In order to download the distribution kit, select a root directory where CMT will be installed. Create there a directory named CMT and un-tar all the kits you have selected below from this directory:

> cd <some root>
> uncompress CMTv1r10.tar.Z
> tar xvf CMTv1r10.tar
	

If you wish to build CMT on other plateforms, you just need a C++ compiler (supporting templates - STL is not needed) and a bash-like shell.


Installing and using CMT

Once the distribution kit is downloaded, and untarred, resulting in a directory structure like:

<some root>/CMT/v1r10/...
	
you have to perform the installation by running:
unix> cd <some root>/CMT/v1r10/mgr
unix> ./INSTALL
unix> source setup.[c]sh
unix> [g]make

  or

dos> cd <some root>\CMT\v1r10\mgr
dos> call INSTALL.bat
dos> call setup.bat
dos> nmake /f nmake
	
Then CMT is installed, and anybody may use CMT simply by doing:
unix-csh> source <some root>/CMT/v1r10/mgr/setup.csh

  or

unix-sh> . <some root>/CMT/v1r10/mgr/setup.sh

  or

dos> call <some root>\CMT\v1r10\mgr\setup.bat
	

Installing and using CMT on Windows

Some of the global configuration parameters for CMT may optionally be installed as Windows registry entries (although the environment variables style of definitions is fully supported). This can be done using the install.exe facility available from the download page or using the standard RegEdit facility :


Christian Arnault

Last modified: Wed Jun 2 17:56:32 MET DST