INSTALL

Sun, 20 Jan 2008 15:32:02 -0500

author
brett
date
Sun, 20 Jan 2008 15:32:02 -0500
branch
trunk
changeset 58
16506464d57b
parent 57
5f6afe2cf9e1
child 72
c4cfaf634bb9
permissions
-rw-r--r--

[svn] Steel FilenameChecker against race conditions.

Since FilenameChecker was just using os.path.exists() to see whether or not
a filename was free, it had a time of check vs. time of use vulnerability.
Matthew was prodding me about the inconsistency with DirectoryChecker, so
that inspired me to fix this. This also entailed some refactoring. Thanks
Matthew.

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