From owner-cvs-src@FreeBSD.ORG Tue Jan 1 06:09:47 2008 Return-Path: Delivered-To: cvs-src@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 1074A16A420; Tue, 1 Jan 2008 06:09:47 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: from kientzle.com (h-66-166-149-50.snvacaid.covad.net [66.166.149.50]) by mx1.freebsd.org (Postfix) with ESMTP id B788B13C455; Tue, 1 Jan 2008 06:09:46 +0000 (UTC) (envelope-from kientzle@freebsd.org) Received: (from root@localhost) by kientzle.com (8.12.9/8.12.9) id m0169eEv071587; Mon, 31 Dec 2007 22:09:40 -0800 (PST) (envelope-from kientzle@freebsd.org) Received: from [10.0.0.209] (p54.kientzle.com [66.166.149.54]) by kientzle.com with SMTP; Mon, 31 Dec 2007 22:09:40 -0800 (PST) (envelope-from kientzle@freebsd.org) Message-ID: <4779D924.8020708@freebsd.org> Date: Mon, 31 Dec 2007 22:09:40 -0800 From: Tim Kientzle User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.7.12) Gecko/20060422 X-Accept-Language: en-us, en MIME-Version: 1.0 To: "M. Warner Losh" References: <200712300458.lBU4wNOH038901@repoman.freebsd.org> <20071231001554.GB987@zaphod.nitro.dk> <20071231.203352.-165197022.imp@bsdimp.com> In-Reply-To: <20071231.203352.-165197022.imp@bsdimp.com> Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit Cc: cvs-src@freebsd.org, src-committers@freebsd.org, cvs-all@freebsd.org, simon@freebsd.org Subject: Re: 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 ... X-BeenThere: cvs-src@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: CVS commit messages for the src tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 01 Jan 2008 06:09:47 -0000 M. Warner Losh wrote: > In message: <20071231001554.GB987@zaphod.nitro.dk> > "Simon L. Nielsen" 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 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. Tim Kientzle