Non-clearmake build and shell command auditing facility for dynamic views
Product | Command Type |
---|---|
ClearCase | command |
Platform |
---|
UNIX |
Windows |
NOTE: clearaudit is applicable to dynamic views only.
The clearaudit command runs an audited shell with the same view and working directory as the current process. MVFS files created within an audited shell (or any of its children) are derived objects (DOs). When it exits, an audited shell creates a configuration record (CR) and associates it with each of the newly created DOs.
The CR and DOs produced by clearaudit are similar to those created by clearmake. They can be listed, compared, and deleted with the same cleartool commands used for other DOs (see below). They can be shared with other views through explicit winkin commands, but they cannot be winked in by clearmake. They can be checked in as DO versions. For more information about configuration records, see Building Software.
clearaudit itself is not a shell. It starts an audit and then executes an underlying shell. clearaudit determines which shell to run as follows:
First choice: the value of environment variable CLEARAUDIT_SHELL, which must be the full pathname of a program
Second choice: the value of the UNIX environment variable SHELL,or the Windows environment variable COMSPEC. These environment variables must be set to the full pathname of a program
If no EV is set: the Bourne shell, /bin/sh (UNIX) or cmd.exe (Windows)
On UNIX systems, the process from which you invoke clearaudit must have a view context: set view or working directory view. In either case, the audited process is set to that view. An error occurs if the invoking process has no view context, or if its working directory view differs from its set view. (See the pwv reference page.)
On Windows systems as well, the process from which you invoke clearaudit must have a view context for the audited process. An error occurs if the invoking process has no view context.
clearaudit creates temporary build files in the directory specified by the CCASE_AUDIT_TMPDIR environment variable. If this EV is not set or is set to an empty value, clearaudit creates temporary files in the directory specified as follows:
On UNIX systems, by the TMPDIR environment variable. If neither EV is set, clearaudit creates temporary files in the /tmp directory.
On Windows systems, by the TMP environment variable.
All temporary files are deleted when clearaudit exits. If the value of CCASE_AUDIT_TMPDIR is a directory under a VOB-tag, clearaudit prints an error message and exits.
clearaudit can be used to document the work performed by any process. For example, you can use clearaudit to audit the creation of a UNIX tar(1) file or a Windows backup operation, producing a configuration record that describes exactly which files and/or versions were archived.
You can also use clearaudit to produce derived objects and configuration records for software builds performed with another make program, such as UNIX make(1) or Windows nmake. Follow these guidelines:
On UNIX systems:
Set the value of SHELL to /usr/atria/bin/clearaudit in the makefile.
Set your process's CLEARAUDIT_SHELL environment variable to your normal shell, for example, /bin/sh. This prevents recursive invocation of clearaudit: if CLEARAUDIT_SHELL is not set, clearaudit attempts to start the shell specified in SHELL, which was set to clearaudit.
If you want to produce a single CR for each target's build script, structure your makefiles so that each build script is a single shell command. Use continuation lines (\) as necessary.
On Windows systems:
Set the value of COMSPEC to ccase-home-dir\bin\clearaudit in the makefile.
Set your process's CLEARAUDIT_SHELL environment variable to your normal shell, for example,%SYSTEMROOT%\system32\cmd.exe. This prevents recursive invocation of clearaudit: if CLEARAUDIT_SHELL is not set, clearaudit attempts to start the shell specified in COMSPEC, which was set to clearaudit.
If you want to produce a single CR for each target's build script, structure your makefiles so that each build script is a single shell command. Use continuation lines (^) as necessary.
A shell script that begins with the following line is executed in an audited shell:
#! /usr/atria/bin/clearaudit
Be sure that the process from which the script is invoked has CLEARAUDIT_SHELL set, as described above.
Run program myscr in an audited C shell.
% env SHELL=/bin/csh clearaudit -c myscr
Run program validation_suite in an audited third-party shell tool.
C:\>
set CLEARAUDIT_SHELL= R:\MKSNT\mksnt\bin\sh.exe
C:\>
clearaudit /c validation_suite
This example shows a typical CR produced by clearaudit. It describes all files produced by a software build with UNIX make. View-private files are marked with time stamps.
Target ClearAudit_Shell built by block.user
Host "starfield" running IRIX 4.0.1 (IP6)
Reference Time 16-May-99.10:24:08, this audit started 16-May-99.10:24:08
View was starfield:/usr/people/block/cc_views/view.bl62
Initial working directory was /vobs/doc/reference_man/test
----------------------------
MVFS objects:
----------------------------
/vobs/doc/reference_man/test/hello@@16-May.10:25.16742
/vobs/doc/reference_man/test/hello.c <16-May-99.10:11:34>
/vobs/doc/reference_man/test/hello.o@@16-May.10:25.16740
/vobs/doc/reference_man/test/makefile <16-May-99.10:23:57>
Run a batch file that performs a backup in an audited shell; create an empty derived object (bkup_do) whose CR lists all of the backed-up objects.
C:\>
clearaudit /c audit_bkup C:\users e:
Batch file audit_bkup:
rem
echo Audited backup of %1
echo Backup destination is %2
backup %1 %2 /s
rem
echo Creating derived object bkup_do
echo "" > .\bkup_dofc
catcr, clearmake, diffcr, lsdo, omake, pwv, rmdo, scrubber, setview, make(1), sh(1), tar(1), Building Software
Feedback on the documentation in this site? We welcome any comments!
Copyright © 2001 by Rational Software Corporation. All rights reserved. |