Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 13 Jan 2004 21:31:49 -0800
From:      Tim Kientzle <kientzle@acm.org>
To:        freebsd-arch@freebsd.org
Subject:   Request for Comments: libarchive, bsdtar
Message-ID:  <4004D445.7020205@acm.org>

next in thread | raw e-mail | index | archive | help
Request for Comments:  libarchive, bsdtar

PROPOSAL

Add "libarchive" to the tree, prepare to change the system
tar command to "bsdtar" once it is sufficiently stable.

DETAILS

   Step 1:  Commit "libarchive"
   Step 2:  Rename the current system "tar" command to
            "gnutar", also linked as "tar"
   Step 3:  Once it is more complete (a couple of months?),
            commit "bsdtar" under that name.  Provide a
            switch for linking "tar" to "bsdtar", get additional
            feedback and testing from the community.
   Step 4:  After a suitable transition, have "tar" default
            to "bsdtar."
   Step 5:  Leave "gnutar" in the tree for ~6 months
            before removing it.  It will, of course,
            be available as a port indefinitely for those
            who require its unique features.

Note that the first two steps will have no visible impact
on end users.  The third step will only impact those who
choose to run bsdtar as the system tar.  The fourth step
will impact many 'tar' users, who will have the option
of adapting to bsdtar, switching the system tar back to
gnutar or continuing to use gnutar under a different name.
Even after the entire process is complete, users will
still have the option of using gnutar from ports.

LIBARCHIVE BACKGROUND

As many of you know, I've been working on a project to
overhaul the pkg tools.  Among many other things, this
requires a library that can read/write tar archives.  This
avoids the significant overhead imposed from forking a
separate tar program.

The first fruit of my work is "libarchive," currently
on display at
    http://people.freebsd.org/~kientzle/libarchive/
That page also includes links to the rough manpages
for the library as well as a description of the history
and goals of this work.

I'm very pleased with the library at this point.  I would
like to commit it to the tree and get other people
using it in order to shake out any remaining problems.
Of course, to really use it requires some client programs.

BSDTAR BACKGROUND

The bsdtar program was originally written as a simple
test harness for libarchive.  It has grown a bit and
is now very nearly SUSv2-compliant, plus a lot
of additional features.  (For reference, gnutar is not
SUSv2 compliant and does not support the "pax interchange
format," an extended tar format that appears in SUSv3
and is widely used on other systems.)

To date, the bulk of the work on "bsdtar" has really involved
fine-tuning the libarchive library, work that will eventually
benefit the package tools and other libarchive clients.

However, I've gotten to the point where there are a few
significant features (multi-volume tape handling, rmt support)
that are not required by the library.  Before I invest more
of my scarce time on refining bsdtar, I'd like to know whether
there is real interest in replacing gnutar with bsdtar.

Feedback and comments greatly appreciated,

Tim Kientzle
kientzle@






Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4004D445.7020205>