[comp.os.minix] 1.2-1.3.tar upgrade HELP!!!

rwberry@hubcap.UUCP (Robert W Berry) (12/19/88)

Close.  I'm sooooooo close.  I've taken Minix off my harddisk and got a
plain-vanilla version of 1.2 put back on and running.  I've gotten the
1.2-1.3 tar-file from bugs.nosc.mil onto the Minix partition of my
harddrive.  I've successfully un-tar'ed the file and I now think I've
got everything where it belongs.  (All the ln's from /usr/include/... to
/usr/src/minix/h, etc.)

Now here's my problem:  what the heck do you do with that 300k
patch.diff file.  Do you need patch or fix (I thought patch was for
cdiff's and fix was for diff's.)  I've set up my directory structure
according to both the rearrange file and the users_guide file.  Do I
have to move things around so that patch (or fix) knows where the source
files are?  Has anybody successfully gotten this update to work?  Is the
patch.diff file only diff's to the command sources or library sources?
And once I figure out which command to use, how do you work the darn
things?  The closest I can figure is that they are inverses of each
other so:
     diff old new >difffile and then fix old difffile >new should create
     new from old, etc.
Am I on the right track (hopefully I'm at least close. ;-))

It's taken me almost two days to find and restore all of the 1.2
distribution.  I really, REALLY want to get a 1.3 up and running before
the new year.  HELP?  If you have any advice, warnings, etc about
applying these diff's please send it/them to me?  I've been working with
Minix for quite a while, and I've applied diffs before, but always by
hand.  I never quite trusted fix or patch, and my source files had
really been worked over.  So this is my first attempt at using these
utilities.

Another real quick question:  the user's guide suggests the use of
diskcheck and badblocks before you install Minix of a harddrive.  Are
these 1.3c commands.  If so can they be used without having to yank
everything back off the fixed disk?

Thanks in advance,
Bob

-- 
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
-=- Bob Berry -=- PC-Guru's Inc. ! INTERNET:rwberry@hubcap.clemson.edu  -=-
-=- Good questions all, Sir.     ! Voice: 803-654-7623 or 803-656-2635  -=-
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-

jds@mimsy.UUCP (James da Silva) (12/20/88)

In article <3930@hubcap.UUCP> rwberry@hubcap.UUCP (Robert W Berry) writes:
>
>Now here's my problem:  what the heck do you do with that 300k
>patch.diff file.  Do you need patch or fix (I thought patch was for
>cdiff's and fix was for diff's.)  I've set up my directory structure
>according to both the rearrange file and the users_guide file.  Do I
>have to move things around so that patch (or fix) knows where the source
>files are?  Has anybody successfully gotten this update to work?  Is the
>patch.diff file only diff's to the command sources or library sources?
>And once I figure out which command to use, how do you work the darn
>things?  The closest I can figure is that they are inverses of each
>other so:
>     diff old new >difffile and then fix old difffile >new should create
>     new from old, etc.
>Am I on the right track (hopefully I'm at least close. ;-))

Patch will work with cdiffs and normal diffs.  In fact, if you've got patch
going, you should alway use it instead of fix; it's much more intelligent.

If you've rearranged things according to Vince's doc you should be ready to
do the patch.  Your Minix source tree should look like this:

	v1.3d/minix/commands
	v1.3d/minix/commands/mined
	v1.3d/minix/commands/sh
	v1.3d/minix/doc
	v1.3d/minix/fs
	v1.3d/minix/h
	v1.3d/minix/kernel
	v1.3d/minix/lib
	v1.3d/minix/lib/IBM_PC
	v1.3d/minix/mm
	v1.3d/minix/test
	v1.3d/minix/tools
	v1.3d/usr/include
	v1.3d/usr/include/fs
	v1.3d/usr/include/minix

In fact, if you want to see exactly what diffs are included in diff.patch,
grep for it:

	grep '^--- v1.3d' diff.patch

To do the patch, go to the parent directory of v1.3d, then:

	patch -lp <diff.patch

The -l option is for 'loose' matching; differences in whitespace are
ignored.  It's a bit slower, but better safe than sorry.  The -p means
don't strip the path name.

I admit with shame that I did this on a Real Unix system; I don't know if
patch under Minix will lose its lunch on such a large file.  I've heard of
problems with patch running out of temp file space, so watch out for that.
Keep a backup version of your re-arranged 1.2 tree so you can try again if
need be.

Let us know how it turns out!

Jaime
...........................................................................
: domain: jds@mimsy.umd.edu				     James da Silva
: path:   uunet!mimsy!jds

mclean@brigit.think.com (Shawn McLean) (12/20/88)

   From: rwberry@hubcap.UUCP (Robert W Berry)
   Date: 19 Dec 88 08:28:21 GMT

   Close.  I'm sooooooo close.  I've taken Minix off my harddisk and got a
   plain-vanilla version of 1.2 put back on and running.  I've gotten the
   1.2-1.3 tar-file from bugs.nosc.mil onto the Minix partition of my
   harddrive.  I've successfully un-tar'ed the file and I now think I've
   got everything where it belongs.  (All the ln's from /usr/include/... to
   /usr/src/minix/h, etc.)

   Now here's my problem:  what the heck do you do with that 300k
   patch.diff file.  Do you need patch or fix (I thought patch was for
   cdiff's and fix was for diff's.)  I've set up my directory structure
   according to both the rearrange file and the users_guide file.  Do I
   have to move things around so that patch (or fix) knows where the source
   files are?  Has anybody successfully gotten this update to work?  Is the
   patch.diff file only diff's to the command sources or library sources?
   And once I figure out which command to use, how do you work the darn
   things?  The closest I can figure is that they are inverses of each
   other so:
	diff old new >difffile and then fix old difffile >new should create
	new from old, etc.
   Am I on the right track (hopefully I'm at least close. ;-))

An argument of -n to patch will strip the first n levels of the path names
embedded in the patch file.  If you have everything in directory structure
specified by rearrange, you may use patch directly from the top level
directory.  I believe fix and cdif formatsf are handled directly by patch.
After arranging the 1.2 source files, I used `patch -1 <patchfile`.
Unfortunately, patch uses /tmp to keep track of previous patches, (to undo
them?) and my 640k system quickly ran out of space.  My solution was to
split the patchfile into reasonable chunks at patch boundaries, and apply
them a chunk at a time.  If you get this far, use crc to compare the
results with crc.final.  I think the only other things are to apply the
patches that came with andy's bios_wini.c posting, and add portio.s to
/usr/src/minix/lib (if you don't have this, cut port_out, port_in, and
get_byte from 1.2/kernel/klib88.s and paste).  You'll probably need andy's
library ordering to make a 1.3/lib/libc.a.  You should now be able to
compile everything, make new boot and root disks, and boot and mount
filesystems.  I was able to run kermit and elle with no problems on my AT
clone with this system, although both seem slower with respect to their
MSDOS cousins.  The floppy grinds its teeth when booting the kernel (an
understood problem, I haven't bothered with it yet).

   It's taken me almost two days to find and restore all of the 1.2
   distribution.  I really, REALLY want to get a 1.3 up and running before
   the new year.  HELP?  If you have any advice, warnings, etc about
   applying these diff's please send it/them to me?  I've been working with
   Minix for quite a while, and I've applied diffs before, but always by
   hand.  I never quite trusted fix or patch, and my source files had
   really been worked over.  So this is my first attempt at using these
   utilities.

   Another real quick question:  the user's guide suggests the use of
   diskcheck and badblocks before you install Minix of a harddrive.  Are
   these 1.3c commands.  If so can they be used without having to yank
   everything back off the fixed disk?

in 1.3.  When you get the 1.3 library compiled and built, you can compile
commands/*.c and use the function binaries.  Or you can just wing it, like me :+)

   Thanks in advance,
   Bob

I have a question, is V7 and Seventh edition one in the same?

-shawn "When in doubt, cut and paste, cut and paste.."

allbery@ncoast.UUCP (Brandon S. Allbery) (12/26/88)

As quoted from <15075@mimsy.UUCP> by jds@mimsy.UUCP (James da Silva):
+---------------
| I admit with shame that I did this on a Real Unix system; I don't know if
| patch under Minix will lose its lunch on such a large file.  I've heard of
| problems with patch running out of temp file space, so watch out for that.
+---------------

You can mount an HD partition on /tmp if you do it while /etc/update is not
running.  I have a customized root floppy which builds a minimal (80K)
ramdisk root and mounts disk partitions as /tmp and /usr (Minix source is in
/usr/src, so /user is reserved as a mount point for a floppy).  My /tmp
partition is something like 1.7MB; this is plenty enough for patch.

++Brandon
-- 
Brandon S. Allbery, comp.sources.misc moderator and one admin of ncoast PA UN*X
uunet!hal.cwru.edu!ncoast!allbery		    ncoast!allbery@hal.cwru.edu
comp.sources.misc is moving off ncoast -- please do NOT send submissions direct
      Send comp.sources.misc submissions to comp-sources-misc@<backbone>.