Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 28 Sep 1996 21:08:17 -0400 (EDT)
From:      Thomas David Rivers <ponds!rivers@dg-rtp.dg.com>
To:        rkw@dataplex.net, ponds!ponds!rivers@ucbvax.Berkeley.EDU
Cc:        ponds!FreeBSD.org!hackers@ucbvax.Berkeley.EDU
Subject:   Re: NetBSD ==> FreeBSD make(1)
Message-ID:  <199609290108.VAA00289@lakes.water.net>

next in thread | raw e-mail | index | archive | help
> 
> > I've seriously modifed make(1) to "automagically" handle RCS
> >repositories, version selection rules, etc... (essentially the
> >basis of a rather nice Configuration Management system.)
> >
> > So, I'd be interested in whatever changes you made...
> 
> And I am interested in what you felt you needed to change in "make" (as
> oppesed to the makefiles) to support RCS, etc.
> 
> 
> 

 I needed to handle the idea of version selection rules; which is
cumbersome at best with RCS commands in the makefile itself.

 That is, I need to have rules such as:

	retrive the source which:
	  a) Has this symbolic name - if it exists
	 	-or-
	  b) Has this symbolic name (a different one) if it exists
		...
		-or-
	  c) Is the latest one
		-or-
	  d) Is this particular version
		-or-
	  d) Is the "busy" one (one currently checked out.)

 This mechanism is similar to how Shape and DSEE (both excellent
 source & configuration management systems) operate.

 My changes work by examining the "RULES" environment variable, for
example:

	RULES="exists(version2_1),exists(version2_0),exists(version1_0)"

 would retrieve a source from RCS that had a tag of 'version2_1' -
if that didn't exist, it would find one that had a tag of 'version2_0',
if that didn't exist, one that had a tag of 'version1_0'.

 Using a mechanism like this enabled you to determine just what files
go into which version of a product...

	- Dave Rivers -






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199609290108.VAA00289>