atool - Introduction
====================

atool is a script for managing file archives of various types (tar,
tar+gzip, zip etc).

The main command is aunpack which extracts files from an archive. Did you
ever extract files from an archive, not checking whether the files were
located in a subdirectory or in the top directory of the archive, resulting
in files scattered all over the place? aunpack overcomes this problem by
first extracting to a new directory. If there was only a single file in the
archive, that file is moved to the original directory. aunpack also
prevents local files from being overwritten by mistake.

The other commands provided are apack (to create archives), als (to list
files in archives), and acat (to extract files to standard out). As atool
invokes external programs to handle the archives, not all commands may be
supported for a certain type of archives.

atool identifies archives by their file extension. Sometimes this is not
possible - for instance rar archives usually have varying numeric file
extensions. In those cases when atool can't identify the format, file is
used instead. (atool can be configured not to use file.)

atool is written in Perl by Oskar Liljeblad and is free software (GNU
General Public License).

Copyright and License
=====================

atool is Copyright (C) 2001, 2002, 2003, 2004, 2005 Oskar Liljeblad

This program is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free
Software Foundation; either version 2 of the License, or (at your option)
any later version.

This program is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
more details.

You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc., 51
Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

The source code of this project may contain files from other projects, and
files generated by other projects, including:

 * GNU Autoconf (http://www.gnu.org/software/autoconf/)

Such files are licensed under the terms of the GNU General Public License
or a license compatible with the GNU GPL (as listed on
http://www.gnu.org/licenses/license-list.html). See each file for copyright
details.

Requirements
============

The following programs are required to run atool:

 * Perl 5.004 or later

   atool is written in Perl. The modules File::Spec, File::Basename,
   Getopt::Long and POSIX must be available (they probably are by default).

   site: http://www.perl.org/

   package: perl

The following programs are optional for running atool:

 * file

   file is used to determine file types, and is found in most unices by
   default. This program is necessary unless you choose to disable the
   use_file option.

   site: ftp://ftp.astron.com/pub/file/

   package: file

 * tar (GNU tar)

   tar is required if you want to use atool with tar archives.
   Implementations other than GNU's will work with atool as well, but see
   the Installation section below if you don't use GNU tar 1.13.18 or
   later.

   site: http://www.gnu.org/software/tar/tar.html

   package: tar

 * gzip (GNU zip)

   gzip is required if you want to use atool with gzip compressed archives.

   site: http://www.gzip.org/

   package: gzip

 * bzip

   bzip is required if you want to use atool with bzip compressed archives.
   Note that bzip is obsoleted by bzip2.

 * bzip2

   bzip2 is required if you want to use atool with bzip2 compressed
   archives.

   site: http://www.bzip.org/

   package: bzip2

 * lzop

   lzop is required if you want to use atool with lzop compressed archives.

   site: http://www.lzop.org/

   package: lzop

 * LZMA

   LZMA is required if you want to use atool with lzma compressed archives.

   site: http://www.7-zip.org/sdk.html

 * zip/unzip (Info-ZIP Zip/Unzip)

   Zip is required if you want to use atool with zip archives.
   Implementations other than Info-ZIP's might work with atool as well.

   site: http://www.info-zip.org

   packages:zip, <c unzip

 * rar (Eugene Roshal's RAR and UnRAR)

   RAR is required if you want to use atool with rar archives.
   Implementations other than Eugene Roshal's might work with atool as
   well.

   site: http://www.rarsoft.com/

   package: rar, unrar

 * lha (LHa for UNIX)

   LHa is required if you want to use atool with lha, lharc and similar
   archives.

   site: http://www.infor.kanazawa-it.ac.jp/~ishii/lhaunix/

   package: lha

 * unace (UnAce for Linux)

   UnAce is required if you want to use atool with ace archives.

   site: http://www.winace.com

   package: unace

 * arj

   Arj is required if you want to use atool with arj archives.

   site: http://arj.sourceforge.net

   package: arj

 * Red Hat Package Manager

   The Red Hat Package Manager is required if you want to use atool with
   rpm archives.

   site: http://www.rpm.org/

   package: rpm

 * cpio (GNU cpio)

   cpio is required if you want to use atool with cpio archives. Other
   implmentations than GNU's might work as well.

   site: http://www.gnu.org/software/cpio/

   package: cpio

 * arc

   arc is required if you want to use atool with ARC archives (all commands
   supported).

   site: http://sources.isc.org/archiver/arc-5.21.txt

   package: arc

 * nomarch

   nomarch is required if you want to use atool to list and extract files
   from ARC archives.

   site: http://rus.members.beeb.net/nomarch.html

   package: nomarch

 * p7zip

   p7zip is required if you want to use atool with 7z archives.

   site: http://p7zip.sourceforge.net/

   package: p7zip

 * unalz

   unalz is required if you want to use atool with alzip archives.

   site: http://www.kipple.pe.kr/win/unalz/

   package: unalz

Building
========

To build all files, simply run

   ./configure

The configure script accepts a few options - use the following command to
show them:

   ./configure --help

Installation
============

Installing atool is a matter of copying the atool file to some appropriate
directory for executable files, usually /usr/local/bin. After that,
symbolic links for apack, aunpack, als and acat to atool should be created
in the same directory.

All this can be done automaticly by running

   make install

It is possible to create a system wide configuration file overriding
default values found in the top of the atool script (see below).

Usage and Configuration
=======================

A list of options that atool accepts can be displayed by running atool with
the --help option:

   atool --help

Please see the manual page for atool for full use and configuration
information. This document can usually be viewed this way:

   man ./atool.1

Supported formats
=================

Please see the supplied manual page, as described above.

Homepage
========

Web site and file area for atool is hosted on Savannah:

   http://www.nongnu.org/atool/

The latest version of atool should always be available on this site.

Feedback
========

The author of atool and this document, Oskar Liljeblad, can be reached by
e-mail:

   oskar@osk.mine.nu (mailto:oskar@osk.mine.nu)

Please send bug reports, suggestions, ideas or comments in general to me -
I would like to hear from you if you like (or don't like) atool.

Known bugs and missing features
===============================

Please see the KNOWN BUGS section of the atool.1 manual page.

Things to do
============

Please see the TODO document.

-
