Subject: Re: tweaks for fparseln(3) move from libutil to libc
To: Christopher Richards <richards+netbsd@CS.Princeton.EDU>
From: Bill Studenmund <wrstuden@netbsd.org>
List: tech-toolchain
Date: 12/07/2002 18:04:53
On 6 Dec 2002, Christopher Richards wrote:

> lukem@netbsd.org (Luke Mewburn) writes:
>
> > Please elaborate on what FreeBSD does here.
>
> My FreeBSD is a little rusty, but I believe "buildworld" does an
> UNPRIVED-style build (no metadata are logged, though) -- unprivileged
> users can invoke it if they have write privileges under /usr/obj.
> During the build the system include path is set to /usr/obj/include
> and similary for libraries.  Then "installworld", which must be run as
> root, runs "make install" for everything just built.  All the
> permissions info is already there in the install target, so there's no
> need for METALOG, even when building as non-root.

Note: that assumes that the build isn't one that changes permissions on a
program, say adding or removing set-id. :-)

> >From the FreeBSD website:
>
>     As the names imply, buildworld builds a complete new tree under
>     /usr/obj, and installworld installs this tree on the current
>     machine.
>
>     This is very useful for 2 reasons. First, it allows you to do the
>     build safe in the knowledge that no components of your running
>     system will be affected. The build is ``self hosted''. Because of
>     this, you can safely run buildworld on a machine running in
>     multi-user mode with no fear of ill-effects. It is still
>     recommended that you run the installworld part in single user
>     mode, though.

build.sh can do the buildworld part (and other stuff too..).

So it sounds like you want a make target that will do the install?
Shouldn't be too hard to do.

Take care,

Bill