Subject: Re: How many Vaxes?
To: NetBSD Bob <nbsdbob@weedcon1.cropsci.ncsu.edu>
From: Todd Whitesel <toddpw@best.com>
List: port-vax
Date: 02/22/2000 23:32:13
>     cp netbsd /netbsd/14T           (spare a current kernel in root)
>     cp /netbsd /netbsd.current      (keep a previous copy just in case)
>     cp netbsd /netbsd               (put a new current copy in root)

Hmm. Well, here's what I do:

	cp netbsd /netbsd.new		# ensure more than enough space on root
	mv /netbsd /netbsd.old		# keep most recent good kernel around
	mv /netbsd.new /netbsd		# nice, atomic operation.

I don't like using 'cp' to write to /netbsd because programs may have that
file open, and it's bad to simply overwrite the data out from under them.

> 2.  Make/install the libs from current:
> 3.  Make the gcc suite from current:
> 4.  Make the system from current:  (This seems to be in the docs)
> 
>     cd /usr/src      (?)
>     make build       (?)

Steps 2-4 are usually accomplished by cd /usr/src ; make build. There is just
enough smarts in the /usr/src makefile to do that stuff automatically and in
the right order, so long as you are letting it update the currently running
system (which you are, since you did not set $(DESTDIR) to anything).

>     (Are there specific make targets to be aware of other than make build?)

cleandir... nearly everything else is only used for snaps+releases.

> 5.  Make X if necessary?

cd /usr/xsrc ; make build

It should build+install whatever is supported on your arch, assuming bugs
don't prevent it from doing so.

> Since I am not in a cvs capable location, at home, and have to ferry
> sources in on tape or cd, is there any reason to keep previous
> build trees?  I have been mv'ing src to S14R or something like that
> as a spare and then unrolling a completely new tarball set to update
> from the previous to current.  Is that the best way to handle that?

Until you get familiar with things, I recommend it, as it vastly decreases
the likelihood of strange unexplainable phenomena.

Note that 'make build' implies a cleandir, so if you are getting a lot of
errors stopping things midway through you will want to start giving UPDATE=1
to make. When you start from a fresh source tree every time, you can usually
get away with using UPDATE=1 all the time.

One would think that "make build" and "make cleandir && make build UPDATE=1"
are the same ... but they aren't! ... although _most_ of the time they should
end up doing the same thing. The correct fix is not obvious, but I intend to
tackle it at some point.

Todd Whitesel
toddpw @ best.com