home and branch do not play well together?

If home is defined, then the repository is cloned. if branch is specified, then that branch should be checked out. not so for sim-recon apparently.

Current behavior is to ignore dirtag, branch, url, and hash if home is defined. If you want to check-out a you need to branch, specify url and branch and not home.

Changed behavior so that dirtag, url, branch, and hash tags show up in the environment if they are defined even if home is defined.


ROOT 6 and sim-recon

Was able to build sim-recon against ROOT 6.06.04 on Lorentz, RHEL7, gcc 4.8.5. Used version_1.21.xml with modified ROOT version. Makefile_root used to build ROOT. Had to modify $BUILD_SCRIPTS/version_defs.pl to accommodate naming convention of root directory changing from using “_” to using “-“.

simultaneous jana version with different ccdbs

  • complicated naming schemes: no good
  • non-parallel directory structures: no good
  • have user make a decision: go this way
    • standard one is standard
    • non-standard one gets a custom name
    • insert custom name in intermediate setup step
    • version checking should still work

Notes on Version Management System

copied from a long running gnote

  • do an eval to put environment definitions into environment, users can invent other schemes if they like
  • version.xml distribution
    • separate data from code repository
    • options:
      • new top level directory in repository
      • web page, distribution directory
      • standard “dist” directory
      • use standard “dist” directory for now
  • need perl-XML-Writer package on RHEL6
  • on lorentz, RHEL6, 64-bit, needed soft link to make libcurl.so in /usr/lib64
  • need the XML/Simple.pm module on jlabl3

Notes on Version Management

  • base it on gluex_top
  • default, not there, prod
  • use it for set-up at first
  • the list of packages is at https://halldweb1.jlab.org/wiki/index.php/Scripts_for_Installing_GlueX_Software
  • philosophy on versions:
    • build philosophy
      • makefiles should respect version numbers in environment
      • if no version specified, use default version, default version is package dependent
      • if version is specified, use it, of course
      • no default versions in makefile
    • directory philosophy
      • use version number if possible
      • if from repository trunk, use “-latest”
      • if multiple versions needed because of multiple dependencies, use combo of directory names
    • setup script philosophy
      • default choices, determined by prod
      • use version.xml as input to a script which calls gluex_env.csh

Current list of makefiles:

  1. xerces-c
  3. ROOT
  4. CLHEP
  5. Geant4
  6. GSL (Gnome Scientific Library)
  7. CCDB
  8. JANA
  9. HDDS
  10. sim-recon