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.
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).
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.
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.