home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.unix.bsd
- Path: sparky!uunet!elroy.jpl.nasa.gov!sdd.hp.com!uakari.primate.wisc.edu!caen!hellgate.utah.edu!fcom.cc.utah.edu!cs.weber.edu!terry
- From: terry@cs.weber.edu (A Wizard of Earth C)
- Subject: Re: 386BSD PARTIAL PATCH KIT NOW AVAILABLE
- Message-ID: <1992Sep14.172427.1194@fcom.cc.utah.edu>
- Sender: news@fcom.cc.utah.edu
- Organization: Weber State University (Ogden, UT)
- References: <1992Sep13.010735.1171@fcom.cc.utah.edu> <david.716436045@mlb.geomechanics.csiro.au>
- Date: Mon, 14 Sep 92 17:24:27 GMT
- Lines: 143
-
- In article <david.716436045@mlb.geomechanics.csiro.au> david@mlb.geomechanics.csiro.au (David Le Blanc) writes:
- >terry@cs.weber.edu (A Wizard of Earth C) writes:
- >
- >>I have uploaded the first 19 patches and the patchkit software to the
- >>directory /pub/incoming/terry on agate.berkeley.edu. This is not a
- >>complete set, as there are still 10-20 patches not yet in patchkit format.
- >
- >>The following is a list of the patches in the current patch kit.
- >>Remember that the patchkit expects to start with a "virgin" kernel... no
- >>strange hacks allowed.
- >
- >Please note that this is rather rude, and very restrictive.
-
- I assume that you mean the reference to a '"virgin" kernel. If you can tell
- me how to write a patch program that doesn't require context differences,
- I'll be happy to incorporate (and patent 8-)) the technology.
-
- Until then, the patches are incremental in nature. This means for all the
- existing patches, I have to start with a "baseline"... ie: a "virgin" kernel,
- or some agreed upon baseline. It also means that, in order to produce the
- patches in the first place, I have to *manually* go through them to insure
- that conflicts between patches are resolved (since there was no incremental
- management of the patches in the first place).
-
- If you produce a patch to wd.c and I produce a patch to wd.c, and joe blow
- produces a patch to wd.c, there has to be an *order* to the patches so that
- there aren't any conflicts. There has to be *enforcement* of this order,
- since I can't tell what patches you already have installed, and for the
- context to be correct, the order *must* be enforced. There's no other
- way I can see to get the majority of patches out to the majority of
- people. I have been keeping multiple source trees for baselining from day
- 1 to facilitate this.
-
- >Is your patch kit going to help me with the bus mouse driver I have to patch
- >in? Or make things hard?
-
- If you are talking about the Logitech one posted here, then it will simply
- install as a patch, as will the AT&T EN100/PC-10 NAU ethernet board drivers.
-
- It's true that I haven't taken into account automatic rebuild (at least not
- yet) of the patched files. This is partly because I am rolling in the 4.3
- Reno patches posted to the net, and I can't be guaranteed a full source tree
- anywhere but the kernel (how do I remake "init" after it is patched, for
- example?). I will probably be including a machanism for kernel rebuild
- and a tag to indicate that it is necessary, but have done nothing on it so
- far. I suppose I will have to include the running of MAKEDEV as well.
-
- I have also not placed it in an easily accessable area; casual browsers
- won't find it, and it won't be echoed to other sites mirroring agate.
- This is intentional; the thing is admittedly "alpha". In particular, the
- code identifying falure to install the patch and patches 14 and 16 have
- problems. Patches 14 and 16 can be incrementally deinstalled until this
- is fixed (it's fixed now, but upload will wait until tonight). When it
- goes "beta", meaning that I know all patches so far are represented and
- that they install correctly, I will ask Chris to make the thing public,
- and it will get mirrored everywhere.
-
- >Will it work with, or cause problems for those installing the patches for
- >using X386 ?
-
- Obviously, if the context diffs for the X are not taken against baseline code,
- there will be problems. Certainly there will *not* be problems if the diffs
- are against a "fully patched" kernel, or if the affected files are patch
- level 0 (new files) or part of the original distribution, and are not touched
- by the patch kit.
-
- >Will the X386 patches be incorporated?
-
- The ones on agate in the incoming/X386 directory *have been*; they just
- haven't been posted yet (I felt it would be easier to debug 20 patches
- at the same time rather than 40 of them -- so sue me). If there are more
- recent versions, they will require incorporation against baseline, which
- is defines as the patches you have applied and the patch level of the
- file affected.
-
- >Granted I have not seen the patchkit software, I would be happy if you
- >allowed a modular approach, so that I could add a patch to the
- >'patchkit' directory, edit some central config file, and run the software.
- >
- >I may then select the new patch, and have it applied.
-
- It is modular; however, because I haven't been able to work out how to
- (automatically, preferrably) manage baselining, I haven't distributed the
- patch-building software (mkpatch) or it's documentation, or the tutorial.
- I am currently trying to work with Nate (the bug list keeper) on a way to
- manage this, and when we have something, I am sure we will post. Until
- then, I will probably keep incorporating patches as they are posted. To
- directly answer, the question, however, NO, YOU CAN NOT CURRENTLY MAKE
- NEW PATCHES BECAUSE YOU DO NOT HAVE THE PATCH PRODUCTION SOFTWARE, AND
- ANYONE THINKING OF MAKING PATCHES IS STRONGLY DISCOURAGED FROM PUTTING
- THEM IN PATCHKIT FORMAT THEMSELVES BECAUSE OF THE CONFLICT MANAGEMENT
- ISSUES WHICH STILL NEED TO BE ADDRESSED.
-
- >Could all patches be kept in a compressed form?
-
- Initially, all the patches *are* in compressed form. The failure of a
- compression of compressed data is why the file containing both the patch
- kits and the patch software is simply a tar archive (as previously posted).
-
- I do *not* store installed patches or ready-to-install patches in compressed
- form; however, the patch generation software does pack them that way for
- distribution.
-
- I could not worry too much about disk space, since the way things are
- currently arranged, previous patch levels *must* be left around for subsequent
- patches to know what has been installed. Later, this will be replaced with
- patch removal via "patch -R". I haven't done that yet.
-
-
- Bottom line: I make some assumptions which cost a small amount of disk space,
- which may be too expensive for people who only have a "very small" amount of
- disk. These people are unlikely to benefit from the installation of patches
- anyway, since they are unlikely to be able to rebuild their kernel. I make
- some assumptions about baselining that means you have to have a "virgin"
- kernel with no patches to the files to be patched. This is the assumption
- that practically all patch posters have held to so far. I make it so an
- idiot can patch kernels (not that I expect many idiots to be able to con
- anyone into installing the patch software for them, much less knowing how
- to usae ftp). I make it so that you can apply multiple patches to the same
- file. I make non-prerequisite patches optional (admittedly a value judgement
- on my part). I provide a common mechanism for patch distribution so that
- patches and new files are not in a bad format because someon forgot the "-c"
- option to diff or put the file name parameters in the wrong order.
-
- I am *not* setting myself up as "patch god". Since I expect that 0.2 will
- eventually be released, that would be a stupid move on my part, not to mention
- that I really already have my hands full at the moment with other things. I
- realize that this will probably be the short term effect of "official" patch
- numbers, and incremental installation, and am working dilligently to resolve
- this. Until then, if you don't like it, don't use it.
-
-
- 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
- -------------------------------------------------------------------------------
-