Request for Comments: libarchive, bsdtar

David Schultz das at FreeBSD.ORG
Thu Jan 15 12:45:22 PST 2004


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...


More information about the freebsd-arch mailing list