The D0 run II software is divided into packages which correspond to CVS modules. The typical procedure for software development is to check out one or more modules in a local release area and then modify and test there before committing the changes.
See "Local release" for instructions on creating a local release area.
All the following commands are issued from the local release directory.
A software package is checked out (copied to the local release area) with the addpkg command. For example, if the package is gtr_find, use the command
addpkg -h gtr_findThe flag -h requests the head (most recent) version of the package. This is the branch used for normal development.
Or you can explicitly specify a particular version. For example to check out version v00-20-01 of the above package, use
addpkg gtr_find v00-20-01
If the -h qualifier and the version name are omitted, you will get the version included in the current release:
addpkg gtr_findIf you are fixing a production release, then you will be expected to put any fixes on the head of the branch for that release. For example
addpkg gtr_find preco03-br
After any of these commands are issued, you will find a new subdirectory with the same name as the package (gtr_find in the above examples) containing the files for that package. You may modify it and then rebuild in your local release area.
There are many steps involved in building and testing a package. You build using the gmake command possible with arguments. The simplest way to do everything is with the following
> gmake > gmake testThe bare gmake command triggers the build of all precompilation targets (code generation, D0OM generation and include dependencies), libraries and executables. The command with the test argument build and runs all tests.
In principle, dependencies are built into the system and after you make changes and rebuild, only affected components are rebuilt. In practice, the assesment and implementation of such dependencies is quite difficult and many are missing or incorrect. The clean target
> gmake cleancan be used to clean up so you can start the build from scratch.