Return to BSD News archive
Newsgroups: comp.unix.bsd Path: sserve!manuel!munnari.oz.au!spool.mu.edu!sdd.hp.com!usc!sol.ctr.columbia.edu!eff!news.byu.edu!ux1!fcom.cc.utah.edu!cs.weber.edu!terry From: terry@cs.weber.edu (A Wizard of Earth C) Subject: Re: version control with 386bsd Message-ID: <1992Sep16.170742.20817@fcom.cc.utah.edu> Keywords: version control RCS CVS Sender: news@fcom.cc.utah.edu Organization: Weber State University (Ogden, UT) References: <cproto.716644144@marsh> Date: Wed, 16 Sep 92 17:07:42 GMT Lines: 61 In article <cproto.716644144@marsh> cproto@cs.curtin.edu.au (Computer Protocol) writes: > >Hi there, > >has anybody had success with RCS or CVS in the 386BSD context? I would >like to take some or maybe all of 386bsd-0.1 under version control. I >played with both RCS and CVS. Neither seems to be very satisfactory. > >Take the kernel for example. If you have all kernel sources under RCS >control then you have to either check out all sources and include files >required for a later make or you have to add some rules to the makefile >to check out required sources and remove them after the compilation. >The second option doesn't work for include files or if explicit rules >are specified for a certain target. The first option has the drawback >that after the make you have to remove all sources and includes. > >Another possibility is to edit all required makefiles to do all >individual checking out and remove all sources once they are not >required any further. (YUCK) > >Note that if you check out all required sources for a large make then >you require twice the diskspace occupied by your sources. > >If you use CVS you again have no option but to check out all files in >advance before you start your make. > >Could it be that i'm blind and don't see the obvious solution? The second soloution is the correct one. Make "build" rules for .c and .h files from rcs/cvs checkout. MAKE SURE YOU "make depend" YOUR "Makefile"S! THIS IS THE MISSING STEP. IF A REQUIRED FILE IS MISSING, IT WILL BE "BUILT" FROM SOURCE CODE CONTROL EXTRACTION. THIS INCLUDES HEADER FILES. A MODIFIED ".o" BUILD RULE WILL AUTOMATICALLY REMOVE/CHECK-IN SOURCE FILES IF DONE CORRECTLY. THIS PREVENTS A NEED FOR WHOLESALE MODIFICATION OF THE MAKEFILES. Of course if your build procedure is "make depend", "make all", "make install", and "make clean", in that order, you won't need to modify the ".o" building rule, and will have at most one directory of .o files at a time. This implies that "make install" does a "touch" of an indicator file, which is used as the initial target dependency to allow skipping building unless the controlled sources have changed and post-date the last build. Personally, I'd use Imake and a modified Project template and rules file. Terry Lambert terry_lambert@gateway.novell.com terry@icarus.weber.edu --- Any opinions in this posting are my own and not those of my present or previous employers. -- ------------------------------------------------------------------------------- "I have an 8 user poetic license" - me Get the 386bsd FAQ from agate.berkeley.edu:/pub/386BSD/386bsd-0.1/unofficial -------------------------------------------------------------------------------