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