Software management at Fermilab
R. M. Harris · University of North Texas Digital Library (University of North Texas) · 1998
We describe the structure and performance of a software management system in wide use at Fermilab. The system provides software version control with Con- current Versions System (CVS) con#12;gured in a client-server mode. Management and building of software is provided by Software Release Tools (SoftRelTools) originally developed by the BaBar collaboration. Support for SoftRelTools, the heart of the system, is organized by the Fermilab computing division in close communication with the end users: CDF, D0, BTeV and CMS. Unix Product Support (UPS) is used to initialize environmental variables for multiple versions of software on multiple platforms. Distribution of frozen releases is currently handled by internally developed scripts, but will soon be performed by Unix Product Distribution (UPD). At CDF the development version of the software is also distributed daily and built in place on 18 di#11;erent machines, with new machines added weekly. Although primarily intended for UNIX platforms, in- cluding Linux, the system is also supported for Windows NT by D0. This system handles the version control, management, building, and distri- bution of code written in Fortran, C, and C++. A single executable can call routines written in all three languages. A distinguishing feature of the system is its ability to allow rapid asynchronous development of package versions, which can be easily integrated into complete consistent releases of the entire o#15;ine software. Daily rebuilds of all the software, along with automatic mailings of build errors to developers, test robustness and allow speedy integration. This system has been used since January 1997 by CDF, D0 and BTeV for the development and release of software for the next run of the Tevatron Collider. At CDF it has been used by roughly 30 developers to make over a dozen frozen releases of a million lines of software. D0's use is similar to CDF, and the system is just beginning to be used by CMS. The cooperative maintenance and management of SoftRelTools, led by the Fermilab computing division with the active participation of CDF, D0, BTeV and CMS, is discussed as a model for the sharing of common tools in High Energy Physics.