summaryrefslogtreecommitdiffstats
path: root/gnu/usr.bin/cvs/INSTALL
diff options
context:
space:
mode:
authorpeter <peter@FreeBSD.org>1995-12-10 22:31:43 +0000
committerpeter <peter@FreeBSD.org>1995-12-10 22:31:43 +0000
commit2dbe609ba8a4cefd78f3867f74b53b3a507b9883 (patch)
treeabe4b0172b1d26d0885510263d55640aede80f8f /gnu/usr.bin/cvs/INSTALL
parent97dcd3ee2c52c29f7f4f4ad1a792395166114f77 (diff)
downloadFreeBSD-src-2dbe609ba8a4cefd78f3867f74b53b3a507b9883.zip
FreeBSD-src-2dbe609ba8a4cefd78f3867f74b53b3a507b9883.tar.gz
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..
Diffstat (limited to 'gnu/usr.bin/cvs/INSTALL')
-rw-r--r--gnu/usr.bin/cvs/INSTALL356
1 files changed, 356 insertions, 0 deletions
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 <srivasta@pilgrim.umass.edu> reports
+ success with this configure command:
+ CC=cc CFLAGS='-O2 -Olimit 2000 -std1' ./configure --verbose alpha-dec-osf
+
+(footnote 8) Manoj Srivastava <srivasta@pilgrim.umass.edu> 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 <ndbm.h> 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.
+-------------------------------------------------------------------------------
OpenPOWER on IntegriCloud