For example, if we would want to implement a trigger that will prevent users from permanently deleting ClearCase elements from the VOB using the "cleartool rmelem" command, here is one possible solution.
First, this is how to install a UNIX trigger, called "rmelem_trigger", on the VOB called "/vob/test". The trigger is actually a Perl script at this location "/clearcase/rmelem_trigger/rmelem_trigger.pl".
cleartool mktrtype -nc -element –all -preop rmelem -execunix "/usr/local/bin/perl /clearcase/rmelem_trigger/rmelem_trigger.pl" rmelem_trigger@/vob/test |
---|
In an environment with multiple types of operating systems, you may need to install a second trigger script. For example, here is the same installation command while running a different executable for Windows would be:
cleartool mktrtype -nc -element –all -preop rmelem -execunix "/usr/local/bin/perl /clearcase/rmelem_trigger/rmelem_trigger.pl" -execwin "\\\\network_machine_name\\shar_directory\\perl\\perl.exe \\\\network_machine_name\\shar_directory\\rmelem_trigger\\rmelem_trigger.pl" rmelem_trigger@/vob/test |
---|
An example of the trigger script in Perl for UNIX would be:
#!/usr/local/bin/perl my $WHOAMI = `/bin/whoami`; chomp $WHOAMI; if ($WHOAMI eq "root") { exit 0; } else { print “\n\nERROR: You are not allowed to remove elements from the VOB!\n\n\n”; exit 1; } |
---|
If the script exits with a status of "0", then the ClearCase Trigger action (cleartool rmelem) is executed. If the script exits with a status of "1", then the ClearCase Trigger action is NOT executed. Of course, the Windows Perl script needs to be written too.
To un-install a ClearCase trigger, use this command:
cleartool rmtype -force trtype:rmelem_trigger@vob:/vob/test |
---|
If you have any other ClearCase questions, please do not hesitate to contact me for free advice.
No comments:
Post a Comment