xref: /openbsd-src/gnu/usr.bin/cvs/vms/options.h (revision 892c0aade1f7c0f3a217301a37d1119c4a91f3cd)
1 /*
2  * Copyright (c) 1992, Brian Berliner and Jeff Polk
3  * Copyright (c) 1989-1992, Brian Berliner
4  *
5  * You may distribute under the terms of the GNU General Public License as
6  * specified in the README file that comes with the CVS 1.4 kit.
7  *
8  * This file holds (most of) the configuration tweaks that can be made to
9  * customize CVS for your site.  CVS comes configured for a typical SunOS 4.x
10  * environment.  The comments for each configurable item are intended to be
11  * self-explanatory.  All #defines are tested first to see if an over-riding
12  * option was specified on the "make" command line.
13  *
14  * If special libraries are needed, you will have to edit the Makefile.in file
15  * or the configure script directly.  Sorry.
16  */
17 
18 /*
19  * For portability and heterogeneity reasons, CVS is shipped by default using
20  * my own text-file version of the ndbm database library in the src/myndbm.c
21  * file.  If you want better performance and are not concerned about
22  * heterogeneous hosts accessing your modules file, turn this option off.
23  */
24 #ifndef MY_NDBM
25 #define	MY_NDBM
26 #endif
27 
28 /*
29  * The "patch" program to run when using the CVS server and accepting
30  * patches across the network.  Specify a full pathname if your site
31  * wants to use a particular patch.
32  */
33 #ifndef PATCH_PROGRAM
34 #define PATCH_PROGRAM	"patch"
35 #endif
36 
37 /* Directory used for storing temporary files, if not overridden by
38    environment variables or the -T global option.  There should be little
39    need to change this (-T is a better mechanism if you need to use a
40    different directory for temporary files).  */
41 #ifndef TMPDIR_DFLT
42 #define	TMPDIR_DFLT	"sys$scratch"
43 #endif
44 
45 /*
46  * The default editor to use, if one does not specify the "-e" option to cvs,
47  * or does not have an EDITOR environment variable.  I set this to just "vi",
48  * and use the shell to find where "vi" actually is.  This allows sites with
49  * /usr/bin/vi or /usr/ucb/vi to work equally well (assuming that your PATH
50  * is reasonable).
51  */
52 #ifndef EDITOR_DFLT
53 #define	EDITOR_DFLT	""
54 #endif
55 
56 /*
57  * The default umask to use when creating or otherwise setting file or
58  * directory permissions in the repository.  Must be a value in the
59  * range of 0 through 0777.  For example, a value of 002 allows group
60  * rwx access and world rx access; a value of 007 allows group rwx
61  * access but no world access.  This value is overridden by the value
62  * of the CVSUMASK environment variable, which is interpreted as an
63  * octal number.
64  */
65 #ifndef UMASK_DFLT
66 #define	UMASK_DFLT	002
67 #endif
68 
69 /*
70  * The cvs admin command is restricted to the members of the group
71  * CVS_ADMIN_GROUP.  If this group does not exist, all users are
72  * allowed to run cvs admin.  To disable the cvs admin for all users,
73  * create an empty group CVS_ADMIN_GROUP.  To disable access control for
74  * cvs admin, comment out the define below.
75  */
76 #ifndef CVS_ADMIN_GROUP
77 /* #define CVS_ADMIN_GROUP "cvsadmin" */
78 #endif
79 
80 /*
81  * The Repository file holds the path to the directory within the
82  * source repository that contains the RCS ,v files for each CVS
83  * working directory.  This path is either a full-path or a path
84  * relative to CVSROOT.
85  *
86  * The big advantage that I can see to having a relative path is that
87  * one can change the physical location of the master source
88  * repository, change the contents of CVS/Root files in your
89  * checked-out code, and CVS will work without problems.
90  *
91  * Therefore, RELATIVE_REPOS is now the default.  In the future, this
92  * is likely to disappear entirely as a compile-time (or other) option,
93  * so if you have other software which relies on absolute pathnames,
94  * update them.
95  */
96 #define RELATIVE_REPOS 1
97 
98 /*
99  * When committing or importing files, you must enter a log message.
100  * Normally, you can do this either via the -m flag on the command line or an
101  * editor will be started for you.  If you like to use logging templates (the
102  * rcsinfo file within the $CVSROOT/CVSROOT directory), you might want to
103  * force people to use the editor even if they specify a message with -m.
104  * Enabling FORCE_USE_EDITOR will cause the -m message to be appended to the
105  * temp file when the editor is started.
106  */
107 #ifndef FORCE_USE_EDITOR
108 /* #define 	FORCE_USE_EDITOR */
109 #endif
110 
111 /*
112  * When locking the repository, some sites like to remove locks and assume
113  * the program that created them went away if the lock has existed for a long
114  * time.  This used to be the default for previous versions of CVS.  CVS now
115  * attempts to be much more robust, so lock files should not be left around
116  * by mistake. The new behaviour will never remove old locks (they must now
117  * be removed by hand).  Enabling CVS_FUDGELOCKS will cause CVS to remove
118  * locks that are older than CVSLCKAGE seconds.
119  * Use of this option is NOT recommended.
120  */
121 #ifndef CVS_FUDGELOCKS
122 /* #define CVS_FUDGELOCKS */
123 #endif
124 
125 /* There is some pretty unixy code in src/commit.c which tries to
126    prevent people from commiting changes as "root" (which would prevent
127    CVS from making a log entry with the actual user).  On VMS, I suppose
128    one could say that SYSTEM is equivalent, but I would think that it
129    actually is not necessary; at least at the VMS sites I've worked at
130    people just used their own accounts (turning privileges on and off
131    as desired).  */
132 
133 #ifndef CVS_BADROOT
134 /* #define	CVS_BADROOT */
135 #endif
136 
137 /*
138  * Yes, we can do the authenticated client.
139  */
140 #define AUTH_CLIENT_SUPPORT 1
141 
142 /*
143  * define this to enable the SETXID support.  Probably has no effect on VMS.
144  */
145 #ifndef SETXID_SUPPORT
146 /* #define SETXID_SUPPORT */
147 #endif
148 
149 /*
150  * If you are working with a large remote repository and a 'cvs checkout' is
151  * swamping your network and memory, define these to enable flow control.
152  * You will end up with even less guarantees of a consistant checkout,
153  * but that may be better than no checkout at all.  The master server process
154  * will monitor how far it is getting behind, if it reaches the high water
155  * mark, it will signal the child process to stop generating data when
156  * convenient (ie: no locks are held, currently at the beginning of a
157  * new directory).  Once the buffer has drained sufficiently to reach the
158  * low water mark, it will be signalled to start again.
159  * -- EXPERIMENTAL! --  A better solution may be in the works.
160  * You may override the default hi/low watermarks here too.
161  */
162 #ifndef SERVER_FLOWCONTROL
163 /* #define SERVER_FLOWCONTROL */
164 /* #define SERVER_HI_WATER (2 * 1024 * 1024) */
165 /* #define SERVER_LO_WATER (1 * 1024 * 1024) */
166 #endif
167 
168 /* End of CVS configuration section */
169 
170 /*
171  * Externs that are included in libc, but are used frequently enough to
172  * warrant defining here.
173  */
174 #ifndef STDC_HEADERS
175 extern void exit ();
176 #endif
177 
178 #define NO_SOCKET_TO_FD 1
179 #include "vms.h"
180