This directory contains files which can be used to configure the wrapper
for specific needs, either on a site on a user basis.

VobPathConv.pm (and its pod files) does however not require any configuration
and may be used as such. I may even consider to extract it and publish it
as a separate package in its own, albeit modest, right.
It offers functions to convert paths from Windows to Unix, using the registry
to map the tags in associated regions.
It must be installed in the @INC path as ClearCase::VobPathConv.

The remaining files can be used as examples or a templates. They all require
some customization.

'locklbtype' is a standalone script, intended to be installed suid enabled,
owned by an account, which is itself authorized in the ssh configurations of
the respective vob owners of all vobs in the local region, to run locking
commands. It acts as a switch, allowing to simplify the maintainance of the
~/.ssh/authorized_keys files.
The customization it requires is mostly the name of the host running an sshd
daemon which it will use. One needs to avoid using 'localhost' here, so that
different host keys do not overwrite each other in the ~/.ssh/known_hosts
files.
One may also set the name of the log used to save the identity of the
unlocking users (for lock events, this is saved in a comment of the locks).
The paths to ssh and cleartool are likely to be satisfying.

In order to use this script, you need to define a pair of functions, for
locking and unlocking. A first attempt implemented them in a
'.clearcase_profile.pl' startup file, read at every invocation of the wrapper.

An example .clearcase_profile.pl is left, setting the ipc mode for all commands
apart for setview (unavailable then, assuming the wrapper itself is used from
a vob).

This was thought as penalizing functions which do not require locking. It was
thus moved into a module which you can set via an environment variable, and
thus to have a performance impact only on the lock/unlock functions.
It must be installed in the @INC path, under a ClearCase directory.
It comes in two distinct versions, one for unix, and one for Windows (and
cygwin):

  FORCELOCK=ClearCase::ForceLockUnix #Unix
  FORCELOCK=ClearCase::ForceLock     #Windows

The unix version, is meant to invoke locklbtype via a system call, therefore
using the suid bit mechanism offered by unix shells.
The only customization is the path to the locklbtype utility.

In a Windows environment, the related module fills the same role, but
invokes the suid script on a unix host, via ssh.

It depends on a long list of modules, which I could successfully install
on: cygwin 1.7 / perl 5.10 / libgmp-devel 4.3.1-1, libssh2
and which I don't desperate yet (failing for now on Math::GMP) to install on:
Windows Vista / Active perl 5.10 / GMP-4.1.2

Digest-HMAC-1.01
Class-ErrorHandler-0.01
Convert-ASN1-0.22
Crypt-CBC-2.30
Crypt-DES-2.05
Crypt-Blowfish-2.10
Crypt-DES_EDE3-0.01
Convert-PEM-0.07
Digest-SHA1-2.1
Data-Buffer-0.04
Class-Loader-2.03
Convert-ASCII-Armour-1.4
Digest-MD2-2.03
Sort-Versions-1.5
Tie-EncryptedHash-1.24
Digest-BubbleBabble-0.01
String-CRC32-1.4
Math::GMP-2.05
Math::BigInt::GMP-1.24
Math::BigInt-1.89
Net::SSH::Perl-1.34

Note that these are just the versions I use, and which work for me.
I cannot claim that this list is a minimal requirement.
