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. This is by no means an all or nothing process; we can choose which externals to convert when. We could start with externals used in ScienceTools since ScienceTools developers are the ones inconvenienced by the current arrangement. Both build systems can handle a mixed collection of externals.

Steps towards this aim are described below.

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.

Externals used in ScienceTools are indicated below. 

Name

Versions

OSes

CLHEP

1.9.2.2
2.1.0.1

rhel4-32, vc71
all

Fred

v0r100p2

rhel4-32, vc71

LDF

v07-01-01

rhel4-32, vc71

OmniOrb

 

rhel4-32, vc71

ROOT

v5.26.00a-gl4

 

TMineExt

 

 

ape

2.6

all

cfitsio

v3060A
v3060A-gl1

all
all but win

cppunit

1.10.2

all

f2c

3.4-gl3
3.4-gl2

snow leopard
the rest

fftw

3.1.2

all

fox

1.4.34-gl1

rhel4-32, vc71

fsw

 

rhel4-32, vc71

gaudi

v18r1-gl4
v21r7-gl1

 

geant4

9.4.p01-gl1
9.4.p01

vc71

mysql

4.1.18
5.1.39

all

obf

 

rhel4-32, vc71

python

2.5.1-gl1
2.6.5
2.7

rhel4-32, vc71
rhel4-64
others

swig

1.3.31

all

xerces

2.8.0
2.8.0-gl1

vc71
vc90, mac, rhel*

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.  Update each of the IExternal/<External> requirements files.  Potentially also requires an update to the IExternal requirements file for those externals shared between GR and ST.

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.  Create tarballs and copy into u05 area for use by the installer.

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 Installler.

  • No labels