Apr 1, 2000
Use of a Configuration Management Tool in LHCb Software
The currently maintained LHCb software comprises some legacy code, a set of
packages written in Fortran, a new Framework written in C++ (GAUDI), as well
as many 3rd party packages. A process for managing the physical organisation
of packages and their interdependencies has been developed that takes into
account the collaborative and distributed nature of the development team.
A major requirement has been the ability to allow packages with dependencies
to other packages to evolve at different speeds, such that developers might
release their packages at any time without disturbing the main line.
The software is managed in a CVS repository and a configuration management
tool (CMT by C.Arnault/LAL) has been employed for managing new releases.
This tool enables users to generate makefiles in view of building libraries
and applications from packages residing in their working area, in the release
area or in an external area. The tool also permits the librarian to make
public releases on various platforms, including various UNIX flavours and NT.
This paper describes the physical organisation of LHCb software packages and
summarises our experience with CVS and CMT.