cvs commit: src/lib/libarchive Makefile archive.h.in archive_entry.c archive_entry.h archive_entry_link_resolver.c archive_entry_private.h archive_entry_strmode.c archive_platform.h archive_read.c archive_read_support_compression_none.c archive_read_support_format_all.c ...

M. Warner Losh imp at bsdimp.com
Tue Jan 1 01:31:50 PST 2008


In message: <4779D924.8020708 at freebsd.org>
            Tim Kientzle <kientzle at freebsd.org> writes:
: M. Warner Losh wrote:
: > In message: <20071231001554.GB987 at zaphod.nitro.dk>
: >             "Simon L. Nielsen" <simon at FreeBSD.org> writes:
: > : >   * New read support: mtree format
: > : 
: > : This sounds interesting but I can't really figure out what it
: > : does... ? :) (and I couldn't find any mention in the updated manual
: > : pages.)
: > 
: > Any chance our 'install' tools can be made to copy the files w/o the
: > right permissions and 'log' the right stuff to an mtree formatted
: > file?  That would make building a distribution as a mere mortal
: > possible...
: 
: Yep.  ;-)  That's a major motivation of this work.
: In fact, you don't even need to copy the files
: anywhere.  The approach I'm considering would
: have "make buildworld" write out entries of this
: form during the build:
: 
: /bin/ls uid=0 mode=0555 contents=/usr/obj/usr/src/bin/ls
: 
: Then "make installworld" becomes essentially just:
: 
:    tar -xUvf world.mtree -C ${DESTDIR}
: 
: or you can create a distribution tarball with:
: 
:    tar -czf world.tgz @world.mtree

I mostly like this idea, save for one problem: install will strip the
symbols from /usr/obj/usr/src/bin/ls before installing it into
$DESTDIR/bin/ls.

: In particular, I like that this approach uses exactly
: the same machinery for local installs or distribution
: building, varying only in the very last step.
: 
: The code I just committed to -CURRENT is sufficient to
: begin experimenting with this approach; you just need
: to be careful to include "#mtree" as the first line
: (to please libarchive's auto-format detection).
: The use of full pathnames in mtree files is another
: idea I copied from the NetBSD folks; I've documented
: this as "mtree v2" in the mtree.5 manpage.
: 
: There are still a lot of details to work out, but I
: hope this is sufficient for someone else to begin
: experimenting with the next step, which is figuring out
: the appropriate ways to change our distribution build.

Yes.  Any ideas how long the experimentation will last?

Warner


More information about the cvs-src mailing list