Index syndication
comment syndication

Clearcase 7.1.x install on Solaris X64/x86

I’ve been struggling to install the beast that is Clearcase 7.1.1 on a proof of concept server.
In this case the server is a Solaris 10 64bit install running on VMware Fusion 3.

One of the initial mistakes I made was to try and run the installation from a network mount. DON’T. Solaris must block the execution of code on some types of removable drives, which in this case was a VMWare Fusion shared folder.

A second thing that is not clear in the README files: Clearcase 7.1.1 on Solaris x86 does NOT support the GUI installation. Therefore, for me as much as any readers of this blog, I’ll document the steps to kick off a fresh/silent installation.

The install will be/have:

  • A local install
  • Clearcase Atria Licencing, local
  • IBM Installation Manager installed first
  • ClearCase installed second
  1. Download your entitled product for Solaris X86, for CC7.1.1 which is:
    • CZ9XKML
    • IBM Rational ClearCase V7.1.1 Solaris x86 Platform Edition Multilingual

    If you need an evaluation copy, they are also available.

  2. Copy the archive to your server, and extract it. I’ll use /var/ccinstall for my install source, but adjust as required:

    mkdir -p /var/ccinstall
    cp -p /var/ccinstall
    cd /var/ccinstall
    cd disk1
  3. Follow the IBM documented steps for preparing a silent install. For my steps the dir /var/ccinstall/disk1 will be esd_image_root.
  4. Kick off the install:

    /var/ccinstall/disk1/InstallerImage_*/install \
    --launcher.ini \
    /var/ccinstall/disk1/InstallerImage_*/silent-install.ini \
    -silent \
    -input clearcase_response_sol_x86.xml \
    -log silentinstall.log

    If you want to also show the progress, include the switch -showVerboseProgress

At this point kick back and make a few coffees.

Rational Clearcase appreciation

I’m coming to appreciate IBM’s Rational Clearcase, aside from the price point of course. But work have a license for it, and I have to use it. Don’t get me wrong, CVS is fantastic for tracking your small projects or larger ones with average complexity. I still use CVS for my own code, BUT clearcase has these features built in that you just start to take for granted. Here is a list of the ones I think make it a cut above CVS on a time intensive and complex project:

  • Editing commit comments from the GUI or cmd line
  • Triggers – including haveing pre and post operation triggers – some of mine are in perl!
  • Labels vs CVS tags
  • Element based branching based upon a view configspec
  • Clear Merge Manager – This one is a lifesaver!
  • renaming elements, specifically directories from GUI or cmd line

You can see from my short list that there are some things there that are powerful and make life very easy in a multi stream multi branch project management environment.
A case in point: I spent the last 3 hours baselining our Development, and testing branches – being 3 branches. We have started a new release cycle after our product has gone live in production, but there are still release fixes and defects being resolved that will get applied to production at a later date (2nd drop).
By baselining and labelling my code in these branches, I can easily track code changes across both the new development cycles and the concurrent release fixes.

On the whole, after half a year using Rational Clearcase, I can say the experience – despite the initial VERY LARGE learning curve – has been positive.

Clearcase Branches Solved?

I think I may have stumbled upon the answer. I’m so set in my CVS ways that I though the best thing was to branch the entire top level folder – recursively. What I really was after was a way of setting the configspec on the NEW view I create for the new branch, and making it show code that is labeled with a particcular label, then when it is checked out and in, a new revision exists on the new branch. The advantage here, is that my new view shows exactly what I need without the need for checking out a version of every file in that view.

This post over at the IBM Rational Clearcase forums describes EXACTLY what I was after, and explained it in the precise terms I needed. I’m thinking differently now, and if it works as I intend, then I shall write further about this adventure into SCM.

Clearcase Branches

I’m so used to making branches in CVS.

cvs tag -b system_test

As the CVS doco states simply, “This splits off a branch based on the current revisions in the working copy”, and these revisions will get assigned the branch name, in this case `system_test’. Simple, powerful enough and quick!

But Rational Clearcase is a different beast as I learn it. You have to make your branchtype.
cleartool mkbr system_test
All good so far.

Next I must merge stuff from the current mainline to my new branch, BUT I can only do it a file at a time or using findmerge??? When I do a dry run, the element does not exist in the new branch though so it says it will skip everything… Hmmm
On top of all this one must not forget to set your view configspec set to show this branch! (like a CVS Checkout with your branch tag being sticky).

No wonder people prefer CVS. Clearcase IS powerful once you know it, but the learning curve is huge.

So asking for help – if anyone actually reads this – any quick ways to branch the /main/LATEST into my new branch?