
Build instructions for CVS 1.11:

0. Prerequisites:
        EMX 0.9c (fix 4)
	a C shell (ksh527rt.zip)
	GNU make (gnumake.zip)
	GNU text utils (gnututil.zip)
	GNU shell utils (gnusutil.zip)
	GNU file utils (gnufutil.zip), August'96 or newer version
	GNU sed (gnused.zip)
	GNU grep (gnugrep.zip)
	GNU awk (gnuawk.zip)
	GNU patch (gnupatch.zip)
	GNU diff utils (gnudiff.zip)
	GNU find (gnufind.zip)
	GNU crypt library (gnuufc.zip)
        GNU tar (gtar258.zip)
        GNU zip (gz124_32.zip)
	Texinfo to INF converter 1.00 (txict100.zip)
        IPFC (Watcom C/C++, VisualAge C++, Warp 4 Toolkit, DDK)

   All of the above, except for IPFC, are available at the usual places
   (Hobbes, LEO). To obtain IPFC from the IBM DDK, one will have to register
   (it is free) at http://service.software.ibm.com/ddk/ and download the
   "Tools" bundle (TOOLS.ZIP).

1. Unzip the CVS 1.11 distribution (from ftp://ftp.cyclic.com).

2. Run 'patch -p0 -i x:/cvs/src/diffs' from the cvs-1.11 directory.

3. Unpack emx-new.arj into the cvs-1.11 directory.

4. Change to the emx-new directory and run 'make' and then
   'make install_dir=x:/cvs install'. Replace x:/cvs with the directory
   you want CVS installed. This will copy all required files to the
   installation directory. To create a folder with the CVS documentation
   book objects, go to the emx-new/book directory and run 'make installwps'.

5. To perform the sanity checks run 'make check' for local repositories
   and 'make remotecheck' for remote repositories. You do not actually
   have to have an existing repository to run the sanity checks. No
   network connection is required for 'make remotecheck' as it uses the
   loopback interface. You need to have the rshd that comes with this port
   installed and ready to accept connections from the local host, though.
   The process of setting up rshd is described in README. Due to the way
   the remote sanity check works, you need to tell rshd to use sh to run
   programs. Do this by either setting EMXSHELL=sh in your CONFIG.SYS or
   by replacing the line "start /min inetd" by "start /min cmd /c "(set
   EMXSHELL=sh & inetd)" in x:\tcpip\bin\tcpstart.cmd.

   A word of wisdom: if you use BASH version 2.0.264, there is a chance that
   you got TEST.EXE from this distribution on your path. It's recommended to
   replace it with its equivalent from GNU shell utils. Moreover, with this
   version of BASH, some tests (e.g. rcslib-diffrgx-1) are not operable due to
   single quotes ('') being lost when a string parameter is passed along. The
   solution is to escape them, e.g. \'\', or simply use PDKSH.

   Using EXPR.EXE from the BASH package is favorable, on the contrary.
   The version from GNU shell utils sometimes ends up with a trap in
   GNUREGEX.DLL.

   Another clumsy point is the usage of SORT command: the GNU version must be
   used instead of OS/2 one (the reason is the case sensitivity).

   RM.EXE from GNU file utilities is strongly recommended. There is a plenty
   of others, found in build tools, Tivoli Endpoint for Aurora, and so on...
   However, they fail to remove files at certain steps of the sanity check,
   resulting in errors at later steps. These are very hard to detect.

6. Hacking: There is a number of things worth this. First of all, whenever the
   configure script is run, one will end up with an OPTIONS.H file in the SRC
   directory (and not EMX-NEW!). This script will differ from the OPTIONS.H
   supplied in this distribution, and the most important point is that there is
   no CVS_ADMIN_GROUP under OS/2. Also, there is a FILESYSTEM_TICK of 2 here.
   The choice may be either to patch the generated script, or to use the one
   from EMX-NEW (in the latter case just copy the OPTIONS.H to ../SRC, do not
   remove this file from ../SRC).

   To rebuild the configure script from scratch, one will have to use the
   version 2.13 of GNU autoconf. Looking deep into the configure script, one
   may find out that we have actually used a patched version 2.12.5 to build
   it but we're confident that version 2.13 will deal with the job as well
   (sometimes the only reason for staying with autoconf v 2.12.5 is
   compatibility: e.g. AC_DIVERT_HELP has been deprecated in version 2.13).
