Subject: Re: Sorting out the SRC (was a is not alpha)
To: Andrew Diller <netbsd@dillernet.com>
From: Bill Studenmund <wrstuden@loki.stanford.edu>
List: port-mac68k
Date: 11/03/1997 13:03:09
> I think I am understanding what is going on here.  AGain, I'll use Linux as
> a comparison.
> 
> ----------------
> Linux-- the 'base' system i.e. most everything except the kernel remains in
> place while you can upgrade the kernel as new releases become available.
> 
> MacBSD-- with a new kernel, you recompile all the binaries using that
> kernal and create these snapshots, essentially a whole new release.
> -----------------
> 
> Ok, that make sense-- but what exactly are we talking here as an upgrade path?
> 
> If I have 1.2.1 and now want 1.3alpha (and then 1.3) I have to reinstall
> the whole thing??

Unfortunatly yes.

> What about the newer snapshots of 1.3alpha-- do I need to reinstall the
> whole release, or am I safe reinstalling the newer 'snapshots' right ON TOP
> of my exising 1.3alpha system??

Yes.

I usualy re-install the whole thing on top of my existing release. The only
possable problem is if a program has moved, say from /sbin to /usr/bin.
Overwriting the release won't delete moved binaries, and you might have
them further forward in your path, causing problems.

But it sounds like you've got a bit of unix experience. 
find / -name "*" -print > /tmp/here_files	will list off all the files
						you have
tar tzf base.tar.gz > /tmp/rel_files		will list all the release
						files.
diff -u /tmp/rel_files /tmp/here_files will show any added files.

You might have to sed one of the output streams so they match well (the
tar command might spit out ./usr/sbin instead of /usr/sbin ...).

> These may sound like strange questions, but again, My experiences with
> other UNIX's (AIX, IRIX and Linux) when you changed kernels, you left most
> of the binaries in place.

Usually that works here, too. Things like ps and w will need updating
(like Allen said, they staticly link in libkvm which can change).

> I guess its like you all have said in your helpful replies-- so MUCH is
> happening between the releases that it makes sense to re do ALL the
> binaries for the releases. I guess that Linus and the wintel machines at
> least have documentation for the devices they were writing for.

A few things about releases. For NetBSD, they tend to happen much less
frequently. 1.2 represents an 18 month old set of features. So the kernel
does much more. But also, the userland binaries themselves do more. :-)
For instance, when we added Netatalk, route, ifconfig, and netstat learned
about the new address family.

> To sum up-- I am going to get the latest 1.3alpha snapshot, install that as
> my new system and then recompile all the things that I had done under
> 1.2.1.  Then when the final 1.3 kernel comes out, I should be in good
> shape, and I can try some different kernels for my other macs.

Unless the programs you compiled grovel in the kernel, you don't really
need to re-compile. The new shared libraries, or COMPAT_12 for
staticly-linked binaries, will keep them working. On port-i386,
someone mentioned running NetBSD 0.9 binaries about 6 months ago. :-)

Take care,

Bill