Eliminating the "Compiler" path element
Including a subdirectory named after compiler in the path for each external has been a mixed blessing at best. In particular it causes problems for those wishing to build a check-out package with a compiler version not among those used by the Release Manager. We propose to eliminate the compiler element in new RM builds only, to minimize disruption. Steps towards this aim are described below.
This is by no means an all or nothing process. We can choose which externals to convert when. Both build systems can handle a mixed collection of externals.
Create new externals
For each external in active use (CVS head only or also for GR Pass7 branch?) and for each supported operating system, for each version of that external in current use, create a new external version by copying the original external to the new structure. The new external name will have a suffix -glN, where N is the next available number, to distinguish it from the old.
There is no need to convert all externals at once. We could start with externals used in ScienceTools since ScienceTools developers are the ones inconvenienced by the current arrangement.
Name |
Versions |
OSes |
---|---|---|
CLHEP |
1.9.2.2 |
rhel4-32, vc71 |
Fred |
v0r100p2 |
rhel4-32, vc71 |
LDF |
|
rhel4-32, vc71 |
OmniOrb |
|
rhel4-32, vc71 |
ROOT |
v5.26.00a-gl4 |
|
TMineExt |
|
|
ape |
|
|
cfitsio |
|
|
cppunit |
1.10.2 |
all |
f2c |
|
|
fftw |
|
vc71, rhel* |
fox |
1.4.34-gl1 |
rhel4-32, vc71 |
fsw |
|
rhel4-32, vc71 |
gaudi |
|
|
geant4 |
|
rhel4-32, vc71 |
mysql |
|
all |
obf |
|
rhel4-32, vc71 |
python |
2.5.1-gl1 |
rhel4-32, vc71 |
swig |
1.3.31 |
all |
xerces |
2.8.0 |
vc71 |
Create entries in allExternals.scons
Can be done bit by bit. Can be done before or after externals are created. Must tag SConsFiles package before new externals can be used.
Create and tag new requirements files
Only needed for externals used by GlastRelease.
Use new externals
For ScienceTools the final step is to modify ScienceTools-scons/containerSettings/externals.scons. As soon as it looks ok, do the same for GRBAnalysis-scons.
For GlastRelease cmt builds, modify and tag GlastRelease requirements file. For SCons builds, modify GlastRelease-scons/containerSettings/externals.scons.
As soon as the ReleaseManager uses any of the new externals, it will automatically make tarballs for download with the Installer.