                           User manual to solve_patch
 
 
                                Leonid Petrov
 
 
                                2000.10.11
 
 
                                Abstract
 
   This document describes using solve_patch -- program for applying patches
in Calc/Solve posted by software maintainer.
 
 
Questions and comments about this document should be sent to:
 
Leonid Petrov ( pet@leo.gsfc.nasa.gov )
 
 
 
                                Table of contents:
 
 
1 ................ Overview
 
 
2 ................ Usage
 
 
3 ................ Requirement
 
 
4 ................ Restrictions
 
 
________________________________________________________________________________
 
        1 Overview
        ==========
 
   Utility solve_patch is for applying fixes of small bugs in to current
version of Mark-4 VLBI Analysis system Calc/Solve. Calc/Solve is a software
for scientific applications and it is constantly developing. Major revisions
called "Calc/Solve release" are posted 3-6 times per year. Fixes of critical
minor bugs and improvements are posted by Calc/Solve maintainers between
releases. solve_patch utility provides the opportunity to apply these fixes
without installation of the latest release.
 
   Each patch consist of several files: command file which contains statements
in patch-language and one or more files with source code which is to be updated.
solve_patch retrieves the command file and then interprets it. Each statement
consists of a keyword and its operand.
 
   solve_patch recognizes the following commands:
 
   CD:      change current directory. The new current directory is
            specified by the operand.
 
   COMMENT: no action.
 
   DATE:    compares the date presented in the operand with date
            saved in file $MK4_ROOT/bin/REVISION_DATE . If the date
            presented in operand is older or the same as saved in
            the file then error condition is set up.
            Dates are in solve format: yyyy.mm.dd
 
   END:     complete execution. It should be the last command.
 
   GET:     retrieve the file specified in the operand using ftp.
            It is assumed that the file is in public area no
            password is needed. Retrieved file is put in /tmp/
            directory.
 
   MAKE:    execute command make without arguments.
 
   RMO:     remove all object files and object library in current
            directory.
 
   UNZIP:   uncompress using zip file presented in the operand.
 
   Command name is case insensitive, but operand is case sensitive.
 
   In a result, source code is updated, either new files are added to the
directory(ies) or the new version of source files replaces the old one,
and some executables are re-compiled and re-linked.
 
        2 Usage
        =======
 
   ${MK4_ROOT}/support/solve_patch.csh  <URL_with_patchfile>
 
   where <URL_with_patchfile> is the network address (URL) of the patch file
which contains patch commands.
 
        3 Requirement
        =============
 
  1) Solve with release date not early than 2000.11.01
 
  2) Program wget should be installed. Refer to
     http://www.gnu.org/software/wget/wget.html for source code and
     installation instruction if you don't have this product installed.
 
  3) Program unzip
 
 
        4 Restrictions
        ==============
 
   Patches becomes obsolete with time. All patches with patch-date older then
release date are considered as obsolete and solve_patch will refuse to apply
them.
 
   Patches are posted in strict order. They should be applied in this order:
first the oldest patch, then patches with younger dates. If the order of
applying patches is changed results will be unpredictable!
