BooNE Code Management

  • What is Code?
  • What isn't Code?

    Why Code Management?

     

     

     

    Code Management Group

    Responsibilities

    1. Suggest tools to collaboration
    2. Become contact person at institution for code management software
    3. Become collaboration's consulting / testing group for new products / procedures suggested as collaboration standards.

    Minimal Code Management Rules

     

    1. Only Unix platforms supported
    2. Code distributed as source code
    3. Code must work on "standard" machine
    4. Each institution is responsible for modifying code to their environment
    5. Each product will have a "contact" person
    6. There will be a small set of "standard" collaboration tools

    UCM vs. CVS - Issues

    Philosophy

    UCM

    CVS

    Code management & more

    • Uvm - code management
    • Uvmbld
    • Guvm - graphics interface
    • Uvmhttp - Net interface
    • Kpp - Preprocessor

    Code Management

    Other "standard" tools for other processes

    Single user development atmosphere

    Concurrent development system

    UCM vs. CVS - Issues

    Security

    UCM

    CVS

    RSH - Standard Support

    SSH - Standard Support

    SSH - Supported

    Kerberos - Available

    Distribution and Installation

    UCM

    CVS

    Fermilab distribution

    GNU distribution

    Needs institution tweaks

    Robust installation

    Needs development

     

    UCM vs. CVS - Issues

    Support

    UCM

    CVS

    Author is collaborator

    We're on our own !!!

    Fermilab community

    Large user community

    Helpdesk somewhat knowledgeable

     

    Progress

    Phonebook

    Maillist Procedures

    setenv CVSROOT name@hecate.fnal.gov:/cvsroot/boone

    # from the Lab E cluster, just /cvsroot/boone

    cvs checkout maillist

    # must be able to log into hecate without a

    # password

    cd maillist

    make #makes a tex phone list and an alias list

    directory #gui for phone list

    # assumes /user/local/wish

    # ---- or ----

    wish -f directory #if binary is elsewhere

    # Presently working on hecate

    set path=(~randy/boone/software/ucm/bin $path)

    rehash

    # puts uvm in your path

    mkdir maillist

    cd maillist

    uvm fetch /cvsroot/ucm/maillist

    make #makes a tex phone list and an alias list

    directory #gui for phone list

    # assumes /user/local/wish

    # ---- or ----

    wish -f directory #if binary is elsewhere