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