Allow user install

Warner Losh wlosh at bsdimp.com
Tue Jun 26 15:51:06 UTC 2012


On Jun 26, 2012, at 9:42 AM, Eric van Gyzen wrote:

> On 06/26/2012 10:18, Tim Kientzle wrote:
>> 
>> On Jun 26, 2012, at 3:54 AM, Dag-Erling Smørgrav wrote:
>> 
>>> Simon Gerraty<sjg at juniper.net>  writes:
>>>> The patch below is a step towards supporting unprivileged buildworld
>>>> etc.  Eg.
>>> 
>>> Wow, this is really cool - and long overdue.
>>> 
>>> I've been thinking for a while that some bor^H^H^Henterprising soul
>>> should hack install(1) so that if a specific environment variable is
>>> set, it writes the file to a tarball instead of writing it to disk.
>>> Unfortunately, there would still be a ton of ${LN} etc. that would need
>>> to be handled somehow.
>> 
>> Better idea:  have the build write a textual description of the
>> tar entries.  That description can then be fed to tar to build
>> the actual tarball.
>> 
>> The description format that tar already supports is a variant
>> mtree format borrowed from NetBSD.  Each line specifies
>> the tar entry fields (filename, owner, permissions, etc) and
>> the filename where the file contents are stored.
> 
> Simon:  Thank you for working on this and contributing it.  I expect it will help a lot of people...including me.  :)
> 
> Tim's idea sounds great, and would cover several use-cases. Specifically, it leaves the build artifacts in the usual places so other, later builds can build against them, whereas writing the artifacts directly to a tar file does not.  Building a manifest would also be very handy, and even necessary for correct packaging of the artifacts from an unprivileged build, where the on-disk meta data are not "correct".
> 
> I'm already doing something like this at $WORK, but not using buildworld/installworld (to my dismay).  I manually maintain an mtree file which gets fed to makefs to build an mfsroot.  Although I like the fascist control of this method, it's more work to maintain.  Automation is good.

Yea.  NetBSD's build already can produce the mtree files that makefs can then use to create images with the right ownership without needing root on the host, or to have the metadata live in the filesystem.

Warner


More information about the freebsd-arch mailing list