Archive::Tar 0.1.0 (27 Jan 2002)
============

This is a pure-ruby Tape Archive (tar) module.

It's currently at a pre, um, testing stage.  This release is purely
to let people look at the code and comment on it, laugh at it, and
generally use as ammo against my poor, battered little ego.

Tar.rb impliments a lame-ass archive lister and extractor.  It should
be able to handle most POSIX and GNU format archives, gzipped or not.
bz2 support will come when ruby-zlib adds support for it, someone writes
ruby-bz2lib, or I or someone else writes or points out an IO wrapper for
command line filters.


Usage
=====

  ruby Tar.rb <archive>

Lists the contents of archive and some of it's metadata.

  ruby Tar.rb <archive> <destination>

Try to extract the contents of archive, prefixing <destination> to a
File.new call (so giving '.' won't work as expected; use './'). It
shouldn't overwrite existant files, and the extracted archive should be
pretty much identical to one tar would extract, aside from owner/group.
if it isn't, please report.

Links are not yet supported and are extracted as plain old files, as are
block and character special devices.



Todo (in no particular order)
====

* Clean up Entry and Header; they probably need to be merged or
something, or merged into ZipEntry to provide a generic archive entry
API, and/or turned into Dir/File/IO type objects, or.. um..

* Design/write/finish higher level API.

* Rewrite hacky perlish-o-code.

* Take over the world.

* Improve robustness and error handling.

* Add some message passing stuff so interfaces can warble on about
what's going on without having to use anything resembling a low level
API.  Can probably do some nice stuff with blocks here.

* Archive writing and updating.

* bzip2(1) and other command line filter support.

* Add support for GNU extensions.

* rtar example application of a minimal tar(1) command in pure Ruby.

* Merge API with ruby-zip and provide interface for any other archives
we want to support.

* Write some documentation.

* Put in CVS before I break it.

* FreeBSD port, website, RAA entry etc.

* Test.


-- 
Thomas Hurst <freaky@aagh.net>
