# Debian and Ubuntu Support

1. Overview
2. Dependency Packages

## Overview

Tahoe-LAFS is provided as a `.deb` package in current Debian (>= stretch) and Ubuntu (>= lucid) releases. Before official packages were added, the Tahoe source tree provided support for building unofficial packages for a variety of popular Debian/Ubuntu versions. The project also ran buildbots to create `.debs` of current trunk for ease of testing.

As of version 1.9, the source tree no longer provides these tools. To construct a `.deb` from current trunk, your best bet is to apply the current Debian diff from the latest upstream package and invoke the `debian/rules` as usual. Debian’s standard `apt-get` tool can be used to fetch the current source package (including the Debian-specific diff): run “`apt-get source tahoe-lafs`”. That will fetch three files: the `.dsc` control file, the main Tahoe tarball, and the Debian-specific `.debian.tar.gz` file. Just unpack the `.debian.tar.gz` file inside your Tahoe source tree, modify the version number in `debian/changelog`, then run “`fakeroot ./debian/rules binary`”, and a new `.deb` will be placed in the parent directory.

## Dependency Packages

Tahoe depends upon a number of additional libraries. When building Tahoe from source, any dependencies that are not already present in the environment will be downloaded (via `pip` and `easy_install`) and installed in the virtualenv.

The `.deb` packages, of course, rely solely upon other `.deb` packages. For reference, here is a list of the debian package names that provide Tahoe’s dependencies as of the 1.14.0 release:

- python
- python-zfec
- python-foolscap
- python-openssl (needed by foolscap)
- python-twisted
- python-nevow
- python-mock
- python-cryptography
- python-simplejson
- python-setuptools
- python-support (for Debian-specific install-time tools)

When building your own Debian packages, a convenient way to get all these dependencies installed is to first install the official “tahoe-lafs” package, then uninstall it, leaving the dependencies behind. You may also find it useful to run “`apt-get build-dep tahoe-lafs`” to make sure all the usual build-essential tools are installed.