From owner-freebsd-arch@FreeBSD.ORG Thu Jan 15 12:45:21 2004 Return-Path: Delivered-To: freebsd-arch@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id DA06216A4CF for ; Thu, 15 Jan 2004 12:45:21 -0800 (PST) Received: from VARK.homeunix.com (adsl-68-124-78-95.dsl.pltn13.pacbell.net [68.124.78.95]) by mx1.FreeBSD.org (Postfix) with ESMTP id 1408943D58 for ; Thu, 15 Jan 2004 12:45:19 -0800 (PST) (envelope-from das@FreeBSD.ORG) Received: from VARK.homeunix.com (localhost [127.0.0.1]) by VARK.homeunix.com (8.12.10/8.12.10) with ESMTP id i0FKj3Ku027378; Thu, 15 Jan 2004 12:45:03 -0800 (PST) (envelope-from das@FreeBSD.ORG) Received: (from das@localhost) by VARK.homeunix.com (8.12.10/8.12.10/Submit) id i0FKj34J027374; Thu, 15 Jan 2004 12:45:03 -0800 (PST) (envelope-from das@FreeBSD.ORG) Date: Thu, 15 Jan 2004 12:44:58 -0800 From: David Schultz To: Tim Kientzle Message-ID: <20040115204458.GA27244@VARK.homeunix.com> Mail-Followup-To: Tim Kientzle , freebsd-arch@FreeBSD.ORG References: <4004D445.7020205@acm.org> <20040115182532.GA26149@VARK.homeunix.com> <4006E337.7000404@acm.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <4006E337.7000404@acm.org> cc: freebsd-arch@FreeBSD.ORG Subject: Re: Request for Comments: libarchive, bsdtar X-BeenThere: freebsd-arch@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Discussion related to FreeBSD architecture List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 15 Jan 2004 20:45:22 -0000 On Thu, Jan 15, 2004, Tim Kientzle wrote: > David Schultz wrote: > >On Tue, Jan 13, 2004, Tim Kientzle wrote: > > > >Nice! I'm sure [libarchive] will be immensely useful when finished. > > It should be useful now. I didn't mean to imply that it isn't; I just meant to say that it will be *really* useful when it becomes the default and has better compatibility with the gtar format. I'm really glad you went ahead and did this. > >- Have you considered extending the API such that it is able to > > efficiently support random access archive formats? > > Yes, and I've chosen not to go that way. In short, random-access > is a different problem: tar/gzip and tar/bzip2 do not support > random-access at all; uncompressed tar archives do not cleanly > support updates; tape drives/stdin/stdout/sockets do not support > random access. Random access gains you some things, loses you others. > > In short, libarchive is for "streaming archive formats." > > On the other hand, many archive formats can be handled via > streaming: it should be possible for libarchive to read > zip archives, for example. (However, compressed zip archives > can't be written in a pure streaming mode.) [...] > >- When this is done, I'm wondering what potential impact it might > > have on sysinstall and the archive format it uses... > > Sysinstall uses tar/gzip format, libarchive reads tar/gzip format. > This may potentially impact the implementation of sysinstall > (which could unpack the base system itself rather than running > a separate tar), but I see no potential impact on sysinstall's > choice of archive format. Okay, so random access is simply not in the scope of your project. That's fine. The problem I was hoping could be solved has to do with the fact that the package tools don't have an archive format that supports random access, so they wind up extracting a temporary copy of the whole archive, then processing the parts that they want. As I understand, this is one of the reasons that sysinstall makes a hard distinction between distributions and packages, a distinction that shouldn't exist. However, I don't (want to) understand these problems as well as others...