Subject: Re: why not "make includes" before "make do-tools" for build.sh?
To: None <tech-userlevel@NetBSD.ORG>
From: Ben Harris <bjh21@netbsd.org>
List: tech-userlevel
Date: 05/08/2003 23:07:42
In article <m19Docu-000B3kC@proven.weird.com> you write:
>[ On Thursday, May 8, 2003 at 12:23:49 (+0100), Ben Harris wrote: ]
>> Subject: Re: why not "make includes" before "make do-tools" for build.sh?
>>
>> In article <m19DXWr-000B3kC@proven.weird.com> you write:
>> > Also, it seems to me that ${INSTALL} doesn't really have to be nbinstall
>> > either, since strictly not even -g and u are needed, and not even really
>> > '-m', and so something like the GNU Autoconf install.sh script would do
>> > fine for those few platforms without a usable native 'install'. Heck
>> > I think even "cp" would suffice for installing the tools, wouldn't it?
>>
>> Erm, we wanted it for "make includes", and then we _do_ need all the funky
>> features of nbinstall, since the include files need to be owned by root or
>> included in the METALOG as appropriate.
>
>The tools in $TOOLDIR can and should be owned by the builder.
Yes, but you were suggesting that nbinstall wasn't needed for "make
includes", for which it _is_ necessary to get stuff right. "make includes"
doesn't install into $TOOLDIR, it installs into $DESTDIR.
>> > I had added a local custom entry to <paths.h>, but spelled it wrong. I
>> > fixed it and re-started with "./build.sh -u ..." but the updated
>> > <paths.h> didn't get copied into $DESTDIR and it failed again in the
>> > same spot.
>>
>> So your host system was screwed. I think that given the infinity of ways
>> you can screw your host system, the build system can't really be expected to
>> work around all of them.
>
>The host system didn't include the custom changed header file.
Hrm. In that case something was more seriously wrong. Building the tools
shouldn't look at the headers in $DESTDIR at all. It uses some headers from
the source tree, but they should be used in-place. After all, on a fresh
build, $DESTDIR is empty when the tools get built.
I'd like to try to reproduce your problem, but my only convenient big build
box runs Linux, and I don't think the 1.6 branch will build on a Linux
host. I can try it with -current if you give me a recipe, but I suspect
enough has changed that it'll behave differently.
>(and just to repeat what was obvious from my initial post but what may
>have been lost since by the abbreviation of my example commands: I am
>NOT using "-D /", and indeed I am doing unprivileged builds as I would
>never think to do anything else :-)
Ah, OK. I'd somehow missed that, not least because if you're doing that,
the kind of mistake you made really shouldn't screw things up that badly,
even without your suggested change.
--
Ben Harris <bjh21@netbsd.org>
Portmaster, NetBSD/acorn26 <URL:http://www.netbsd.org/Ports/acorn26/>