Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 04 Jul 1996 09:37:33 +0800
From:      Peter Wemm <peter@spinner.DIALix.COM>
To:        James Raynard <jraynard@jraynard.demon.co.uk>
Cc:        gpalmer@freebsd.org, alex@fa.tdktca.com, mpp@freefall.freebsd.org, CVS-committers@freefall.freebsd.org, cvs-all@freefall.freebsd.org, cvs-usrbin@freefall.freebsd.org
Subject:   Re: cvs commit: src/usr.bin/quota quota.c 
Message-ID:  <199607040137.JAA14584@spinner.DIALix.COM>
In-Reply-To: Your message of "Wed, 03 Jul 1996 20:44:08 GMT." <199607032044.UAA01957@jraynard.demon.co.uk> 

next in thread | previous in thread | raw e-mail | index | archive | help
>>>James Raynard said:
> >>>>> Gary Palmer <gpalmer@FreeBSD.ORG> writes:
> > 
> > So far only /sys and bin/sh have been imported from the lite-2
> > distribution as far as I remember. Looking in the commit logs would
> > probably be easier (~ncvs/CVSROOT/commitlogs/sys)
> 
> What's the "approved" way to import Lite-2 code? (Sorry, I don't have
> a CVS tree to look at at the moment).

There is actually a pretty good reason why we have not done a bulk import 
of the Lite-2 code to the userland areas.

The main problem is that a good deal of the userland area has not been 
touched, so it's all on the vendor branch still.  By that, I mean the 
files have never been committed to, so the checked out version implicitly 
comes from the 1.1.1 branch, as there is no 1.1, 1.2 etc deltas.

What this means, is that when a Lite-2 version is imported, a new 1.1.1 
branch entry (1.1.1.2) is created, so all the files that are still on the 
1.1.1 vendor branch suddenly *change* to the lite-2 version, while those 
that have been committed to are left alone based on the Lite-1 version.  
The usual result is that the module then wont compile.

If we imported Lite-2 into userland in bulk, up to 90% of the source 
modules would no longer compile.

There are four options here..

1: commit to all files in userland to get them onto a stable code line, so 
we can import Lite2 and nothing will happen until somebody manually merges 
it in at their leisure.  Simply adding a $Id$ to *every single file* would 
do this.  Once it's done, import the whole lot, and gradually pull in the 
new stuff as needed.

2: Set something up so that anybody can import Lite-2 from the cdrom and 
have a reasonable chance of succeeding...  easy-import was meant to help 
this, but we still seem to have a lot of hassles with it, so I dont know 
what the answer is. Perhaps just a good set of instructions and a "how to 
import stuff" is what is needed.  But then, as we've found with the ports 
tree guidelines, many people still dont read the docs.

3: Import the tree bulk, allowing userland to be broken, then set 
everybody loose merging it in to fix it.  This would have the advantage of 
getting it over and done with, but it would cause chaos along the way for 
a week or two.

4: Do nothing - it's too hard, and do the imports piecemeal, like sys, 
lpr, sh etc so far...

By default, we seem to have ended up with #4, at least until the kernel is 
updated to use the Lite-2 interfaces.  If a couple of people with a lot of 
spare time also understand the Lite vs. Lite-2 changes in the kernel 
interface that have not been completed yet would be interested in doing a 
gradual update, module by module, resolving the conflicts as they go, then 
I guess I could instruct them in how to deal with importing the lite-2 
code and we could let them loose.

Do we want to do this?  Going for a flag-fall day for importing the lot 
would certainly get it done quicker......  or should we wait for the 
Lite-2 parts of the kernel to arrive so that we dont have to keep parts of 
Lite-1 around?

Cheers,
-Peter





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