From 2dbe609ba8a4cefd78f3867f74b53b3a507b9883 Mon Sep 17 00:00:00 2001 From: peter Date: Sun, 10 Dec 1995 22:31:43 +0000 Subject: Import CVS-1.6.3-951211.. Basically, this is the cvs-1.6.2 release plus a couple of minor changes.. Some highlights of the new stuff that was not in the old version: - remote access support.. full checkout/commit/log/etc.. - much improved dead file support.. - speed improvements - better $CVSROOT handling - $Name$ support - support for a "cvsadmin" group to cut down rampant use of "cvs admin -o" - safer setuid/setgid support - many bugs fixed.. :-) - probably some new ones.. :-( - more that I cannot remember offhand.. --- gnu/usr.bin/cvs/INSTALL | 356 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 356 insertions(+) create mode 100644 gnu/usr.bin/cvs/INSTALL (limited to 'gnu/usr.bin/cvs/INSTALL') diff --git a/gnu/usr.bin/cvs/INSTALL b/gnu/usr.bin/cvs/INSTALL new file mode 100644 index 0000000..898af66 --- /dev/null +++ b/gnu/usr.bin/cvs/INSTALL @@ -0,0 +1,356 @@ +#ident "$CVSid$" + +First, read the README file. If you're still happy... + +CVS has been tested on the following platforms. The most recent +version of CVS reported to have been tested is indicated, but more +recent versions of CVS probably will work too. Please send updates to +this list to info-cvs@prep.ai.mit.edu. + +Alpha: + DEC Alpha running OSF/1 version 1.3 using cc (about 1.4A2) + DEC Alpha running OSF/1 version 2.0 (1.4.90) + DEC Alpha running OSF/1 version 2.1 (about 1.4A2) + DEC Alpha running OSF/1 version 3.0 (1.5.95) (footnote 7) +HPPA: + HP 9000/710 running HP-UX 8.07A using gcc (about 1.4A2) + HP 9000/715 running HP-UX 9.01 (1.6) + HPPA 1.1 running HP-UX A.09.03 (1.5.95) (footnote 8) + NextSTEP 3.3 (1.4.92, a few tweaks needed) +i386 family: + Gateway P5-66 (pentium) running Solaris 2.4 using gcc (about 1.4A2) + PC Clone running UnixWare v1.1.1 using gcc (about 1.4A2) + PC Clone running ISC 4.0.1 (1.5.94) + PC Clone running Fintronic Linux 1.2.5 (1.5) + PC Clone running BSDI 2.0 (1.4.93) (footnote 5) + PC Clone running Windows NT 3.51 (1.6.2 client-only) + FreeBSD 2.0.5, i486, gcc (1.5.95) + NextSTEP 3.3 (1.4.92, a few tweaks needed) + SCO Unix 3.2.4.2 (1.4.93) (footnote 4) + SCO OpenServer 5.0.0, "CC='cc -b elf' configure" +m68k: + Sun 3 running SunOS 4.1.1_U1 w/ bundled K&R /usr/5bin/cc (1.6) + NextSTEP 3.3 (1.4.92, a few tweaks needed) +m88k: + Data General AViiON running dgux 5.4R2.10 (1.5) + Harris Nighthawk 5800 running CX/UX 7.1 (1.5) (footnote 6) +MIPS: + DECstation running Ultrix 4.2a (1.4.90) + DECstation running Ultrix 4.3 (1.5) + SGI running Irix 4.0.5H using gcc and cc (about 1.4A2) (footnote 2) + SGI running Irix 5.3 (1.4.93) + SGI running Irix-6 (about 1.4.90) (footnote 3) + Siemens-Nixdorf RM600 running SINIX-Y (1.6) +PowerPC or RS/6000: + IBM RS/6000 running AIX 3.2.5 (cc=xlc, CVS 1.5) + IBM RS/6000 running AIX 4.1 using gcc and cc (about 1.4A2) (footnote 1) +SPARC: + Sun SPARC running SunOS 4.1.4 w/ bundled K&R /usr/5bin/cc (1.6) + Sun SPARC running SunOS 4.1.3, 4.1.2, and 4.1.1 (1.5) + Sun SPARC running SunOS 4.1.3, w/ bundled K&R cc (1.5.94) + Sun SPARCstation 10 running Solaris 2.3 using gcc and cc (about 1.4A2) + Sun SPARCstation running Solaris 2.4 using gcc and cc (about 1.5.91) + Sun SPARC running Solaris 2.5 (2.5 beta?) (1.6.2) + NextSTEP 3.3 (1.4.92, a few tweaks needed) + +(footnote 1) + AIX 4.1 systems fail to run "configure" due to bugs in their + "/bin/sh" implementation. You might want to try feeding the + configure script to "bash" ported to AIX 4.1. (about 1.4A2). + +(footnote 2) + Some Irix 4.0 systems may core dump in malloc while running + CVS. We believe this is a bug in the Irix malloc. You can + workaround this bug by linking with "-lmalloc" if necessary. + (about 1.4A2). + +(footnote 3) + There are some warnings about pointer casts which can safely be + ignored. (about 1.4.90). + +(footnote 4) Comment out the include of sys/time.h in src/server.c. (1.4.93) + You also may have to make sure TIME_WITH_SYS_TIME is undef'ed. + +(footnote 5) Change /usr/tmp to /var/tmp in src/server.c (2 places) (1.4.93). + +(footnote 6) Build in ucb universe with COFF compiler tools. Put + /usr/local/bin first in PATH while doing a configure, make + and install of GNU diffutils-2.7, rcs-5.7, then cvs-1.5. + +(footnote 7) Manoj Srivastava reports + success with this configure command: + CC=cc CFLAGS='-O2 -Olimit 2000 -std1' ./configure --verbose alpha-dec-osf + +(footnote 8) Manoj Srivastava reports + success with this configure command: + CC=cc CFLAGS='+O2 -Aa -D_HPUX_SOURCE' ./configure --verbose hppa1.1-hp-hpux + +------------------------------------------------------------------------------- + +Installation under Unix: + +1) Run "configure": + + $ ./configure + + You can specify an alternate destination to override the default with + the --prefix option: + + $ ./configure --prefix=/usr/local/gnu + + or some path that is more appropriate for your site. The default prefix + value is "/usr/local", with binaries in sub-directory "bin", manual + pages in sub-directory "man", and libraries in sub-directory "lib". + + This release of CVS also requires RCS commands to be installed in + the user's PATH (or a path you have configured in src/options.h). + If you don't have RCS, you will need to get it from GNU as well. It + is best to get the version 5.7 (or later) version of RCS, available + from prep.ai.mit.edu in the file pub/gnu/rcs-5.7.tar.gz. It is best + (although not essential) to avoid RCS versions 5.6.[5-7] beta + because the rcsmerge therein defaults to -A instead of -E which + affects the way CVS handles conflicts (this is fixed in RCS 5.6.8 + and RCS 5.7). + + Along with RCS, you will want to run GNU diffutils. This will allow + revision control of files with binary data (a real nice feature). + You will need at least version 1.15 of GNU diff for this to work. + The current version of GNU diffutils is 2.7, and it is also + available from prep.ai.mit.edu in the file pub/gnu/diffutils-2.7.tar.gz. + + WARNING: Be sure that you (have) configure(d) RCS to work correctly + with GNU diff to avoid other configuration problems. + + Configure will attempt to discern the location of your most capable + version of diff, and tries to find the GNU Diffutils version first. + You can explicitly tell configure to use the diffutils that's + installed in the same place you intend to install CVS: + + $ ./configure --with-diffutils + + Or, if you've installed it somewhere else, you can give configure + the full pathname: + + $ ./configure --with-diffutils=/usr/gnu/bin/diff + + Configure will also try to find a version of grep that supports the + '-s' option, and tries to find the GNU Grep version first. You can + similarly tell it where to find GNU Grep: + + $ ./configure --with-gnugrep + $ ./configure --with-gnugrep=/usr/gnu/bin/grep + + If you are using the remote client, you will need a version of patch + which understands unidiffs (such as any recent version of GNU + patch). Configure does not yet check to see if you've got this, so + be careful! + + NOTE: The configure program will cache the results of the previous + configure execution. If you need to re-run configure from scratch, you + may need to run "make distclean" first to remove the cached + configuration information. + + Try './configure --help' for further information on its usage. + + NOTE ON CVS's USE OF NDBM: + + By default, CVS uses some built-in ndbm emulation code to allow + CVS to work in a heterogeneous environment. However, if you have + a very large modules database, this may not work well. You will + need to edit src/options.h to turn off the MY_NDBM #define and + re-run configure. If you do this, the following comments apply. + If not, you may safely skip these comments. + + If you configure CVS to use the real ndbm(3) libraries and + you do not have them installed in a "normal" place, you will + probably want to get the GNU version of ndbm (gdbm) and install + that before running the CVS configure script. Be aware that the + GDBM 1.5 release does NOT install the header file included + with the release automatically. You may have to install it by hand. + + If you configure CVS to use the ndbm(3) libraries, you cannot + compile CVS with GNU cc (gcc) on Sun-4 SPARC systems. However, gcc + 2.0 may have fixed this limitation if -fpcc-struct-return is + defined. When using gcc on other systems to compile CVS, you *may* + need to specify the -fpcc-struct-return option to gcc (you will + *know* you have to if "cvs checkout" core dumps in some ndbm + function). You can do this as follows: + + $ CC='gcc -fpcc-struct-return' ./configure + + for sh, bash, and ksh users and: + + % setenv CC 'gcc -fpcc-struct-return' + % ./configure + + for csh and tcsh users. + + END OF NOTE FOR NDBM GUNK. + +2) Edit src/options.h. Appropriate things to look at may be the + invocation locations of programs like DIFF, GREP, RM, and SORT. + Also glance at the default values for the environment variables + that CVS uses, in particular, the RCSBIN variable, which holds the + path to where the RCS programs live on your system. The + likelihood is that you don't have to change anything here, except + perhaps adding the -a option to DIFF if you are using GNU diff. + +3) Try to build it: + + $ make + + This will (hopefully) make the needed CVS binaries within the "src" + directory. If something fails for your system, using the "cvsbug" + script submit your "config.status" file together with your host + type, operating system and compiler information, make output, and + anything else you think will be helpful. + + You may also wish to validate the correctness of the new binary by + running the regression tests: + + $ make check + + Note that if your /bin/sh doesn't support shell functions, you'll + have to try something like this, where "/bin/sh5" is replaced by the + pathname of a shell which handles normal shell functions: + + $ make SHELL=/bin/sh5 check + + WARNING: This test can take quite a while to run, esp. if your + disks are slow or over-loaded. + + If you receive any un-expected output from the regression tests, + using the "cvsbug" script please submit your "config.status" file, + together with your host type, operating system and compiler + information, the contents of /tmp/cvs-sanity/check.log, and any + "make check" output. + +4) Install the binaries/documentation: + + $ make install + + Depending on your installation's configuration, you may need to be + root to do this. + +5) Take a look at the CVS documentation. + + $ man cvs + + and + + $ info cvs + + See what it can do for you, and if it fits your environment (or can + possibly be made to fit your environment). If things look good, + continue on... + +6) Setup the master source repository. Choose a directory with ample disk + space available for source files. This is where the RCS ",v" files + will be stored. Note that this should be some shared directory for your + site. It should probably be auto-mounted, if you're running NFS. + + Say you choose "/src/master" as the root of your source repository. + Run the "cvsinit" script to help you set it up. It will ask you to + enter the path to your CVSROOT area. You would enter /src/master in + this example. + + $ ./cvsinit + + The cvsinit script will setup a reasonable CVSROOT area to start with. + It is also valuable to folks who already have a CVSROOT area setup from + using earlier releases of CVS. It assumes that you have installed CVS + already (step 4) and that the RCS programs (co and ci) are in your + PATH. There are many ways to customize CVS for your site. Read the + cvs(5) manual page when you get the chance. + +7) Have all users of the CVS system set the CVSROOT environment + variable appropriately to reflect the placement of your source + repository. If the above example is used, the following commands + can be placed in user's ~/.profile, ~/.bash_profile file; or in the + site-wide /etc/profile: + + CVSROOT=/src/master; export CVSROOT + + for sh/bash/ksh users, or place the following commands in the user's + ~/.cshrc, ~/.login, or /etc/chsrc file: + + setenv CVSROOT /src/master + + for csh/tcsh users. If these environment variables are not already set + in your current shell, set them now (or source the login script you + just edited). You will need to have the CVSROOT environment variable + set to continue on to the next step. + +8) It might be a good idea to jump right in and put the CVS distribution + directly under CVS control. From within the top-level directory of the + CVS distribution (the one that contains this README file) do the + following commands: + + $ make distclean + $ cvs import -m 'CVS 1.6 distribution' cvs CVS CVS-1_6 + +9) Having done step 8, one should be able to checkout a fresh copy of the + CVS distribution and hack away at the sources with the following command: + + $ cd + $ cvs checkout cvs + + This will make the directory "cvs" in your current directory and + populate it with the appropriate CVS files and directories. + +10) Remember to edit the modules file manually when sources are checked in + with "cvs import" or "cvs add". A copy of the modules file for editing + can usually be retrieved with the "cvs checkout modules" command, and + definitely with the "cvs checkout CVSROOT" command. See cvs(5). + +11) Read the NEWS file to see what's new. + +12) Hack away. + +------------------------------------------------------------------------------- + +Detailed information about your interaction with "configure": + +The "configure" script and its interaction with its options and the +environment is described here. For more detailed documentation about +"configure", please refer to the GNU Autoconf documentation. + +Supported options are: + + --srcdir=DIR Useful for compiling on many different + machines sharing one source tree. + --prefix=DIR The root of where to install the + various pieces of CVS (/usr/local). + --exec_prefix=DIR If you want executables in a + host-dependent place and shared + things in a host-independent place. + --with-diffutils[=PATH] Assume use of GNU diffutils is possible. + --with-gnugrep[=PATH] Assume use of GNU grep is possible. + +The following environment variables override configure's default +behaviour: + + CC If not set, tries to use gcc first, + then cc. Also tries to use "-g -O" + as options, backing down to -g + alone if that doesn't work. + INSTALL If not set, tries to use "install", then + "./install-sh" as a final choice. + RANLIB If not set, tries to determine if "ranlib" + is available, choosing "echo" if it doesn't + appear to be. + YACC If not set, tries to determine if "bison" + is available, choosing "yacc" if it doesn't + appear to be. + +------------------------------------------------------------------------------- +Installation under Windows NT: + +You may find interesting information in windows-NT/README. + +1) Using Microsoft Visual C++ version 2.1, open the project `cvsnt.mak', + in the top directory of the CVS distribution. +2) Choose "Build cvs.exe" from the "Project" menu. +3) MSVC will place the executable file cvs.exe in WinDebug, or whatever + your target directory is. +------------------------------------------------------------------------------- -- cgit v1.1