/
KROOT

KROOT

Typically, core instrument software is located in "kroot" which is usually located or linked at /kroot on the instrument computers. All the "released" (compiled) code specific to the instrument is there. There are exceptions however, some instruments have scripts in the bin directory on the eng account or sometimes another account. A few scripts common to multiple instruments may be located on a shared directory in /sol/apps/kroot/summit/instr/bin (or other symlinked names).

The released code will typically be in /kroot/rel and its subdirectories. Where source code lives can vary from instrument to instrument. One pattern which exists is to have either (or both) dev and bld accounts which have their own kroot (typically in their home directories) and which have a src subdirectory under that kroot. When the software is "released", the new code in the src directory is compiled (if necessary) and then copied to the /kroot/rel directory which all account see.

There is variation in the release process, but the basic ideas described here should help you begin to navigate the source code.

Current Standard Linux Release Example (OSIRIS), aka a “kroot-style” release

  1. login osrsbld@vm-osirisbuild

  2. cd /kroot/src/ (this is the basedir for SVN)

  3. go to desired directory (e.g. kss/osiris/scripts/ao, fvwm2)

  4. run svn status or *svn status --show-updates to ensure your directory is up to date

    1. if your directory is not up to date...make it up to date

  5. cp/modify your new/modified software into the current directory or edit in place

  6. commit your changes to SVN

  7. if you added software or are updating VERNUM, edit Makefile

  8. commit your changes to SVN

  9. run make [-n] install (the optional -n option will only print to screen; run before make install to see what you'll get)

  10. run kdeploy -a [dir] (where [dir] is the desired directory listed above)

Release Example for “EPICS-style” release (e.g. AO)

  1. login aobld@k1aobuild

  2. cd /kroot/src/ (this is the basedir for SVN)

  3. go to desired directory (e.g. kss/ao/idl/1-0-2/src)

  4. run svn status or *svn status --show-updates to ensure your directory is up to date

    1. if your directory is not up to date...make it up to date (or at least know why you are NOT making it up to date

  5. cp/modify your new/modified software into the current directory or edit in place

  6. commit your changes to SVN (or not)

  7. run make [-n] (N.B. the lack of “install”; the optional -n option will only print to screen; run before make to see what you'll get)

  8. run kdeploy -a rel/ao/idl/1-0-2 (N.B. you release from “rel”)