]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/blob - docs/debian.rst
test/test_mutable: write publish surprise test for MDMF, rename existing test_publish...
[tahoe-lafs/tahoe-lafs.git] / docs / debian.rst
1 =========================
2 Debian and Ubuntu Support
3 =========================
4
5 1.  `Overview`_
6 2.  `Dependency Packages`_
7
8
9 Overview
10 ========
11
12 Tahoe-LAFS is provided as a ``.deb`` package in current Debian (>= wheezy)
13 and Ubuntu (>= lucid) releases. Before official packages were added, the Tahoe
14 source tree provided support for building unofficial packages for a variety
15 of popular Debian/Ubuntu versions. The project also ran buildbots to create
16 ``.debs`` of current trunk for ease of testing.
17
18 As of version 1.9, the source tree no longer provides these tools. To
19 construct a ``.deb`` from current trunk, your best bet is to apply the current
20 Debian diff from the latest upstream package and invoke the ``debian/rules``
21 as usual. Debian's standard ``apt-get`` tool can be used to fetch the current
22 source package (including the Debian-specific diff): run
23 "``apt-get source tahoe-lafs``". That will fetch three files: the ``.dsc``
24 control file, the main Tahoe tarball, and the Debian-specific
25 ``.debian.tar.gz`` file. Just unpack the ``.debian.tar.gz`` file inside
26 your Tahoe source tree, modify the version number in ``debian/changelog``,
27 then run "``fakeroot ./debian/rules binary``", and a new ``.deb`` will be
28 placed in the parent directory.
29
30
31 Dependency Packages
32 ===================
33
34 Tahoe depends upon a number of additional libraries. When building Tahoe from
35 source, any dependencies that are not already present in the environment will
36 be downloaded (via ``easy_install``) and stored in the ``support/lib``
37 directory.
38
39 The ``.deb`` packages, of course, rely solely upon other ``.deb`` packages.
40 For reference, here is a list of the debian package names that provide Tahoe's
41 dependencies as of the 1.9 release:
42
43 * python
44 * python-zfec
45 * python-pycryptopp
46 * python-foolscap
47 * python-openssl (needed by foolscap)
48 * python-twisted
49 * python-nevow
50 * python-mock
51 * python-simplejson
52 * python-setuptools
53 * python-support (for Debian-specific install-time tools)
54
55 When building your own Debian packages, a convenient way to get all these
56 dependencies installed is to first install the official "tahoe-lafs" package,
57 then uninstall it, leaving the dependencies behind. You may also find it
58 useful to run "``apt-get build-dep tahoe-lafs``" to make sure all the usual
59 build-essential tools are installed.