mrb v1_00_00 Release Notes

Changes in functionality

  • The command to establish the build environment is now "mrbsetenv".
  • The command to setup all local products is now "mrbslp".
  • These commands are aliases, which translate as "source $MRB_DIR/bin/mrbSetEnv" and "source $MRB_DIR/bin/setup_local_products".
  • mrb will report an error if you use the old syntax of "source mrb setEnv" or "source mrb setup_local_products".

Shell support

  • mrb now works for bash, zsh, and tcsh
  • zsh support also requires ups v5_0_1

Important caveats

  • When sourcing a setup script from a tcsh script, there is no way for tcsh to determine where that setup script actually resides.
  • This creates problems for localProductsXXX/setup and for the ups setups and setup scripts.
  • localProductsXXX/setup
  • This iteration of localProductsXXX/setup includes a path to itself and is not relocatable.
  • Under normal development, we expect users to create new localProductsXXX areas, not copy existing localProductsXXX areas. However, it should be possible to copy a localProductsXXX area for use on the grid. For that use case, you do not need the extra mrb definitions, and can just use the ups setup script.
  • We will fix localProuctsXXX/setup using some of the logic in the ups setups script.
  • ups
  • The ups setups script embeds a path to itself. This path is used as a last resort when setups cannot determine where it lives in any other way.
  • For this reason, if you download and unwind the ups tarball, you should immediately source /full/path/to/setups. This will set the correct path.
  • pullProductsLAr will do this for you.

Other improvements

  • mrb newProduct now creates a product which will depend on MRB_PROJECT with version and base qualifiers as specified in localProductsXXX/setup.
  • it is still advisable to check ups/product_deps