xref: /openbsd-src/gnu/usr.bin/cvs/vms/options.h (revision 892c0aade1f7c0f3a217301a37d1119c4a91f3cd)
150bf276cStholo /*
250bf276cStholo  * Copyright (c) 1992, Brian Berliner and Jeff Polk
350bf276cStholo  * Copyright (c) 1989-1992, Brian Berliner
450bf276cStholo  *
550bf276cStholo  * You may distribute under the terms of the GNU General Public License as
650bf276cStholo  * specified in the README file that comes with the CVS 1.4 kit.
750bf276cStholo  *
850bf276cStholo  * This file holds (most of) the configuration tweaks that can be made to
950bf276cStholo  * customize CVS for your site.  CVS comes configured for a typical SunOS 4.x
1050bf276cStholo  * environment.  The comments for each configurable item are intended to be
1150bf276cStholo  * self-explanatory.  All #defines are tested first to see if an over-riding
1250bf276cStholo  * option was specified on the "make" command line.
1350bf276cStholo  *
1450bf276cStholo  * If special libraries are needed, you will have to edit the Makefile.in file
1550bf276cStholo  * or the configure script directly.  Sorry.
1650bf276cStholo  */
1750bf276cStholo 
1850bf276cStholo /*
1950bf276cStholo  * For portability and heterogeneity reasons, CVS is shipped by default using
2050bf276cStholo  * my own text-file version of the ndbm database library in the src/myndbm.c
2150bf276cStholo  * file.  If you want better performance and are not concerned about
2250bf276cStholo  * heterogeneous hosts accessing your modules file, turn this option off.
2350bf276cStholo  */
2450bf276cStholo #ifndef MY_NDBM
2550bf276cStholo #define	MY_NDBM
2650bf276cStholo #endif
2750bf276cStholo 
2850bf276cStholo /*
2950bf276cStholo  * The "patch" program to run when using the CVS server and accepting
3050bf276cStholo  * patches across the network.  Specify a full pathname if your site
3150bf276cStholo  * wants to use a particular patch.
3250bf276cStholo  */
3350bf276cStholo #ifndef PATCH_PROGRAM
3450bf276cStholo #define PATCH_PROGRAM	"patch"
3550bf276cStholo #endif
3650bf276cStholo 
37461cc63eStholo /* Directory used for storing temporary files, if not overridden by
38461cc63eStholo    environment variables or the -T global option.  There should be little
39461cc63eStholo    need to change this (-T is a better mechanism if you need to use a
40461cc63eStholo    different directory for temporary files).  */
4150bf276cStholo #ifndef TMPDIR_DFLT
4250bf276cStholo #define	TMPDIR_DFLT	"sys$scratch"
4350bf276cStholo #endif
4450bf276cStholo 
4550bf276cStholo /*
4650bf276cStholo  * The default editor to use, if one does not specify the "-e" option to cvs,
4750bf276cStholo  * or does not have an EDITOR environment variable.  I set this to just "vi",
4850bf276cStholo  * and use the shell to find where "vi" actually is.  This allows sites with
4950bf276cStholo  * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH
5050bf276cStholo  * is reasonable).
5150bf276cStholo  */
5250bf276cStholo #ifndef EDITOR_DFLT
5350bf276cStholo #define	EDITOR_DFLT	""
5450bf276cStholo #endif
5550bf276cStholo 
5650bf276cStholo /*
5750bf276cStholo  * The default umask to use when creating or otherwise setting file or
5850bf276cStholo  * directory permissions in the repository.  Must be a value in the
5950bf276cStholo  * range of 0 through 0777.  For example, a value of 002 allows group
6050bf276cStholo  * rwx access and world rx access; a value of 007 allows group rwx
6150bf276cStholo  * access but no world access.  This value is overridden by the value
6250bf276cStholo  * of the CVSUMASK environment variable, which is interpreted as an
6350bf276cStholo  * octal number.
6450bf276cStholo  */
6550bf276cStholo #ifndef UMASK_DFLT
6650bf276cStholo #define	UMASK_DFLT	002
6750bf276cStholo #endif
6850bf276cStholo 
6950bf276cStholo /*
7050bf276cStholo  * The cvs admin command is restricted to the members of the group
7150bf276cStholo  * CVS_ADMIN_GROUP.  If this group does not exist, all users are
7250bf276cStholo  * allowed to run cvs admin.  To disable the cvs admin for all users,
7350bf276cStholo  * create an empty group CVS_ADMIN_GROUP.  To disable access control for
7450bf276cStholo  * cvs admin, comment out the define below.
7550bf276cStholo  */
7650bf276cStholo #ifndef CVS_ADMIN_GROUP
7750bf276cStholo /* #define CVS_ADMIN_GROUP "cvsadmin" */
7850bf276cStholo #endif
7950bf276cStholo 
8050bf276cStholo /*
81*892c0aadStholo  * The Repository file holds the path to the directory within the
82*892c0aadStholo  * source repository that contains the RCS ,v files for each CVS
83*892c0aadStholo  * working directory.  This path is either a full-path or a path
84*892c0aadStholo  * relative to CVSROOT.
8550bf276cStholo  *
86*892c0aadStholo  * The big advantage that I can see to having a relative path is that
87*892c0aadStholo  * one can change the physical location of the master source
88*892c0aadStholo  * repository, change the contents of CVS/Root files in your
89*892c0aadStholo  * checked-out code, and CVS will work without problems.
90*892c0aadStholo  *
91*892c0aadStholo  * Therefore, RELATIVE_REPOS is now the default.  In the future, this
92*892c0aadStholo  * is likely to disappear entirely as a compile-time (or other) option,
93*892c0aadStholo  * so if you have other software which relies on absolute pathnames,
94*892c0aadStholo  * update them.
9550bf276cStholo  */
96*892c0aadStholo #define RELATIVE_REPOS 1
9750bf276cStholo 
9850bf276cStholo /*
9950bf276cStholo  * When committing or importing files, you must enter a log message.
10050bf276cStholo  * Normally, you can do this either via the -m flag on the command line or an
10150bf276cStholo  * editor will be started for you.  If you like to use logging templates (the
10250bf276cStholo  * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to
10350bf276cStholo  * force people to use the editor even if they specify a message with -m.
10450bf276cStholo  * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the
10550bf276cStholo  * temp file when the editor is started.
10650bf276cStholo  */
10750bf276cStholo #ifndef FORCE_USE_EDITOR
10850bf276cStholo /* #define 	FORCE_USE_EDITOR */
10950bf276cStholo #endif
11050bf276cStholo 
11150bf276cStholo /*
11250bf276cStholo  * When locking the repository, some sites like to remove locks and assume
11350bf276cStholo  * the program that created them went away if the lock has existed for a long
11450bf276cStholo  * time.  This used to be the default for previous versions of CVS.  CVS now
11550bf276cStholo  * attempts to be much more robust, so lock files should not be left around
11650bf276cStholo  * by mistake. The new behaviour will never remove old locks (they must now
11750bf276cStholo  * be removed by hand).  Enabling CVS_FUDGELOCKS will cause CVS to remove
11850bf276cStholo  * locks that are older than CVSLCKAGE seconds.
11950bf276cStholo  * Use of this option is NOT recommended.
12050bf276cStholo  */
12150bf276cStholo #ifndef CVS_FUDGELOCKS
12250bf276cStholo /* #define CVS_FUDGELOCKS */
12350bf276cStholo #endif
12450bf276cStholo 
1252286d8edStholo /* There is some pretty unixy code in src/commit.c which tries to
1262286d8edStholo    prevent people from commiting changes as "root" (which would prevent
1272286d8edStholo    CVS from making a log entry with the actual user).  On VMS, I suppose
1282286d8edStholo    one could say that SYSTEM is equivalent, but I would think that it
1292286d8edStholo    actually is not necessary; at least at the VMS sites I've worked at
1302286d8edStholo    people just used their own accounts (turning privileges on and off
1312286d8edStholo    as desired).  */
1322286d8edStholo 
13350bf276cStholo #ifndef CVS_BADROOT
1342286d8edStholo /* #define	CVS_BADROOT */
13550bf276cStholo #endif
13650bf276cStholo 
13750bf276cStholo /*
13850bf276cStholo  * Yes, we can do the authenticated client.
13950bf276cStholo  */
14050bf276cStholo #define AUTH_CLIENT_SUPPORT 1
14150bf276cStholo 
14250bf276cStholo /*
14350bf276cStholo  * define this to enable the SETXID support.  Probably has no effect on VMS.
14450bf276cStholo  */
14550bf276cStholo #ifndef SETXID_SUPPORT
14650bf276cStholo /* #define SETXID_SUPPORT */
14750bf276cStholo #endif
14850bf276cStholo 
14950bf276cStholo /*
15050bf276cStholo  * If you are working with a large remote repository and a 'cvs checkout' is
15150bf276cStholo  * swamping your network and memory, define these to enable flow control.
15250bf276cStholo  * You will end up with even less guarantees of a consistant checkout,
15350bf276cStholo  * but that may be better than no checkout at all.  The master server process
15450bf276cStholo  * will monitor how far it is getting behind, if it reaches the high water
15550bf276cStholo  * mark, it will signal the child process to stop generating data when
15650bf276cStholo  * convenient (ie: no locks are held, currently at the beginning of a
15750bf276cStholo  * new directory).  Once the buffer has drained sufficiently to reach the
15850bf276cStholo  * low water mark, it will be signalled to start again.
15950bf276cStholo  * -- EXPERIMENTAL! --  A better solution may be in the works.
16050bf276cStholo  * You may override the default hi/low watermarks here too.
16150bf276cStholo  */
16250bf276cStholo #ifndef SERVER_FLOWCONTROL
16350bf276cStholo /* #define SERVER_FLOWCONTROL */
16450bf276cStholo /* #define SERVER_HI_WATER (2 * 1024 * 1024) */
16550bf276cStholo /* #define SERVER_LO_WATER (1 * 1024 * 1024) */
16650bf276cStholo #endif
16750bf276cStholo 
16850bf276cStholo /* End of CVS configuration section */
16950bf276cStholo 
17050bf276cStholo /*
17150bf276cStholo  * Externs that are included in libc, but are used frequently enough to
17250bf276cStholo  * warrant defining here.
17350bf276cStholo  */
17450bf276cStholo #ifndef STDC_HEADERS
17550bf276cStholo extern void exit ();
17650bf276cStholo #endif
17750bf276cStholo 
17850bf276cStholo #define NO_SOCKET_TO_FD 1
17950bf276cStholo #include "vms.h"
180