Previous: Configuration Variables, Up: Environment

7.3 Other Variables

7.3.1 USER

If “configure” detects that UIDs are not supported on the system you are running on (that is, you are compiling on a system that doesn't look at all like Unix) then the environment variable USER is used to determine the invoking user's name. This is then the name which is used in the p-file and in the delta information for new deltas. This username is also compared against the list of authorised users by delta. Of course, this doesn't provide much security but in the absence of user ID support, cssc can't tell who users really are anyway.

The behaviour of cssc with respect to this option is not sensitive to whether or not programs are installed set-user-id, because this variable is only consulted on systems where set-user-id is not supported. This may be a problem on systems where it is possible to grant enhanced privileges to a program, but which do not look like Unix to the “configure” program.


If set, the environment variable CSSC_SHOW_SEQSTATE will cause cssc to emit debugging information about the delta table to stderr. This is only of use when debugging cssc.


The PROJECTDIR environment variable is used only by the sccs driver program. This variable is ignored if the sccs program is installed with the set-user-ID bit set. See Known Problems, for other remarks concerning setuid execution.

The PROJECTDIR variable is used to locate the sccs history file corresponding to a filename given on the command line. If the value of PROJECTDIR starts with a `/', it is used as an absolute directory name. If PROJECTDIR does not start with a slash, it is assumed to be the name of a user, and sccs files are assumed to be in the subdirectory “src” or “source” beneath their home directory.

7.3.4 PATH

Normally, the sccs driver program locates the other tools by searching the directories specified in PATH, but if it is running set-user-id or set-group-id, a compiled-in value is used instead. By default, this value is is /usr/sccs.

If sccs is not privileged, it will fall back on the compiled-in value in order to find the other tools if they are not found in any of the directories in $PATH.

In normal operation, sccs diffs will use the system diff command by searching the PATH environment variable. This doesn't happen if it is running set-user-id or set-group-id.


None of the programs in the cssc suite take any specific action regarding the LD_LIBRARY_PATH environment variable, but your system libraries may take notice of it (or decide not to do so, for example when a program is running set-user-id or set-group-id).

7.3.6 TMPDIR

The sccsdiff program ignores the setting of the TMPDIR environment variable. Temporary files with predictable names are created in the /tmp directory. See Known Problems.

7.3.7 Locale variables

The sccs driver program uses the setlocale function, whose behaviour depends on several implementation-dependent environment variables. If you are using the GNU C library, these variables are LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME, and LANG. The setlocale function is not called if sccs is running set-user-id or set-group-id.