Allow user install

Tim Kientzle tim at kientzle.com
Thu Jun 28 04:12:45 UTC 2012


On Jun 27, 2012, at 4:59 PM, Brooks Davis wrote:

> On Tue, Jun 26, 2012 at 09:16:05AM -0700, Simon J. Gerraty wrote:
>> 
>> On Tue, 26 Jun 2012 08:18:05 -0700, Tim Kientzle writes:
>>> 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.
>> 
>> Yes, that's what we do - manifest files that tar and other tools use to
>> produce the install images.
>> 
>>> 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.
>> 
>> Yes, we've added that support to makefs - I believe it is already in
>> -current.  There's still quite a bit to do.
> 
> It's there except that makefs uses the FreeBSD mtree code which doesn't
> support the crucial absolute path support in NetBSD's mtree.

If it helps:  libarchive can read NetBSD's mtree format.

>  I took a
> look at what's required to bring that in a week or two ago.  We need to
> bring in a number of new or improved functions in libc and we'll have to
> kill or rename FreeBSD's -i options, but it looks doable.  Not a two
> hour project, but doable and worthwhile.  Once I get the demo I 'm
> currently working on out the door I'm planning to start work to bring in
> NetBSD's mtree and either the related install changes or NetBSD's
> install.  If someone else wants to start the process that would also be
> fine with me.  My notes on the issues are below if anyone cares.
> 
> -- Brooks
> 
> FreeBSD Features not in NetBSD:
> -i (indent output) conflicts with:
>     -i                 If specified, set the schg and/or sappnd flags.
> 
> -n (Don't emit name)
> 
> -q (Quiet mode)
> 
> -w    Make some errors non-fatal warnings
> 
> Missing keywords:
> ripemd160digest seems to be spelled rmd160(digest)
> 
> nochange missing
> 
> Missing library features:
> flags_to_string()
> string_to_flags(char **, unsigned long *, unsigned long *);
> strsvis()
> pwcache_userdb()
> pwcache_groupdb()
> gid_from_group()
> uid_from_user()
> 



More information about the freebsd-arch mailing list