Subject: Re: bin/32573: [dM] build.sh fails gratuitously
To: None <gnats-bugs@netbsd.org, netbsd-bugs@netbsd.org>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: netbsd-bugs
Date: 01/19/2006 12:07:29
>> 	Dunno.  As a workaround, I created /usr/obj manually and told
>> 	build.sh to do "tools" (which, in passing, is extremely
>> 	wasteful, as it builds a lot of junk - slow-to-buid junk - that
>> 	is totally unnecessary for building a kernel).
>  This is the official method to build your userland/kernel now.

Right.  That's why I think the manual step of creating /usr/obj, and
the necessity for doing "tools", are broken: it should Just Work when
run naively.

Furthermore to the "wasteful" comment, when I rerun the command (it
failed, and the reason had been lost to scrolling data, so I had to
rerun it with output captured), it REBUILDS ALL THE TOOLS!  Even though
they're up to date!

This is *really* egregiously wasteful.  Isn't that exactly what make is
all about avoiding doing?

> And it's well documented in the NetBSD guide.

Where is this guide, and why would a new user, looking at /usr/src,
know to look there?  BUILDING does not contain the word "guide" at all,
and I certainly didn't *see* any reference to such a thing.

> IMHO this is not a bug.

It certainly violates Least Astonishment for me.  If I were just
switching to NetBSD, my opinion of the system would drop precipitously,
and I might not even be able to figure out how to get around the
"tools" issue; the only reason I could tell that "tools" was what was
missing is that I've seen discussions about it on the lists in the
past.  When I repeated the command and saw it rebuilding everything all
over again, my opinion would *really* tank; if I were on a slow
machine, where rebuilding those things takes a significant amount of
time, I'd probably write it off as broken and switch to something else.

build.sh has its benefits, I'm sure.  But that doesn't mean that
everything it does is right, and I believe these two things are very
definitely not right.  Three things, actually, counting rebuilding all
the tools unnecessarily when run again.

/~\ The ASCII				der Mouse
\ / Ribbon Campaign
 X  Against HTML	       mouse@rodents.montreal.qc.ca
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B