]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
README: explain the new packaging system
authorZooko O'Whielacronx <zooko@zooko.com>
Fri, 21 Sep 2007 02:32:54 +0000 (19:32 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Fri, 21 Sep 2007 02:32:54 +0000 (19:32 -0700)
Happily, the README is now shorter and simpler.

README

diff --git a/README b/README
index dc1c8bb2dfc853b7153615c36dfbed043b2284e0..e54520f9d92da318712d70d865c08edfc17cd3f5 100644 (file)
--- a/README
+++ b/README
@@ -28,37 +28,23 @@ LICENCE:
  period clause.  See the COPYING file for details.
 
 
-GETTING PRECOMPILED BINARIES:
+GETTING PRECOMPILED BINARIES FOR DEBIAN-LIKE SYSTEMS:
 
-See http://allmydata.org .  Currently pre-compiled binaries are available
-only for Debian or Ubuntu.  For any other platform you have to build it
-yourself from source, which is what this text file is all about.
+Pre-compiled binaries are available for Debian or Ubuntu.  Please see the
+following web page for instructions:
 
-
-GETTING THE SOURCE CODE:
-
-The code is available via darcs by running the following command:
-
-darcs get http://allmydata.org/source/tahoe/trunk tahoe
-
-This will create a directory named "tahoe" in the current working directory
-and put a copy of the latest source code into it.  Later, if you want to get
-any new changes, then cd into that directory and run the command "darcs
-pull".
-
-Tarballs of sources are available at:
-
-http://allmydata.org/source/tahoe/
+http://allmydata.org/trac/tahoe/wiki/DownloadDebianPackages
 
 
 DEPENDENCIES:
 
+If you aren't getting a pre-compiled binary, then you'll have to ensure that
+the following packages are installed before you install Tahoe.
+
 Note: All of the following dependencies can probably be installed through
 your standard package management tool if you are running on a modern Unix
-operating system.
-
-For example, on an debian-like system, you can do "sudo apt-get install
-gcc make python-dev python-twisted python-nevow python-pyopenssl".
+operating system.  For example, on an debian-like system, you can do "sudo
+apt-get install gcc make python-dev python-twisted python-pyopenssl".
 
  + a C compiler (language)
 
@@ -84,12 +70,19 @@ gcc make python-dev python-twisted python-nevow python-pyopenssl".
    Twisted distribution. Note that Twisted does *not* require the entire Zope
    distribution, merely the much smaller zope.interface component.
 
- + Python Nevow (0.6.0 or later) (web presentation language)
+ + Python PyOpenSSL (0.6 or later) (secure transport layer)
 
-   http://divmod.org/trac/wiki/DivmodNevow
+   http://pyopenssl.sourceforge.net
 
-   Note that the current version of Nevow (0.9.18) requires Twisted 2.4.0 or
-   later.
+   To install PyOpenSSL on Windows-native, download this:
+   http://allmydata.org/source/pyOpenSSL-0.6.win32-py2.5.exe
+
+   To install PyOpenSSL on Windows-cygwin, install the OpenSSL development
+   libraries with the cygwin package management tool, then get the pyOpenSSL
+   source code, cd into it, and run "python ./setup.py install".
+
+In addition, the following Python packages are required, but they will
+normally be automatically installed as a side effect of installing Tahoe.
 
  + Python setuptools (build and distribution tool)
 
@@ -98,50 +91,79 @@ gcc make python-dev python-twisted python-nevow python-pyopenssl".
    setuptools is present (< v0.6c6 on Cygwin, or < v0.6a9 on other
    platforms), then the build will fail.
 
-   So if the build fails due to setuptools not being compatible, you can
-   either upgrade or uninstall your version of setuptools and try again.
+   So if the build fails due to your current version of setuptools being
+   incompatible, you can either upgrade or uninstall your version of
+   setuptools and try again.
 
    http://peak.telecommunity.com/DevCenter/EasyInstall#installation-instructions
 
- + Python PyOpenSSL (0.6 or later) (secure transport layer)
+ + zfec (erasure coding library)
 
-   http://pyopenssl.sourceforge.net
+   http://cheeseshop.python.org/pypi/zfec
 
-   To install PyOpenSSL on Windows-native, download this:
-   http://allmydata.org/source/pyOpenSSL-0.6.win32-py2.5.exe
+   zfec is packaged in a setuptools-compatible way and included in the Python
+   Package Index (PyPI), so it will be automatically installed when you
+   install Tahoe (see INSTALLING).
 
-   To install PyOpenSSL on Windows-cygwin, install the OpenSSL development
-   libraries with the cygwin package management tool, then get the pyOpenSSL
-   source code, cd into it, and run "python ./setup.py install".
+ + Python foolscap (secure remote object library)
+
+   http://cheeseshop.python.org/pypi/foolscap
+
+   foolscape is packaged in a setuptools-compatible way and included in the
+   Python Package Index (PyPI), so it will be automatically installed when
+   you install Tahoe (see INSTALLING).
+
+ + Python simplejson (JSON parser)
 
- + the pywin32 package: only required on Windows
+   http://cheeseshop.python.org/pypi/simplejson
+
+   simplejson is packaged in a setuptools-compatible way and included in the
+   Python Package Index (PyPI), so it will be automatically installed when
+   you install Tahoe (see INSTALLING).
+
+ + Python Nevow (0.6.0 or later) (web presentation language)
+
+   http://divmod.org/trac/wiki/DivmodNevow
+
+   Note that the current version of Nevow (0.9.18) requires Twisted 2.4.0 or
+   later.
+
+   Nevow is packaged in a setuptools-compatible way and included in the
+   Python Package Index (PyPI), so it will be automatically installed when
+   you install Tahoe (see INSTALLING).
+
+ + the pywin32 package: required only on Windows
 
    http://sourceforge.net/projects/pywin32/
 
    (Tested with build 210, and known to not work with build 204.
-   Feedback with details of other builds is greatly appreciated)
+   Feedback with details of other builds is greatly appreciated.)
+
+   pywin32 is packaged in a setuptools-compatible way and included in the
+   Python Package Index (PyPI), so it will be automatically installed when
+   you install Tahoe (see INSTALLING).
+
 
+GETTING THE SOURCE CODE:
 
-BUILDING:
+The code is available via darcs by running the following command:
 
- Just type 'make' in the top-level tahoe directory.  This works on Windows
- too, provided that you have the dependencies mentioned above.  (Either a
- normal cygwin build or a mingw-style native build will be done by the
- makefile, depending on whether the version of python that you have installed
- is the Windows-native python or the cygwin python.)
+darcs get http://allmydata.org/source/tahoe/trunk tahoe
 
- If the desired version of 'python' is not already on your PATH, then type
- 'make PYTHON=/path/to/your/preferred/python'.
+This will create a directory named "tahoe" in the current working directory
+and put a copy of the latest source code into it.  Later, if you want to get
+any new changes, then cd into that directory and run the command "darcs
+pull".
 
- 'make test' runs the unit test suites.  (This can take a long time on
- slow computers.  There are a lot of tests and some of them do a lot of
- public-key cryptography.)
+Tarballs of sources are available at:
+
+http://allmydata.org/source/tahoe/
 
 
 INSTALLING:
 
-There are three ways to do it: The Debian Way, The Python Way, and The
-Running-In-Place Way.  Choose one:
+There are four ways to do it: The Debian Way, The Setuptools Way, The
+easy_install Way, and The Running-In-Place Way.  Choose one:
 
  The Debian Way:
 
@@ -163,13 +185,12 @@ Running-In-Place Way.  Choose one:
  The Setuptools Way:
 
   Just run 'python setup.py install'. This will compile and install the Tahoe
-  code to a system-specific standard location (somewhere inside /usr/lib/ on
-  unix). It will also acquire and install many of the necessary dependencies
-  in the same place. (The dependency-checking can handle foolscap, nevow, and
-  zfec, but you are still responsible for ensuring that twisted and pyopenssl
-  are installed).
+  code to the standard location for your operating system (on unix, that is
+  somewhere inside /usr/lib/). It will also acquire and install the 
+  easy_install-able dependencies (zfec, foolscap, simplejson, nevow, and if
+  on Windows pywin32) to the same place.
 
-  To install it to a non-standard location, learn about the
+  To install it to a non-standard location, learn about setuptools's
   "--single-version-externally-managed" flag, and visit
   http://allmydata.org/trac/tahoe/wiki/Installing .
 
@@ -180,7 +201,9 @@ Running-In-Place Way.  Choose one:
   'easy_install allmydata-tahoe' from any shell. That will download the most
   recent Tahoe source tarball, unpack it in a temporary directory, install it
   to the standard location, then download and install any easy_install-able
-  dependencies (like zfec and foolscap) that you need.
+  dependencies that you need (zfec, foolscap, simplejson, nevow, and if on
+  Windows pywin32).  (This will work only if you already have the other --
+  non-easy_install-able -- dependencies.)
 
  The Running-In-Place Way:
 
@@ -189,23 +212,18 @@ Running-In-Place Way.  Choose one:
   an Tahoe source distribution, it adds the necessary directory to the Python
   "sys.path".)
 
+  If you do not already have installed the easy_install-able dependencies
+  (zfec, foolscap, simplejson, nevow, and if on Windows pywin32) then you can
+  install them into a local subdirectory of the Tahoe source distribution by
+  executing "make build-deps". (The allmydata-tahoe script will discover them
+  and add them to the "sys.path".)
+
 
 TESTING THAT IT IS PROPERLY INSTALLED
 
- To test that all the modules got installed properly, cd to the root
- directory of the tahoe source distribution (the directory which contains
- this README file), start a python interpreter and import modules as follows.
- If each one imports successfully instead of raising ImportError then it is
- correctly installed.
-
-   % python
-   Python 2.4.4 (#2, Jan 13 2007, 17:50:26)
-   [GCC 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)] on linux2
-   Type "help", "copyright", "credits" or "license" for more information.
-   >>> import zfec
-   >>> import allmydata.Crypto
-   >>> import foolscap
-   >>> import allmydata.interfaces
+ 'make test' runs the unit test suites.  (This can take a long time on
+ slow computers.  There are a lot of tests and some of them do a lot of
+ public-key cryptography.)
 
 
 RUNNING: