diff --git a/DownloadDebianPackages.md b/DownloadDebianPackages.md index 454a32a..78c575a 100644 --- a/DownloadDebianPackages.md +++ b/DownloadDebianPackages.md @@ -1,56 +1,66 @@ -NOTE: at the time of this writing (2009-08-01), the latest release of Tahoe-LAFS, v1.5.0, can't be installed with apt-get because we haven't yet built .deb's for all of its dependencies and installed them on our apt repository hosted at . Until we fix that, you can follow the install process documented on . This will work fine on Debian/Ubuntu and it will *not* change your system configuration in any way, so it won't interfere with your normal apt-get administration. (You can be sure of this because you don't run any commands with `sudo`, so it couldn't mess up your system configuration even if it tried.) # Debian Packages Tahoe is compatible with various releases of Debian/Ubuntu. There are two -forms of compatibility: "runs-from-source" and "runs-from-package". Both are -pretty easy. If you just want to download a binary package and install it, -you'll need the "runs-from-package" kind of compability. +forms of compatibility: "apt-get installable" and "runs-from-source". Both +are pretty easy. If you just want to download a binary package and install +it, you'll need the "apt-get installable" kind of compability. ## Compability (note, the contents of this table have not yet been verified) -| | | | | -|---|---|---|---| -|platform|runs-from-source|runs-from-package|support packages available| -|Debian "etch"|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=etch)|?|yes| -|Debian "lenny"|yes|yes|yes (use etch)| -|Debian "sid"|yes|yes|yes| -|Ubuntu "dapper"|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=dapper)|no|no| -|Ubuntu "edgy"|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=edgy)|?|yes| -|Ubuntu "feisty"|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=feisty2.5)|no?|yes| -|Ubuntu "gutsy"|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=gutsy)|no (#149)|yes| -|Ubuntu "hardy"|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=hardy)|yes|yes| -|Ubuntu "intrepid"|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=Shawn+intrepid+amd64)|yes|yes| +| | | | | | | +|---|---|---|---|---|---| +|platform|apt-get installable|deb buildable|tahoe deb available|support debs available|runs-from-source| +|Debian 3.1 "sarge"|no|no|no|no|?| +|Debian 4.0 "etch" i386|no|yes|yes|no (missing pycryptopp)|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=etch)| +|Debian 5.0 "lenny" i386|yes?|yes|yes (use etch)|yes (use etch for zfec/foolscap)|yes?| +|Debian "squeeze" (unreleased)| ? | ? | ? | ? | ? | +|Debian "sid" (unreleased)|yes|yes|no|yes|yes| +|Ubuntu 6.06LTS "dapper" i386|no|no|no|no|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=dapper)| +|Ubuntu 6.10 "edgy" i386|?|yes|yes|no (missing pycryptopp)|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=edgy)| +|Ubuntu 7.04 "feisty" i386|no?|yes|yes|no (missing pycryptopp)|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=feisty2.5)| +|Ubuntu 7.10 "gutsy" i386|no (#149)|yes|yes|no (missing pycryptopp)|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=gutsy)| +|Ubuntu 8.04LTS "hardy" i386|yes|yes|yes|yes|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=hardy)| +|Ubuntu 8.04LTS "hardy" amd64|no|yes|yes|no (missing pycryptopp, zfec)|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=hardy-amd64)| +|Ubuntu 8.10 "intrepid" i386|no|yes|no|no|?| +|Ubuntu 9.04 "jaunty" i386|no|yes|no|no|yes| +|Ubuntu 9.04 "jaunty" amd64|no|yes|no|no (missing zfec, foolscap)|[yes](http://allmydata.org/buildbot/waterfall?show_events=false&builder=Shawn%20jaunty%20amd64)| +|Ubuntu "karmic" (unreleased)| ? | ? | ? | ? | ? | -"runs-from-source" means that it is possible to take a Tahoe source tree -(either from a downloaded tarball or from a darcs checkout) and run -`python setup.py build` on it, then run `./bin/tahoe` to use it. This -approach is described on the -[http://allmydata.org/source/tahoe/trunk/docs/install.html ""Install Tahoe""] -page. - -"run-from-package" means that it is possible to download a pre-built Tahoe +"apt-get installable" means that it is possible to download a pre-built Tahoe binary package from the APT repository on allmydata.org (as well as packages for any dependencies that are not otherwise available in the Debian/Ubuntu -release), and then run /usr/bin/tahoe to use that installation. It also means -that these .deb packages can be built from a source tree on those platforms -(which the allmydata.org buildbot does automatically, to populate the APT -repository). +release), and then run /usr/bin/tahoe to use that installation. Follow the +instructions below to edit your /etc/apt/sources.list file. "apt-get +installable" = ("tahoe deb available" AND "support debs available"). -"support packages available" means that the allmydata.org APT repository has -debian packages available for several of the libraries which Tahoe requires -(those which are not already in the debian release). This might make it -easier to build Tahoe from source (fewer things to download). +"deb buildable" means that a tahoe .deb package can be built from a source +tree. "tahoe deb available" means the allmydata.org buildbot does this +automatically, to populate the APT repository. We do not have automatic +builders for all platforms, so there are holes in this table. -== Downloading/Installing Binary Packages == +"support debs available" means that the allmydata.org APT repository has +debian packages available for everything that Tahoe needs (those which are +not already in that debian release: over time, many of the packages are being +added to debian proper, and no longer need to be hosted here). This is +required to make tahoe be "apt-get installable" on any given platform. -allmydata.org hosts an APT repository at http://allmydata.org/debian/ . To +"runs-from-source" means that it is possible to take a Tahoe source tree +(either from a downloaded tarball or from a darcs checkout) and run ```python +setup.py build``` on it, then run `./bin/tahoe` to use it. This approach +is described on the +[""Install Tahoe""](http://allmydata.org/source/tahoe/trunk/docs/install.html) +page. The allmydata.org buildbot automatically tests run-from-source on most +debian platforms. + +## Downloading/Installing Binary Packages + +allmydata.org hosts an APT repository at . To install packages from this repository, add the following lines to your `/etc/apt/sources.list`, replacing the word `$DIST` with one of -`etch`, `sid`, `edgy`, `feisty`, or `gutsy` as -appropriate. +`etch`, `sid`, `edgy`, etc, as appropriate. ``` deb http://allmydata.org/debian/ $DIST main tahoe @@ -58,21 +68,25 @@ deb-src http://allmydata.org/debian/ $DIST main tahoe ``` -Then update and install the `allmydata-tahoe` package. apt-get will -automatically acquire other dependency packages from the same repository -(including `foolscap`, `zfec`, `pycryptopp`, and others. The -"tahoe" section contains the Tahoe debian packages, while the "main" section -contains the support libraries. +Then update and install the `allmydata-tahoe` package: + +``` +sudo apt-get update +sudo apt-get install allmydata-tahoe +``` + +apt-get will automatically acquire other dependency packages from the same +repository (including `foolscap`, `zfec`, `pycryptopp`, and +others). The "tahoe" section contains the Tahoe debian packages, while the +"main" section contains the support libraries. Note that these `allmydata-tahoe` packages are generated each time the code is changed, and represent the most up-to-date (read "unstable") version available. The usual warnings about no guarantees apply: it might cause your -computer to catch fire, might steal your dog, etc. - -In the future, we will add a section to the repository that only contains -released versions of Tahoe, probably called "tahoe-releases". The packages in -this section should be more stable than the bleeding-edge packages in the -"tahoe" section. +computer to catch fire, might steal your dog, etc. In the future, we will add +a section to the repository that only contains released versions of Tahoe, +probably called "tahoe-releases". The packages in this section should be more +stable than the bleeding-edge packages in the "tahoe" section. After installing see the [docs/running.html](http://allmydata.org/source/tahoe/trunk/docs/running.html) for how to use it. @@ -85,15 +99,25 @@ on these releases, however. ### Etch -Debian Etch (4.0, "oldstable") has a `python-pysqlite2` for Python 2.4 that lacks a `.egg-info`, so it is invisible to `setuptools`. Workarounds: 1. use Python 2.5 instead of Python 2.4. 2. `sudo apt-get install sqlite3-dev && sudo easy_install pysqlite`. +Debian Etch (4.0, "oldstable") has a `python-pysqlite2` for Python 2.4 +that lacks a `.egg-info`, so it is invisible to `setuptools`. +Workarounds: + + 1. use Python 2.5 instead of Python 2.4. + 2. `sudo apt-get install sqlite3-dev && sudo easy_install pysqlite`. ### Edgy -Ubuntu Edgy (6.10) has a `python-pysqlite2` for Python 2.4 that has a `.egg-info` marked as being for Python 2.5, so it is invisible to `setuptools`. Workarounds: 1. use Python 2.5 instead of Python 2.4. 2. `sudo apt-get install sqlite3-dev && sudo easy_install pysqlite`. +Ubuntu Edgy (6.10) has a `python-pysqlite2` for Python 2.4 that has a +`.egg-info` marked as being for Python 2.5, so it is invisible to +`setuptools`. Workarounds: + + 1. use Python 2.5 instead of Python 2.4. + 2. `sudo apt-get install sqlite3-dev && sudo easy_install pysqlite`. It appears that the version of Nevow (0.7.0) which shipped with edgy is broken (ubuntu bug -[#61423](https://bugs.launchpad.net/ubuntu/+source/nevow/+bug/61423)), +[https://bugs.launchpad.net/ubuntu/+source/nevow/+bug/61423 #61423]), preventing the tahoe node's webserver from running. The symptom is an exception at node startup that looks like this: @@ -118,6 +142,16 @@ to pyopenssl-0.6, or refrain from running unit tests. ## Building From Source On Debian Systems +If your platform is not listed as "apt-get installable" above, or if you +don't have root access, or simply want to run Tahoe without installing it, +you can use the regular run-from-source procedure described in + . As long as you +run this as a normal (non-root) user and don't use "sudo" at any time, this +will not modify your system and will not interfere with the normal apt-get +tools. Building from a source tree and then symlinking `~/bin/tahoe` to +the tree's `bin/tahoe` executable is a convenient way to use Tahoe +without installing it to your `/usr` directory. + Many of Tahoe's build dependencies can be satisfied by first installing certain debian packages, and the Tahoe build process will download and build many of the others. Please see source:docs/debian.txt for details about