Subject: build/installworld violates PLA (principle of least astonishment)?
To: None <current-users@netbsd.org>
From: David Frech <daf@designactone.com>
List: current-users
Date: 05/15/2004 23:36:16
Hi all.

Having finally solved (but _not_ figured out ;-) my 1-6 to 2-0 tree
update woes, I managed to get a good build. But some things surprised me
when I went to install.

Thinking that I was going to install, from the very same build tree, on
several machines, I decided to do a "release" rather than a "distribution"
build. But when I went to install - on the build host - a couple of funny
things happened. It tried to make the binary release sets, but that
_failed_, since my tooldir was empty (why?). Then, it did some postinstall
checks, several of which failed (as expected, since nothing was
installed!), and then the script blithely claimed "install successful".

There are a couple of things wrong with this picture. I had hoped that,
since a release build simply does more work than a distribution, that I
would be able to install as if I had just done a distribution build - but I
couldn't. I was also surprised that the install said it was "successful"
when it very clearly was not.

Those comments aside, I have two questions:

(1) Is there a make target that looks into releasedir and does an
    installworld from there (avoiding the failing and redundant "make sets"
    step)?

(2) Would it be possible to make build.sh/Makefile a little bit smarter, so
    it looks in the releasedir (if it exists) and uses the sets there (if
    they exist ;-), instead of trying to make its own (and possibly doing a
    lot of extra work)?

Thanks and cheers,

- David