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 175extern void exit (); 176#endif 177 178#define NO_SOCKET_TO_FD 1 179#include "vms.h" 180