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>