INSTALL

Wed, 06 Feb 2008 19:38:26 -0500

author
brett
date
Wed, 06 Feb 2008 19:38:26 -0500
branch
trunk
changeset 59
7a0aafe2fe87
parent 57
5f6afe2cf9e1
child 72
c4cfaf634bb9
permissions
-rw-r--r--

[svn] Find self-extracting archives by their file magic only, not extension/mimetype.

The problem with using extensions/mimetypes for this is that it net way too
many false positives. Files ending in .com, .bat, etc. would cause the
user to be prompted for recursive extraction. This makes that problem go
away, and it means that error messages when the user tries to extract a
non-archive .exe will probably be more useful, too.

dtrx Installation Documentation
===============================

Requirements
------------

dtrx will work out of the box with Python_ 2.4 or greater.  You can also
use Python 2.3 if you separately install the `subprocess module`_.

.. _Python: http://www.python.org/
.. _`subprocess module`: http://www.lysator.liu.se/~astrand/popen5/

dtrx calls out to different external tools to support different archive
types.  Most of these are already installed on most GNU/Linux systems, so
you probably won't have to worry about these too much, but just for
completeness, the exact requirements for each format are as follows:

tar archives
  tar

zip archives
  unzip, zipinfo

cpio archives
  cpio

rpm archives
  rpm2cpio, cpio

deb archives
  ar, tar, zcat

gem archives
  tar, zcat

7z archives
  7z

Microsoft Cabinet archives
  cabextract

Files compressed with gzip or compress
  zcat

Files compressed with bzip2
  bzcat

Files compressed with lzma
  lzcat

Installation
------------

dtrx is just a simple script, making it easy to stash wherever you need it.
Just copy ``scripts/dtrx`` to a location that's convenient for you.  If
you'd like to install the program system-wide, you can run the following as
root or equivalent::

   python setup.py install --prefix=/usr/local

Running Tests
-------------

dtrx comes with a suite of tests that are designed to ensure it's running
properly.  If you'd like, you can run these tests on your own system.
Simply run the following command from the dtrx source directory::

   python tests/compare.py

To run the tests, you'll need the `syck module`_.

.. _syck module: http://whytheluckystiff.net/syck/

If everything's in order, all the tests should pass.  Note that some of
them will fail if some of the programs listed above aren't installed on
your system.  Many of the tests will fail if for some reason you're missing
the very common commands, like tar and zcat.

mercurial