From: terry@cs.weber.edu (A Wizard of Earth C)
Subject: Over 30 386BSD patches
Organization: Weber State University  (Ogden, UT)
Date: Sat, 12 Sep 92 09:27:17 GMT


        I have recently (3:30 am) completed work on a patch kit system which
enforces order when applying patches, includes the ability to generate
multiple source file and replacement binary file patches, and contains over
30 patches which have either been posted in comp.unix.bsd or in some cases
never posted before (ie: some of my own).

        Using the patch kit, it is possible to apply all the patches, deapply
the patches, and generate new patches which know about being dependant on
having previous patches.  This should allow users with source distributions
to have a fully "up to date" kernel relatively painlessly, assuming you start
from virgin sources.

        I will be uploading the patch kit itself to agate.berkeley.edu
tomorrow (well, today, actually).  To the best of my knowledge, it has all
known patches to 386BSD which are publicaly available.

The following is the README file:

------------------------------------------------------------------------------



			    PATCH KIT FOR 386BSD

				Terry Lambert

			      Beta version 0.1

				  12 Sep 92


1.	What is the patch kit for 386bsd?

	This kit contains a tool called "patches" which provides a means
	applying incremental patches to 386bsd, directories necessary to
	support the tool, and a large number of compressed, ready to
	install patches.


2.	What are the assumptions made in the patch kit?

	The patch kit assumes that you are starting with a "virgin" 386bsd
	installation -- that is, a source distribution with absolutely no
	patches installed.


3.	What does the patch kit do for me?

	The patch kit gives you the ability to incrementally install the
	patches provided as "current" patches, as well as any new patches
	distributed in "patchkit format" in the future.

	The main advantage to using the patch kit is the ability to add
	patches incrementally, rather than haphazardly.  Until now, the
	patches to 386bsd have often required that no other patches be
	installed on the files being patched.  This means that you have
	had to choose between two patches to the same file rather than
	being able to have both at the same time.  This is because the
	patches have not been incremental.  In the few cases where you
	were told to "install patch xyz, then install this patch", there
	hasn't been any real way to locate or uniquely identify the
	prerequisite patches.  It's ridiculous to get an NFS patch that
	you have been needing for a long time, but then not being able
	to use it because of a missing patch you didn't think you needed.

	In addition, even though it has been possible to distribute new
	files, it hasn't been possible to distribute new binary files
	(patching old binaries is not currently supported, however
	replacing them or adding new ones is).


4.	How do I install the patch kit?

	a)	cd /
	b)	Download the file "patchkit-0.1.tar" from your
		favorite archive.
	c)	tar xvf patchkit-0.1.tar
	d)	cd patch/bin
	e)	mkpatchdirs

	This will create the directory "patch" with subdirectories "bin",
	"ready", "inbound", "outbound", "installed", and "tmp".

	The subdirectories contain:

	bin	patches		The program to install and remove patches
		mkpatchdirs	The empty directory creation script
		mkpatch		[restricted release] The script to create
				new patches.

	inbound			Compressed tar files, one per patch

	outbound		[restricted release] Patches created by
				you packed for upload to an archive site

	ready			[empty] Directory to contain unpacked
				patches which used to be in inbound.  The
				patches in this directory have not been
				installed yet.

	installed		[empty] Directory to conating patches that
				have been installed and may now be
				deinstalled.

	tmp			A work directory for use by the patches and
				mkpatch programs.


	Note:  Since the patch directory is current directory relative, you
	may install it on a secondary disk or remotely mounted partition
	without problems.  The location which will be used if step (a) is
	followd above is /patch.


5.	How do I use the patch kit?

	Any new patches from an archive should be in compressed tar format.
	Simply place them in the inbound directory (see #4 above) and they
	will be immediately available for installation.

	When you wish to install or deinstall patches, you should:

		cd /patch/bin
		patches

	The program will scan for patches in the inbound directory and
	offer to unpack them.  Generally, you should always say "yes" (or
	hit the return key, since it's the default) when asked if new
	patches should be unpacked.


	The program will then display statistics on the available patches;
	hit return to get the main menu.  On line help is available for the
	menu AND FOR EACH PATCH TO TELL YOU WHAT IT DOES.


6.	END OF DOCUMENT
------------------------------------------------------------------------------


					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
-------------------------------------------------------------------------------
Newsgroups: comp.unix.bsd