IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Dec 22, 2004, 1:23:23 PM (22 years ago)
Author:
eugene
Message:

fixing dvomath for strings

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/doc/elixir-cvs.txt

    r2632 r2792  
    5454Ohana scripts.  I have modified sp_plot and el_plot to use 'dvo'
    5555instead.  I have also modified elixir.photreport. 
     56
     57---
     58
     59Working with Elixir / Ohana and CVS:
     60
     61The CVS repositories allows the developer to work on a copy of the
     62Ohana software, make changes to their copy of the code, test the
     63changes within their own version of the Elixir configuration system,
     64share the changes with other developers, and freeze a tested, working
     65snapshot of portions of the software.
     66
     67The Ohana software tree is divided into packages, each possibly
     68containing a single program, a group of related programs, or a C
     69library.  Within the Ohana software version control system, each of
     70these packages should be released as a single entity.  Changes may be
     71made to any of the elements which make up the package.  The new
     72changes should be tested so that the developer is confident that the
     73new version of the software may be safely introduced into the
     74production system.  At this point, the entire package is tagged with
     75an identifying name and the new release of the package may be loaded
     76into the production tree.
     77
     78In the following discussion, we illustrate the process of creating a
     79new release of a package within Elixir.
     80
     81First, check out the Ohana tree:
     82
     83set CVSROOT to username@machine:/data/elixir2/srcdir/cvs where
     84'username' is your user ID and machine is one of the CFHT linux
     85machines which mount /data/elixir2/srcdir. 
     86
     87check out your copy of the software tree:
     88
     89 cvs co ohana
     90
     91you may also check out specific releases of packages with the command:
     92 cvs co -r TAG PACKAGE  eg:
     93 cvs co -r libfits-1-0 libfits
     94
     95this version should be executed from the same directory level as the
     96cvs co ohana command; each package is placed in the directory
     97ohana/src/PACKAGE.
     98
     99The entire ohana package may be compiled from the ohana directory
     100with:
     101
     102> configure
     103> make
     104> make install
     105
     106Make edits, changes, etc to the programs in some package.  For
     107example, you might edit the .c files in the directory
     108ohana/src/gastro/src.  Occasionally publish your changes to the CVS
     109repository:
     110
     111cvs update (check for changes by other developers)
     112cvs commit [filename] (publish the changes)
     113
     114also:
     115
     116cvs add (filename)  (add a new file to the repository). 
     117
     118Once the changes have been made, make sure to compile and test your
     119copy of the program.  If you are acting as a developer, you must have
     120your version of the ohana/bin/ARCH directory in your path (before the
     121production installation path, /apps/elixir/bin).  Once the code has
     122been tested, and the package is ready for release, commit all of your
     123changes to the repository (cvs commit).  Now you may tag the new
     124release of the package.  Within the top-level directory of the
     125package, give the command:
     126
     127cvs tag -c TAG
     128
     129where TAG is the name of this release.  Within the Ohana system,
     130packages are generally tagged with names of the form PACKAGE-N-M where
     131N and M are major and minor version numbers.  For example, libfits has
     132tag names starting from libfits-1-0.  If the changes are minor, and
     133don't affect interaction with other packages, then it is only
     134necessary to change the minor version number.  If the new package
     135forces changes on other packages, it is best to change the major
     136version as well.  Major version changes should be introduced only with
     137discussion among the affected parties!   It is possible to check the
     138currenly assigned tags for a package with the command:
     139cvs status -v (filename)
     140where (filename) is some file that is part of the package.  A
     141convenient file to use is the Makefile for the package.  Assigning the
     142tag affects the repository directly (there is no need to run 'commit'
     143afterwards).  If you have outstanding changes, the -c option will
     144force CVS to complain, so you will not tag different versions of the
     145files from what you expect.
     146
     147Once the tag has been assigned, the new version of the package may be
     148introduced to the production system. This is a two step process:
     149first the new source tree is placed in the appropriate location and
     150compiled.  Then the new binaries are pushed to their final locations.
     151There are two options for installing the new package source code.
     152First, you may make a new elixir distribution.  To do this, go into
     153the ohana/etc directory, and edit the distributions.txt file.  This
     154defines the package releases which make up a complete distribution.
     155There are entries for the ohana/elixir distributions, mana
     156distributions, etc.  Make a new distribution version, update the
     157appropriate package, and save the file.  This distribution (or any
     158other older distribution) may now be constructed by executing the
     159command 'mkdist (distribution) (version)', for example:
     160mkdist elixir 1.0
     161This command extracts from the CVS repository all of the package
     162versions which are specified to be part of the given distribution
     163version.  These are placed in a single directory, along with the ohana
     164infrastructure pieces, with the directory name matching the package
     165name and version number.  This new directory may be moved or copied to
     166the official production source code location
     167(/data/elixir2/srcdir/ohana).  The entire tree may then be compiled. 
     168
     169An alternative to the above is to checkout only the new package
     170version.  To do this, go to the directory containing the production
     171code (ie, /data/elixir2/srcdir).  Perform a checkout of the specific
     172tagged release of the package of interest:
     173cvs co -r TAG PACKAGE (ie, cvs co -r libfits-1-0 libfits).  This will
     174replace the old version of the package with the new version.  Now the
     175software may be recompiled from the ohana directory.
     176
     177Once a new version of the software has been compiled, it may be pushed
     178to the production binary directory.  From the /data/elixir2/srcdir
     179directory, issue the command 'make install' (make install-test will
     180show what programs are new).
     181
Note: See TracChangeset for help on using the changeset viewer.