Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 20 Jun 1997 16:02:35 -0400
From:      Mark Mayo <mark@quickweb.com>
To:        John Polstra <jdp@polstra.com>
Cc:        mark@quickweb.com, hackers@freebsd.org
Subject:   Re: make world error in RELENG_2_2
Message-ID:  <19970620160235.20002@vinyl.quickweb.com>
In-Reply-To: <199706201913.MAA12625@austin.polstra.com>; from John Polstra on Fri, Jun 20, 1997 at 12:13:55PM -0700
References:  <m0wevep-000A41C@TomQNX.tomqnx.com> <26359.866788909@time.cdrom.com> <19970620120938.27122@vinyl.quickweb.com> <199706201913.MAA12625@austin.polstra.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, Jun 20, 1997 at 12:13:55PM -0700, John Polstra wrote:
> > > It's not a problem with cvsup.  It's a fundamental flaw in the model
> > > of trying to "upgrade" a source tree by continually:
> > > 
> > > 	a) Changing modified bits.
> > > 	b) Adding new ones.
> > > 	c) Not deleting the old ones.
> > > 
> > > It's (c) which is the killer since you will eventually confuse the
> > > bezeesus out of the build system with old bits.  Do you have the
> > > "delete" option turned on in your supfile?
> > 
> > I turns out this is indeed the case...
> > [...]
> > I assumed that cvsup did (c) above, when it doesn't.
> 
> You're certainly not the first person to get bitten by that.  CVSup
> in general (exception described below) has the attitude, "If I
> didn't create it, I'm not allowed to delete it."  Believe me, users
> get real offended if it behaves any other way.  So things work just
> fine if you originally created your tree using CVSup.  It knows it
> has the authority and the responsibility to clean up files that
> later get moved or deleted in the master source tree.

Ok. I get it. That seems reasonable - indeed, good material for the
FAQ. :-)

> [SNIP]
> that should work 100% fine:
> 
> 1. Start with a definite known version of the source tree.
>    Let's say it's FreeBSD-2.2.2-RELEASE, for example.
> 
> 2. To adopt the tree accurately, do one CVSup update specifying the
>    exact release that you have.  In this case, you use
>    "tag=RELENG_2_2_2_RELEASE".  The update should of course make
>    no changes to your tree.  But it will have the side-effect of
>    allowing CVSup to feel that it "owns" all of the files.  (Its
>    ability to "feel" is one of its many advanced features. :-)
> 
> 3. Now change your tag to whatever you really want, e.g.,
>    "tag=RELENG_2_2" for -2.2-stable.  Do another CVSup update.
>    Any files that should be added or deleted will be handled
>    properly.

Excellent. I'll add this to my tutorial, I'm sure a lot of people
didn't know this is how it works.

> [SNIP]
> for discussion in the non-existent CVSup FAQ. :-)

Or even the man page. Even a quick mention that cvsup won't delete
files that it doesn't "own" would be good. 

In general, I think a lot more could be written about the whole
FreeBSD build procedure. I'll write what I can, and post to the
list when I'm done for a review.

-Mark

> --
>    John Polstra                                       jdp@polstra.com
>    John D. Polstra & Co., Inc.                Seattle, Washington USA
>    "Self-knowledge is always bad news."                 -- John Barth

-- 
----------------------------------------------------------------------------
 Mark Mayo		  				mark@quickweb.com       
 RingZero Comp.  	  		   http://vinyl.quickweb.com/mark 

	 finger mark@quickweb.com for my PGP key and GCS code
----------------------------------------------------------------------------
	University degrees are a bit like adultery: you may not want to 
	get involved with that sort of thing, but you don't want to be 
	thought incapable.	-Sir Peter Imbert



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