Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

We (FOS) use the CHS checkout package to build relocatable RPM's that we install in SLAC AFS space for our various software "platforms".  We use glastpack.pl to extract a suitable source tree from offline CVS, and then build with CMT.
We rely on the RM HEAD and release build processing to perform the regression tests on the event-decoding software portions of CHS.  However, to my knowledge there are no customers of the RM-created CHS build directory hierarchies in NFS.
 

CHS Update 2008-10-24 by Bryson
I've got the CHS package mostly building under SCons. What's missing are three modules from the top level of CVS that are used, I think, by ConfigSystem and nothing else, and don't yet have SConscript files:

  • LATC_vrfy
  • MOOT
  • fswDecipher

Of these, LATC_vrfy looks moderately complicated to convert, since it reaches out heavily into FSW's production CMX instance to find things like the register descriptions.

The core functionality of using DFI from the "fsw" external library to decode event packets into .evt files is working in that it both builds and the resulting system passes the regression test from the CHS/regression package.

Along the way I had to make some modifications to the copy of the Offline SCons "framework" that is committed beneath CHS-scons. Some of these might be useful for converting other packages or extlibs that CHS doesn't use:

  1. external.scons supports lists of directories for the "include-path", "lib-path", and "bin-path" elements of an external library definition. In places where these elements are used to further define scalar quantities (like the "ld-path" elemement) the first entry of the input list is used.
  2. external.scons now supports a "linkflags" element in extlib definitions that can be used to add extlib-specific entries to the LINKFLAGS variable of construction environments. Specifically, the "fsw" extlib uses this feature to pass the "rpath-link" argument to ld so that executables can link successfully against shareables picked up from FSW.
  3. Fixed the processing done by the "includes" argument to the "registerObjects" Tool so that package public-header exports to the central include directory preserve any subdirectory hierarchy. See rdbModel and xmlBase as examples.
  4. Added a new "wrapper_env" argument and associated processing to registerObjects that works with new code in generateScript to allow packages to "publish" environment variables to the wrapper scripts generated for the executables they produce. The "wrapper_env" argument expects a list of ("exe name", {"var":"value",...}) tuples as input. See CHS/regression for an example of how this is used to ensure that FMX_C_FDB and LD_PRELOAD are set correctly for the event-decoding regression test.
  5. Modified generateScript so that if scons is invoked with --with-GLAST-EXT (as it always must be, AFAICT), the user-supplied external-library path is exported as the value of the GLAST_EXT environment variable in the generated wrapper scripts.

Other Items

Tag Collector

Installer
Java installer with command line option

...