Date: Thu, 15 Jan 2004 12:44:58 -0800 From: David Schultz <das@FreeBSD.ORG> To: Tim Kientzle <kientzle@acm.org> Cc: freebsd-arch@FreeBSD.ORG Subject: Re: Request for Comments: libarchive, bsdtar Message-ID: <20040115204458.GA27244@VARK.homeunix.com> In-Reply-To: <4006E337.7000404@acm.org> References: <4004D445.7020205@acm.org> <20040115182532.GA26149@VARK.homeunix.com> <4006E337.7000404@acm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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...
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20040115204458.GA27244>