]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/blob - contrib/cvs/src/options.h.in
This commit was generated by cvs2svn to compensate for changes in r49795,
[FreeBSD/FreeBSD.git] / contrib / cvs / src / options.h.in
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 source distribution.
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 /* By default, CVS stores its modules and other such items in flat
19    text files (MY_NDBM enables this).  Turning off MY_NDBM causes CVS
20    to look for a system-supplied ndbm database library and use it
21    instead.  That may speed things up, but the default setting
22    generally works fine too.  */
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     "/tmp"
43 #endif
44
45 /*
46  * The default editor to use, if one does not specify the "-e" option
47  * to cvs, or does not have an EDITOR environment variable.  I set
48  * this to just "vi", and use the shell to find where "vi" actually
49  * is.  This allows sites with /usr/bin/vi or /usr/ucb/vi to work
50  * equally well (assuming that your PATH is reasonable).
51  */
52 #ifndef EDITOR_DFLT
53 #define EDITOR_DFLT     "vi"
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
74  * for 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  * This is likely to be the default in the future, but we want to give
92  * people who may be relying on absolute pathnames time to update
93  * their scripts/software.
94  */
95 #ifndef RELATIVE_REPOS
96 /* #define      RELATIVE_REPOS   */
97 #endif
98
99 /*
100  * When committing or importing files, you must enter a log message.
101  * Normally, you can do this either via the -m flag on the command
102  * line or an editor will be started for you.  If you like to use
103  * logging templates (the rcsinfo file within the $CVSROOT/CVSROOT
104  * directory), you might want to force people to use the editor even
105  * if they specify a message with -m.  Enabling FORCE_USE_EDITOR will
106  * cause the -m message to be appended to the temp file when the
107  * editor is started.
108  */
109 #ifndef FORCE_USE_EDITOR
110 /* #define      FORCE_USE_EDITOR */
111 #endif
112
113 /*
114  * When locking the repository, some sites like to remove locks and
115  * assume the program that created them went away if the lock has
116  * existed for a long time.  This used to be the default for previous
117  * versions of CVS.  CVS now attempts to be much more robust, so lock
118  * files should not be left around by mistake. The new behaviour will
119  * never remove old locks (they must now be removed by hand).
120  * Enabling CVS_FUDGELOCKS will cause CVS to remove locks that are
121  * older than CVSLCKAGE seconds.
122  * 
123  * Use of this option is NOT recommended.
124  */
125 #ifndef CVS_FUDGELOCKS
126 /* #define CVS_FUDGELOCKS */
127 #endif
128
129 /*
130  * When committing a permanent change, CVS and RCS make a log entry of
131  * who committed the change.  If you are committing the change logged
132  * in as "root" (not under "su" or other root-priv giving program),
133  * CVS/RCS cannot determine who is actually making the change.
134  *
135  * As such, by default, CVS disallows changes to be committed by users
136  * logged in as "root".  You can disable this option by commenting out
137  * the lines below.
138  */
139 #ifndef CVS_BADROOT
140 #define CVS_BADROOT
141 #endif
142
143 /* Define this to enable the SETXID support.  The way to use this is
144    to create a group with no users in it (except perhaps cvs
145    administrators), set the cvs executable to setgid that group, chown
146    all the repository files to that group, and change all directory
147    permissions in the repository to 770.  The last person to modify a
148    file will own it, but as long as directory permissions are set
149    right that won't matter.  You'll need a system which inherits file
150    groups from the parent directory (WARNING: using the wrong kind of
151    system (I think Solaris 2.4 is the wrong kind, for example) will
152    create a security hole!  You will receive no warning other than the
153    fact that files in the working directory are owned by the group
154    which cvs is setgid to).
155
156    One security hole which has been reported is that setgid is not
157    turned off when the editor is invoked--most editors provide a way
158    to execute a shell, or the user can specify an editor (this one is
159    large enough to drive a truck through).  Don't assume that the
160    holes described here are the only ones; I don't know how carefully
161    SETXID has been inspected for security holes.  */
162 #ifndef SETXID_SUPPORT
163 /* #define SETXID_SUPPORT */
164 #endif
165
166 /*
167  * Should we build the password-authenticating client?  Whether to
168  * include the password-authenticating _server_, on the other hand, is
169  * set in config.h.
170  */
171 #ifdef CLIENT_SUPPORT
172 #define AUTH_CLIENT_SUPPORT 1
173 #endif
174
175 /*
176  * If you are working with a large remote repository and a 'cvs
177  * checkout' is swamping your network and memory, define these to
178  * enable flow control.  You will end up with even less probability of
179  * a consistent checkout (see Concurrency in cvs.texinfo), but CVS
180  * doesn't try to guarantee that anyway.  The master server process
181  * will monitor how far it is getting behind, if it reaches the high
182  * water mark, it will signal the child process to stop generating
183  * data when convenient (ie: no locks are held, currently at the
184  * beginning of a new directory).  Once the buffer has drained
185  * sufficiently to reach the low water mark, it will be signalled to
186  * start again.  You may override the default hi/low watermarks here
187  * too.
188  */
189 #define SERVER_FLOWCONTROL
190 #define SERVER_HI_WATER (2 * 1024 * 1024)
191 #define SERVER_LO_WATER (1 * 1024 * 1024)
192
193 /* End of CVS configuration section */
194
195 /*
196  * Externs that are included in libc, but are used frequently enough
197  * to warrant defining here.
198  */
199 #ifndef STDC_HEADERS
200 extern void exit ();
201 #endif