Build dependencies from Unix directories
Here is a problematic but common scenario:
- We have a normal installation of a product X in a Unix
directory. This is used by our builds. No mention of the files
used is recorded in the config records of the derived objects
produced: with respect to these files, clearmake behaves exactly
as the standard make and relies fully on time stamps.
- We install a new version of X. A large number of the files are
upgraded so that neither their name nor their path changes. We
build with clearmake: only the
DOs whose
time-stamp was older than this of the files in the new version
are rebuilt. From ClearCase's point of view, the others are
valid! In order to be sure, we can resort to building
"unconditional".
- We get a customer report and want to build a bug fix. We may
have left one host with a local installation of the previous
version of X --which was used-- or we may uninstall the new
version and reinstall the old (on one host). Again, a normal
build will not detect the change and will validate at least for
some DOs, the files produced with the other version of X! At
this point, and later as we switch back to the new version, the
only recourse for use is to build unconditional:
otherwise clearmake may winkin versions of either set!
We can make a careful analysis and remove one set of DOs. Also,
eventually the problem will fade away as we edit our sources and
compile them in the appropriate environment.
The problem comes indeed from the fact that ClearCase maintains
several versions of the DOs, which other SCM tools typically don't do.
3rd party product control ToC
Marc Girod
Last modified: Fri Sep 27 09:46:21 EETDST 2002