Subject: Re: bin/32573: [dM] build.sh fails gratuitously
To: None <gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: der Mouse <mouse@Rodents.Montreal.QC.CA>
List: netbsd-bugs
Date: 01/19/2006 17:25:02
The following reply was made to PR bin/32573; it has been noted by GNATS.

From: der Mouse <mouse@Rodents.Montreal.QC.CA>
To: gnats-bugs@netbsd.org, netbsd-bugs@netbsd.org
Cc: Juan RP <juan@xtrarom.org>
Subject: Re: bin/32573: [dM] build.sh fails gratuitously
Date: Thu, 19 Jan 2006 12:07:29 -0500 (EST)

 >> 	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