There are a number of utilities used to build and install the Science Pipelines stack.  As we move to a more conda-based environment, we need to understand their roles and whether any additional utilities are needed.

Current Utilities


newinstall

  • Goal: from system prerequisites, get to a point where packages can be eups distrib installed.
  • Future: install miniconda; then conda install eups
  • Need something to install environments
  • newinstall does not do environment installation: newinstall + envconfig -t w_2020_13

envconfig

  • Goal: select environment for stack
  • Create new environment if it doesn't exist (with -t)
  • Create new stack if environment changes

lsstsw deploy

  • Goal: from system prerequisites, get to a point where packages can be built from clones

lsstsw rebuild

  • Goal: set up environment, lsst-build prepare, lsst-build build, publish results [can be removed except for Jenkins]
  • Builds package and all dependencies
  • Uses lsst-build

lsst-build

  • Goal: clone and build package and all dependencies
  • Uses eupspkg

eupspkg

  • Goal: build a particular package from source

Shared stack builder

  • Goal: install a new release into the shared stack (also tooling to create a new shared stack?)

Use Cases

Brand new installation

  • newinstall (if you have your own conda, then conda install -c conda-forge lsstinstall)
  • source loadLSST.bash to activate conda
  • lsstinstall -t weekly product
    • envinstall -t weekly (looks up environment hash/label for the tag, installs that environment)
    • source envconfig label
    • eups distrib install -t weekly product
    • echo envconfig label

New shell

  • source conda/bin/activate (could be in loadLSST.bash)
  • envconfig label
  • setup whatever

Developer



  • No labels