[svn] Add basic documentation, and make this version 3.0. trunk

Tue, 02 Jan 2007 20:30:17 -0500

author
brett
date
Tue, 02 Jan 2007 20:30:17 -0500
branch
trunk
changeset 18
1600807a32bd
parent 17
481a2b4be471
child 19
bb6e9f4af1a5

[svn] Add basic documentation, and make this version 3.0.

INSTALL file | annotate | diff | comparison | revisions
MANIFEST.in file | annotate | diff | comparison | revisions
README file | annotate | diff | comparison | revisions
TODO file | annotate | diff | comparison | revisions
scripts/x file | annotate | diff | comparison | revisions
setup.py file | annotate | diff | comparison | revisions
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/INSTALL	Tue Jan 02 20:30:17 2007 -0500
@@ -0,0 +1,47 @@
+x Installation Documentation
+============================
+
+Requirements
+------------
+
+To run x, you'll need 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/
+
+x 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
+
+Files compressed with gzip or compress
+  zcat
+
+Files compressed with bzip2
+  bzcat
+
+Installation
+------------
+
+x is just a simple script, making it easy to stash wherever you need it.
+Just copy ``scripts/x`` 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
--- a/MANIFEST.in	Sun Dec 31 19:29:46 2006 -0500
+++ b/MANIFEST.in	Tue Jan 02 20:30:17 2007 -0500
@@ -1,3 +1,3 @@
-include COPYING
+include COPYING INSTALL README
 recursive-include tests *
 exclude tests/testscript.sh
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/README	Tue Jan 02 20:30:17 2007 -0500
@@ -0,0 +1,79 @@
+x - Intelligent archive extraction
+==================================
+
+Introduction
+------------
+
+x extracts archives in a number of different formats; it currently supports
+tar, zip, cpio, rpm, and deb.  It can also decompress files compressed with
+gzip, bzip2, or compress.
+
+In addition to providing one command to handle many different archive
+types, x also aids the user by extracting contents consistently.  By
+default, everything will be written to a dedicated directory that's named
+after the archive.  x will also change the permissions to ensure that the
+owner can read and write all those files.
+
+Running x
+---------
+
+To run x, simply call it with the archive(s) you wish to extract as
+arguments.  For example::
+
+   x coreutils-5.*.tar.gz
+
+x supports a number of options to mandate specific behavior:
+
+-r, --recursive
+   With this option, x will search inside the archives you specify to see
+   if any of the contents are themselves archives, and extract those as
+   well.
+
+-o, --overwrite
+   Normally, x will avoid extracting into a directory that already exists,
+   and instead try to find an alternative name to use.  If this option is
+   listed, x will use the default directory name no matter what.
+
+-f, --flat
+   Extract archive contents into the current directory, instead of their
+   own dedicated directory.  This is handy if you have multiple archive
+   files which all need to be extracted into the same directory structure.
+   Note that existing files may be overwritten with this option.
+
+-q, --quiet
+   Suppress warning messages.  Listing this option twice will cause the
+   x to be silent if at all possible.
+
+-v, --verbose
+   Print more information about x's behavior.  You can list this option up
+   to three times for more information.
+
+--help
+   Display basic help.
+
+--version
+   Display x's version, copyright, and license information.
+
+Other Useful Information
+------------------------
+
+x 3.0 is copyright (c) 2006 `Brett Smith`_.  Feel free to send comments,
+bug reports, patches, and so on.  You can find the latest version of x on
+`its home page`_.
+
+.. _`Brett Smith`: mailto:brettcsmith@brettcsmith.org
+.. _`its home page`: http://www.brettcsmith.org/2006/x/
+
+x 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, 5th Floor, Boston, MA, 02111.
--- a/TODO	Sun Dec 31 19:29:46 2006 -0500
+++ b/TODO	Tue Jan 02 20:30:17 2007 -0500
@@ -1,8 +1,8 @@
 Things which I have a use case/anti-use case for:
-* Avoid overwriting directories.
-* Decompress non-archive files.
+* Figure out what the deal is with strerror.
 * Better error messages (file doesn't exist, isn't readable, etc.)
 * Interactivity: ask about overwriting, recursing, etc.
+* Consistently raise and handle exceptions.
 
 Things that are generally good:
 * Better tests.
@@ -14,3 +14,4 @@
 * Use zipfile instead of the zip commands.
 * Processing from stdin.
 * Extracting control.tar.gz from deb files.
+* shar support.
--- a/scripts/x	Sun Dec 31 19:29:46 2006 -0500
+++ b/scripts/x	Tue Jan 02 20:30:17 2007 -0500
@@ -29,7 +29,7 @@
 
 from cStringIO import StringIO
 
-VERSION = "2.1"
+VERSION = "3.0"
 VERSION_BANNER = """x version %s
 Copyright (c) 2006 Brett Smith <brettcsmith@brettcsmith.org>
 
--- a/setup.py	Sun Dec 31 19:29:46 2006 -0500
+++ b/setup.py	Tue Jan 02 20:30:17 2007 -0500
@@ -3,10 +3,11 @@
 from distutils.core import setup
 
 setup(name="x",
-      version = "2.0",
+      version = "3.0",
       description = "Script to intelligently extract multiple archive types",
       author = "Brett Smith",
       author_email = "brettcsmith@brettcsmith.org",
       url = "http://www.brettcsmith.org/2006/x",
       scripts = ['scripts/x'],
+      license = "GNU General Public License, version 2 or later"
      )

mercurial