Request for Comments: libarchive, bsdtar

From: Tim Kientzle (kientzle_at_acm.org)
Date: 01/14/04

  • Next message: Doug Rabson: "Re: ptrace and thread"
    Date: Tue, 13 Jan 2004 21:31:49 -0800
    To: freebsd-arch@freebsd.org
    
    

    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@

    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"


  • Next message: Doug Rabson: "Re: ptrace and thread"

    Relevant Pages