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>