.. -*- coding: utf-8-with-signature -*- =========================== 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.