The Tahoe-LAFS decentralized secure filesystem.
Go to file
Brian Warner 526b97c753 tox: add 'skipsdist=True', hoping this will fix buildbot
There appears to be a bug in setuptools, triggered by running "python
setup.py sdist" with setuptools==11.3 in that python's environment, on a
project whose setup.py has a setup_requires= that requests setuptools >=
28.8.0. When setuptools is upgraded from inside setup.py, it gets into a
weird hybrid state where it's using setup() keyword-argument plugins from the
newer setuptools, but those plugins reference functions that aren't present
in the older setuptools, and the sdist command fails with an import
error (module object has no attribute 'check_specifier').

We don't actually need the sdist: all our tox test environments use
"skip_install = true", because we install tahoe via the "deps" line (so we
can get the `[test]` extra, and get a faster symlink-ish "editable" install).
That install uses "pip", which uses the pip inside the new virtualenv, which
either uses a newer version of setuptools (dependent upon what version of
"virtualenv" was installed in the parent environment, next to tox) or somehow
allows setuptools to be upgraded without exposing this weird broken hybrid
state.

Either way, skipping the sdist seems to fix this problem.

refs ticket:2910
https://tahoe-lafs.org/trac/tahoe-lafs/ticket/2910
2018-03-27 14:08:17 -07:00
docs doc improvements related to the storage dir 2018-03-19 15:28:44 -04:00
integration integration test for #2882 2018-02-06 15:28:02 -07:00
misc hush somewhat-real problems found by static analysis 2017-12-31 00:23:43 +01:00
src/allmydata Merge pull request #474 from exarkun/1587.basic-progress-report 2018-03-27 07:47:01 -04:00
static Eliminate mock dependency. 2015-07-17 22:12:25 +01:00
.appveyor.yml try a backslash 2018-02-08 11:43:51 -08:00
.coveragerc tox: add "coverage" environment 2016-05-09 14:32:21 -07:00
.gitignore add dockerfile for hacking with docker compose file for local environment 2017-09-19 09:25:39 -07:00
.travis.yml travis: add --upgrade, so we actually get a newer setuptools 2018-03-20 17:50:26 -07:00
COPYING.GPL Fix repeated 'the' in license text. 2011-08-19 13:48:36 -07:00
COPYING.TGPPL.rst magic first line tells emacs to use utf8+bom 2013-11-08 21:08:05 +00:00
CREDITS CREDITS: update 2016-03-30 16:09:12 -07:00
docker-compose.yml add dockerfile for hacking with docker compose file for local environment 2017-09-19 09:25:39 -07:00
Dockerfile Remove $HOME/.cache/ directory after building. 2016-09-26 15:19:04 -07:00
Dockerfile.dev add dockerfile for hacking with docker compose file for local environment 2017-09-19 09:25:39 -07:00
Makefile make tox env for code-checks 2016-08-19 17:42:05 -07:00
MANIFEST.in setup.py/MANIFEST.in: include missing files 2017-01-18 16:28:23 -08:00
NEWS.rst NEWS/INSTALL/relnotes: release 1.12.1 2017-01-18 16:28:23 -08:00
pyinstaller.spec Add support for binary builds with PyInstaller 2017-08-10 12:43:34 -07:00
README.rst additional subsections to make installation instructions less confusing 2018-01-06 12:10:19 +01:00
relnotes.txt NEWS/INSTALL/relnotes: release 1.12.1 2017-01-18 16:28:23 -08:00
setup.cfg setup.cfg: remove --find-links 2016-03-26 12:23:01 -07:00
setup.py pin pypiwin32 version until upstream bug fixed 2018-01-30 12:51:56 -07:00
Tahoe.home rename bin/allmydata-tahoe to bin/tahoe. Closes #155. 2007-10-11 03:38:24 -07:00
tox.ini tox: add 'skipsdist=True', hoping this will fix buildbot 2018-03-27 14:08:17 -07:00

==========
Tahoe-LAFS
==========

Tahoe-LAFS is a Free and Open decentralized cloud storage system. It
distributes your data across multiple servers. Even if some of the servers
fail or are taken over by an attacker, the entire file store continues to
function correctly, preserving your privacy and security.

For full documentation, please see
http://tahoe-lafs.readthedocs.io/en/latest/ .

|readthedocs|  |travis|  |codecov|

INSTALLING
==========

There are three ways to install Tahoe-LAFS.

using OS packages
^^^^^^^^^^^^^^^^^

Pre-packaged versions are available for several operating systems:

* Debian and Ubuntu users can ``apt-get install tahoe-lafs``
* NixOS, NetBSD (pkgsrc), ArchLinux, Slackware, and Gentoo have packages
  available, see `OSPackages`_ for details
* `Mac`_ and Windows installers are in development.

via pip
^^^^^^^

If you don't use an OS package, you'll need Python 2.7 and `pip`_. You may
also need a C compiler, and the development headers for python, libffi, and
OpenSSL. On a Debian-like system, use ``apt-get install build-essential
python-dev libffi-dev libssl-dev python-virtualenv``. On Windows, see
`<docs/windows.rst>`_.

Then, to install the most recent release, just run:

* ``pip install tahoe-lafs``

from source
^^^^^^^^^^^
To install from source (either so you can hack on it, or just to run
pre-release code), you should create a virtualenv and install into that:

* ``git clone https://github.com/tahoe-lafs/tahoe-lafs.git``
* ``cd tahoe-lafs``
* ``virtualenv --python=python2.7 venv``
* ``venv/bin/pip install --upgrade setuptools``
* ``venv/bin/pip install --editable .``
* ``venv/bin/tahoe --version``

To run the unit test suite:

* ``tox``

You can pass arguments to ``trial`` with an environment variable.  For
example, you can run the test suite on multiple cores to speed it up:

* ``TAHOE_LAFS_TRIAL_ARGS="-j4" tox``

For more detailed instructions, read `<docs/INSTALL.rst>`_ .

Once ``tahoe --version`` works, see `<docs/running.rst>`_ to learn how to set
up your first Tahoe-LAFS node.

LICENCE
=======

Copyright 2006-2016 The Tahoe-LAFS Software Foundation

You may use this package under the GNU General Public License, version 2 or,
at your option, any later version. You may use this package under the
Transitive Grace Period Public Licence, version 1.0, or at your option, any
later version. (You may choose to use this package under the terms of either
licence, at your option.) See the file `COPYING.GPL`_ for the terms of the
GNU General Public License, version 2. See the file `COPYING.TGPPL`_ for
the terms of the Transitive Grace Period Public Licence, version 1.0.

See `TGPPL.PDF`_ for why the TGPPL exists, graphically illustrated on three
slides.

.. _OSPackages: https://tahoe-lafs.org/trac/tahoe-lafs/wiki/OSPackages
.. _Mac: docs/OS-X.rst
.. _pip: https://pip.pypa.io/en/stable/installing/
.. _COPYING.GPL: https://github.com/tahoe-lafs/tahoe-lafs/blob/master/COPYING.GPL
.. _COPYING.TGPPL: https://github.com/tahoe-lafs/tahoe-lafs/blob/master/COPYING.TGPPL.rst
.. _TGPPL.PDF: https://tahoe-lafs.org/~zooko/tgppl.pdf

----

.. |readthedocs| image:: http://readthedocs.org/projects/tahoe-lafs/badge/?version=latest
    :alt: documentation status
    :target: http://tahoe-lafs.readthedocs.io/en/latest/?badge=latest

.. |travis| image:: https://travis-ci.org/tahoe-lafs/tahoe-lafs.png?branch=master
    :alt: build status
    :target: https://travis-ci.org/tahoe-lafs/tahoe-lafs

.. |codecov| image:: https://codecov.io/github/tahoe-lafs/tahoe-lafs/coverage.svg?branch=master
    :alt: test coverage percentage
    :target: https://codecov.io/github/tahoe-lafs/tahoe-lafs?branch=master