next up previous contents
Next: Other Reference Material Up: Introduction Previous: Introduction   Contents


What is SRT

Software systems at Fermilab, such as the offline analysis code for a Run II experiment, have grown into large coding efforts involving hundreds of thousands of lines of code developed and maintained by scores of programmers worldwide. These efforts present real challenges in coordinating the builds of known sets of code into a cohesive entity can be delivered to developers who want to work on smaller pieces of code and to end users who want to use stable, working versions.

SRT is a toolset for managing these large software projects, releases, that consists of smaller units, packages, which can be developed in parallel by a diverse programming community. It allows individual developers to work on their package independently of the ongoing work in other packages, and to update the whole project when they are satisfied with their modifications. In this way, the developer is responsible for the management of his individual package, while the release librarian is responsible for management of the all the packages as a whole. This document is geared for developers.

SRT at Fermilab is based on a version developed at SLAC for BaBar , but has undergone a major rewrite here at Fermilab. Underneath, it uses CVS for software version control. The average user should have a basic understanding of overview of CVS commands. See the CVS Appendix  A for more detail. SRT uses gmake for building/compiling packages and specifying dependencies. In general, users need not understand the details of the makefiles, but may when adding new packages to the release structure or if more advanced funtionality is needed. See the Makefile Appendix for more detail  D.


next up previous contents
Next: Other Reference Material Up: Introduction Previous: Introduction   Contents
Margaret Votava
2001-02-12