Subject: Re: tweaks for fparseln(3) move from libutil to libc
To: None <>
From: Christopher Richards <richards+netbsd@CS.Princeton.EDU>
List: tech-toolchain
Date: 12/06/2002 20:51:30 (Luke Mewburn) writes:

> On Fri, Dec 06, 2002 at 06:01:55PM -0500, Christopher Richards wrote:
>   | In which case, it would be very convenient to have a way of
>   | automatically installing a successfully populated non-/ DESTDIR on top
>   | of /.  (Compare the buildworld-installworld split in FreeBSD).
> 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.

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

    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.