home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Professional / OS2PRO194.ISO / os2 / prgramer / cvsdos / install < prev    next >
Text File  |  1993-11-20  |  10KB  |  257 lines

  1. First, read the README file.  If you're still happy...
  2.  
  3. The CVS 1.3 Beta testers (bless their hearts) verified that CVS compiled
  4. correctly on the following platforms:
  5.  
  6.     386 running Interactive Unix ISC 2.2.1
  7.     386 running SCO Xenix 386, 2.3.2
  8.     ATT 3B2 running System VR3 (*)
  9.     Altos running Altos Unix v5.3a System V/386 R3.2 (**)
  10.     Atari/ST (2.5MB) running Minix 1.6.16
  11.     Cray X-MP running Unicos 6.1
  12.     DEC 3100 running Ultrix 4.0
  13.     Decstation 5000/200 running Ultrix 4.0, 4.1 (***), 4.2
  14.     Gateway2000 486/33C (486@33MHZ) running BSDI BSD/386 0.3 (Beta)
  15.     HP 9000/360 running HP-UX 6.5
  16.     HP 9000/710 running HP-UX 8.07
  17.     HP 9000/730 running HP-UX 8.05
  18.     HP PA-RISC 800 running HP-UX 8.01
  19.     IBM RS/6000 running AIX 3.1, 3.2
  20.     Motorola 68030 running a System 5.3.2 derivative
  21.     Motorola VME187 running SYSVR3
  22.     Motorola 88100 running R32V3
  23.     NEC EWS4800 running System VR4.0.2
  24.     NeXT 68040 running NeXT Mach 2.1
  25.     Omron Luna running UNIOS-B 4.3BSD 1.60
  26.     SGI Iris 4D running Irix 3.3.2 (****), Irix 4.0.1, Irix 4.0.2C
  27.     Sony NEWS Workstation running NEWS-OS 4.0C
  28.     Sumitomo Ustation running SEIUX3.2
  29.     Sun-3 running SunOS 4.0.3, 4.1, 4.1.1
  30.     Sun-386i running SunOS 4.0.2
  31.     Sun-4/Sun-4c/Sun-4m running SunOS 4.1.1, 4.1.2, Solaris 2.0
  32.  
  33. (*)    On the ATT 3B2, "tr" was not available (?).
  34. (**)    The Altos system and had problems compiling lib/regex.c.
  35. (***)    Ultrix 4.1 apparently has a nasty compiler/linker that doesn't work
  36.     well with the CVS "configure" script.  You will need to add
  37.     fnmatch.o to the OBJECTS macro in lib/Makefile for CVS to compile
  38.     on this system.
  39. (****)    It has been reported that SGI machines running Irix 3.3.2 may hang
  40.     during "cvs add" and leave an un-killable process.  If you
  41.     experience this, you can define "FSYNC_MISSING", re-compile
  42.     src/subr.o and the problem should go away.  This appears not to be
  43.     a problem in Irix 4.0.1.
  44.  
  45. CVS had some problems compiling/running on the following machines:
  46.  
  47.     None!
  48.  
  49. NOTE:    CVS relies on having some form of the opendir/readdir/closedir
  50.     functions being available.  Some older systems do not support these
  51.     calls.  CVS will not work with these systems unless a suitable
  52.     readdir implementation is installed on the system.  Take a look at
  53.     the file "contrib/dirfns", which contains some code that might add
  54.     this support to your system.
  55.  
  56. -------------------------------------------------------------------------------
  57.  
  58. Installation:
  59.  
  60. 1)  Edit the src/config.h header file.  Appropriate things to look at may be
  61.     the invocation locations of programs like DIFF, GREP, RM, and SORT.
  62.     Also glance at the default values for the environment variables that
  63.     CVS uses, in particular, the RCSBIN variable, which holds the path to
  64.     where the RCS programs live on your system.  The likelihood is that you
  65.     don't have to change anything here, except perhaps adding the -a
  66.     option to DIFF if you are using GNU diff (which is recommended).
  67.  
  68. 2)  Run "configure":
  69.  
  70.     $ ./configure
  71.  
  72.     You can specify an alternate destination to override the default with
  73.     the --prefix option:
  74.  
  75.     $ ./configure --prefix=/usr/local/gnu
  76.  
  77.     or some path that is more appropriate for your site.  The default prefix
  78.     value is "/usr/local", with binaries in sub-directory "bin", manual
  79.     pages in sub-directory "man", and libraries in sub-directory "lib".
  80.  
  81.     "configure" tries to use "gcc -g -O" first.  If that doesn't work, it
  82.     will try to use "cc -g -O".  If that doesn't work, it uses "cc -g".  To
  83.     override this, simply specify the options in the CC environment variable:
  84.  
  85.     $ CC="cc -O" ./configure
  86.  
  87.     for sh, bash, or ksh shell users or:
  88.  
  89.     % setenv CC "cc -O"
  90.     % ./configure
  91.  
  92.     for csh, tcsh shell users.
  93.  
  94.     NOTE ON CVS's USE OF NDBM:
  95.  
  96.     By default, CVS uses some built-in ndbm emulation code to allow
  97.     CVS to work in a heterogeneous environment.  However, if you have
  98.     a very large modules database, this may not work well.  You will
  99.     need to edit src/config.h to turn off the MY_NDBM #define and
  100.     re-run configure.  If you do this, the following comments apply.
  101.     If not, you may safely skip these comments.
  102.  
  103.     If you configure CVS to use the real ndbm(3) libraries and
  104.     you do not have them installed in a "normal" place, you will
  105.     probably want to get the GNU version of ndbm (gdbm) and install
  106.     that before running the CVS configure script.  Be aware that the
  107.     GDBM 1.5 release does NOT install the <ndbm.h> header file included
  108.     with the release automatically.  You may have to install it by hand.
  109.  
  110.     If you configure CVS to use the ndbm(3) libraries, you cannot
  111.     compile CVS with GNU cc (gcc) on Sun-4 SPARC systems.  However, gcc
  112.     2.0 may have fixed this limitation if -fpcc-struct-return is
  113.     defined.  When using gcc on other systems to compile CVS, you *may*
  114.     need to specify the -fpcc-struct-return option to gcc (you will
  115.     *know* you have to if "cvs checkout" core dumps in some ndbm
  116.     function).  You can do this as follows:
  117.  
  118.         $ CC=gcc DEFS=-fpcc-struct-return ./configure
  119.  
  120.     for sh, bash, and ksh users and:
  121.  
  122.         % setenv CC gcc
  123.         % setenv DEFS -fpcc-struct-return
  124.         % ./configure
  125.  
  126.     for csh and tcsh users.
  127.  
  128.     END OF NOTE FOR NDBM GUNK.
  129.  
  130.     This release of CVS also requires RCS commands to be installed in the
  131.     user's PATH (or a path you have configured in src/config.h).  If you
  132.     don't have RCS, you will need to get it from GNU as well.  It is best
  133.     to get the version 5.6 (or later) version of RCS, available from
  134.     prep.ai.mit.edu in the file pub/gnu/rcs-5.6.tar.Z.  Along with RCS, you
  135.     will want to run GNU diff.  This will allow revision control of files
  136.     with binary data (a real nice feature).  You will need at least version
  137.     1.15 of GNU diff for this to work.
  138.  
  139. 3)  Try to build it:
  140.  
  141.     $ make
  142.  
  143.     This will (hopefully) make the needed CVS binaries within the "src"
  144.     directory.  Send me your "config.status" file with your host type,
  145.     operating system information, and make output if something fails for
  146.     your system.
  147.  
  148. 4)  Install the binaries/documentation:
  149.  
  150.     $ make install
  151.  
  152.     Depending on your installation's configuration, you may need to be
  153.     root to do this.
  154.  
  155. 5)  Take a look at the CVS manual page.
  156.  
  157.     $ man cvs
  158.  
  159.     See what it can do for you, and if it fits your environment (or can
  160.     possibly be made to fit your environment).  If things look good,
  161.     continue on...
  162.  
  163. 6)  Setup the master source repository.  Choose a directory with ample disk
  164.     space available for source files.  This is where the RCS ",v" files
  165.     will be stored.  Note that this should be some shared directory for your
  166.     site.  It should probably be auto-mounted, if you're running NFS.
  167.  
  168.     Say you choose "/src/master" as the root of your source repository.
  169.     Run the "cvsinit" script to help you set it up.  It will ask you to
  170.     enter the path to your CVSROOT area.  You would enter /src/master in
  171.     this example.
  172.  
  173.     $ ./cvsinit
  174.  
  175.     The cvsinit script will setup a reasonable CVSROOT area to start with.
  176.     It is also valuable to folks who already have a CVSROOT area setup from
  177.     using earlier releases of CVS.  It assumes that you have installed CVS
  178.     already (step 4) and that the RCS programs (co and ci) are in your
  179.     PATH.  There are many ways to customize CVS for your site.  Read the
  180.     cvs(5) manual page when you get the chance.
  181.  
  182. 7)  Have all users of the CVS system set the CVSROOT environment variable
  183.     appropriately to reflect the placement of your source repository.  If
  184.     the above example is used, the following commands can be placed in
  185.     user's ~/.profile, ~/.bash_profile, or ~/.login file:
  186.  
  187.     CVSROOT=/src/master; export CVSROOT
  188.  
  189.     for sh/bash/ksh users, or
  190.  
  191.     setenv CVSROOT /src/master
  192.  
  193.     for csh/tcsh users.  If these environment variables are not already set
  194.     in your current shell, set them now (or source the login script you
  195.     just edited).  You will need to have the CVSROOT environment variable
  196.     set to continue on to the next step.
  197.  
  198. 8)  It might be a good idea to jump right in and put the CVS distribution
  199.     directly under CVS control.  From within the top-level directory of the
  200.     CVS distribution (the one that contains this README file) do the
  201.     following commands:
  202.  
  203.     $ make realclean
  204.     $ cvs import -m 'CVS 1.3 distribution' cvs CVS CVS1_3
  205.  
  206. 9)  Having done step 8, one should be able to checkout a fresh copy of the
  207.     CVS distribution and hack away at the sources with the following command:
  208.  
  209.     $ cd
  210.     $ cvs checkout cvs
  211.  
  212.     This will make the directory "cvs" in your current directory and
  213.     populate it with the appropriate CVS files and directories.
  214.  
  215. 10) Remember to edit the modules file manually when sources are checked in
  216.     with "cvs import" or "cvs add".  A copy of the modules file for editing
  217.     can usually be retrieved with the "cvs checkout modules" command, and
  218.     definitely with the "cvs checkout CVSROOT" command.  See cvs(5).
  219.  
  220. 11) Read the ChangeLog file to see what's new.  REALLY!  I use the
  221.     ChangeLog file as the Release Notes.
  222.  
  223. 12) Hack away.
  224.  
  225. -------------------------------------------------------------------------------
  226.  
  227. Detailed info about your interaction with "configure":
  228.  
  229. The "configure" script and its interaction with its options and the
  230. environment is described here.
  231.  
  232. Supported options are:
  233.     --srcdir=DIR        Useful for compiling on many different
  234.                 machines sharing one source tree.
  235.     --prefix=DIR        The root of where to install the
  236.                 various pieces of CVS (/usr/local).
  237.     --exec_prefix=DIR    If you want executables in a
  238.                 host-dependent place and shared
  239.                 things in a host-independent place.
  240.  
  241. The following environment variables override configure's default
  242. behaviour:
  243.     CC            If not set, tries to use gcc first,
  244.                 then cc.  Also tries to use "-g -O"
  245.                 as options, backing down to -g
  246.                 alone if that doesn't work.
  247.     INSTALL            If not set, tries to use "install", then
  248.                 "cp" as a final choice.
  249.     RANLIB            If not set, tries to determine if "ranlib"
  250.                 is available, choosing "echo" if it doesn't
  251.                 appear to be.
  252.     YACC            If not set, tries to determine if "bison"
  253.                 is available, choosing "yacc" if it doesn't
  254.                 appear to be.
  255.  
  256. -------------------------------------------------------------------------------
  257.