Subject: Updating an existing system?
To: None <port-alpha@netbsd.org>
From: Paul Mather <paul@gromit.dlib.vt.edu>
List: port-alpha
Date: 12/11/2002 16:40:46
I just tried to update a DEC 3000/500S running NetBSD-current when it
bombed out with the following message:

  ERROR: DESTDIR must be set to a non-root path for non -E (expert) builds
  *** BUILD ABORTED ***

It seems that on Sunday 8th December, the build.sh script was updated
to add an "-E" expert switch.  I presume "-E" emulates the old
"build.sh" behaviour, i.e., rebuilds the toolchain and userland, and
installs under /.

This "-E" switch got me to thinking that maybe my usual method of
updating my system was not the orthodox way to do things.  Usually,
my modus operandi is roughly as follows:

  build.sh -k MYKERNEL
  Back up old kernel, copy new kernel to /netbsd, and reboot
  build.sh
  Wait approximately 24 hours for everything to finish... :-)
  Run etcupdate to update /etc

(Sometimes I use "-u" on the main build.sh, but usually I don't have
much luck because I don't rebuild userland very frequently and
something usually causes it to fail due to some staleness, etc.)

I looked at the "Tracking NetBSD-current" page on the NetBSD WWW site,
and its "Updating an existing system" seems to accord with my old
way of doing things (the section hasn't been updated to reflect the
new realities of "-E").

Is there anything analogous in the build.sh procedure to FreeBSD's
make buildworld / make installworld, or is the recommended way to
update an existing -current to "build.sh" to some DESTDIR and then pax
the contents of that DESTDIR over your existing / after it's finished
successfully?

Cheers,

Paul.

e-mail: paul@gromit.dlib.vt.edu

"Without music to decorate it, time is just a bunch of boring production
 deadlines or dates by which bills must be paid."
        --- Frank Vincent Zappa