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