Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Jun 2012 10:42:06 -0500
From:      Eric van Gyzen <eric@vangyzen.net>
To:        Tim Kientzle <tim@kientzle.com>
Cc:        =?ISO-8859-1?Q?Dag-Erling_Sm=F8rgrav?= <des@des.no>, Simon Gerraty <sjg@juniper.net>, freebsd-arch@freebsd.org
Subject:   Re: Allow user install
Message-ID:  <4FE9D84E.7080402@vangyzen.net>
In-Reply-To: <C31B93F4-674C-4183-9F3F-5F7C48980204@kientzle.com>
References:  <20120626063017.D05DA58081@chaos.jnpr.net> <86wr2uwdgf.fsf@ds4.des.no> <C31B93F4-674C-4183-9F3F-5F7C48980204@kientzle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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@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.

Eric



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4FE9D84E.7080402>