Commit Graph

6292 Commits

Author SHA1 Message Date
Brian Warner
20787853dd docs: stop suggesting 'activate', too much to explain
Also it avoids the failure mode where a user forgets to activate the
virtualenv, types the recommended "pip install" command, and installs
stuff directly to their system instead of safely confined inside the
virtualenv.
2016-03-26 14:13:23 -07:00
Brian Warner
1fca198ee4 setup.cfg: remove --find-links
This is only useful when running "setup.py install" directly, and is not
consulted when following our recommended "pip install .".
Platform-specific directories of wheels (that we, Tahoe, host ourselves)
are available for some platforms: these are described in
docs/INSTALL.rst and must be provided as a pip argument, not a
setup.cfg/easy_install configuration:

  pip install --find-links=https://tahoe-lafs.org/deps/

This also removes our involvement with eggs (which, I believe, are
usually downloaded insecurely by easy_install).
2016-03-26 12:23:01 -07:00
Brian Warner
3dcb3c8ed5 setup: remove zip_safe, no one uses eggs anymore
Modern wheels are installed unpacked.
2016-03-26 12:21:57 -07:00
Brian Warner
365977bf51 minor docs tweaks
* use correct fixed-width-font markup
* fix hyperlinks to neighboring (github-side) .rst files
* refer to python-2.7.11 consistently (thanks to PRab for the catch)
2016-03-26 11:50:44 -07:00
Brian Warner
a63263dc55 minor docs tweaks 2016-03-25 19:25:55 -07:00
Brian Warner
ef1759046d rewrite docs, with pip and virtualenv 2016-03-25 19:22:03 -07:00
Brian Warner
090b592ff8 docs: rename quickstart to INSTALL 2016-03-25 18:26:54 -07:00
Brian Warner
439eaf8c9d preliminary windows docs 2016-03-25 17:27:38 -07:00
Brian Warner
017fec16a4 test/check_memory: stop using .tac files 2016-03-25 16:26:29 -07:00
Brian Warner
c545d5c0a1 add misc/coding_tools/graph-deps.py, to visualize dependencies
This builds and parses wheels for a given target, then renders a
DOT-format graph into a PNG file.
2016-03-25 14:50:16 -07:00
Brian Warner
77b3ab019d add __main__.py so "python -m allmydata" works
Thanks to dstufft for the suggestion. I know this can make it slightly
easier to run tahoe in some funny environments (where an appropriate
"python" is on your path but the generated "tahoe" executable is not).
2016-03-25 14:49:18 -07:00
Brian Warner
7381b4a0aa update Makefile too 2016-03-25 12:58:05 -07:00
Brian Warner
79db3d089f minor .egg-info name-change cleanups
.gitignore, 'make distclean' needs to target the new names
2016-03-25 12:55:09 -07:00
Brian Warner
f66aa688df NEWS: instructions for the distribution-name change 2016-03-25 12:39:38 -07:00
Daira Hopwood
0598c830ed Rename distribution from allmydata-tahoe to tahoe-lafs. fixes ticket:2011
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-25 19:16:01 +00:00
Daira Hopwood
c3d54e0221 Back out the dependency on the conch extra for Twisted. refs ticket:2740
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-25 18:44:15 +00:00
Daira Hopwood
1db2419655 Update Twisted dependency to include tls and conch extras.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-25 18:33:04 +00:00
Brian Warner
23826b0224 fix OS-X package version
I changed the quotes in _version.py, and this script was sensitive to
them.
2016-03-23 02:32:48 -07:00
Brian Warner
2c9297f27e Makefile: remove src/buildtest from SOURCES
Oops, missed this one earlier, it caused the pyflakes check to fail.
2016-03-23 02:19:50 -07:00
Brian Warner
b5aad1ba4c test_system: remove foolscap version check
Our install_requires= want foolscap>=0.10.1, and this check only fired
if we were given <0.6.4, so the check should be obsolete.

Also, the check was breaking my attempt to test Tahoe against a
development release of Foolscap, as the NormalizedVersion call threw an
IrrationalVersionError at my Versioneer-based "0.10.1+14.g37d8279"
version string.
2016-03-23 02:16:50 -07:00
Brian Warner
831b39d8fb remove src/buildtest/ and related build_helper/ test files
This was used to exercise our old virtualenv-like scheme. Now that we
use virtualenv, they're unnecessary. Plus, removing it lets us stop
polluting end-user installs with the extra package (that might
conceivably conflict with some other project that names itself
"buildtest").
2016-03-22 22:56:03 -07:00
Brian Warner
dd84abd9f2 setup.py: work with tox under py3
This allows a python3-based "tox" (as shipped with modern debian and
ubuntu systems) to run setup.py egg_info, update_version, and sdist
commands. It moves the main "tahoe requires py2" check out of setup.py
and into allmydata.scripts.runner.run, where it gets applied at runtime
rather than build time.

It also changes the execfile(_auto_deps.py) and Versioneer-like "ask git
what our version string should be" code to work under both py2 and py3.

fixes ticket:2747
2016-03-22 22:34:42 -07:00
Brian Warner
17886c51aa add docs/desert-island.rst
refs ticket:2752
2016-03-22 18:18:49 -07:00
Brian Warner
4f98c1d1ed setup.cfg: stop using tahoe-deps/
refs ticket:2752
2016-03-22 14:33:11 -07:00
Brian Warner
1f712c8ddb Makefile: remove/deprecate old targets
This replaces the following targets with "echo this is obsolete":

* fetch-and-unpack-deps (used by the old 'tarballs' builder, for SUMO tarballs)
* test-desert-island (used by the old 'clean' builder)
* test-pip-install (used by 'new-pip' builder before we switched)

It also removes the test-pip-install.py helper script.
2016-03-22 14:12:45 -07:00
Brian Warner
1fb7cc7f18 Makefile: stop producing SUMO tarballs
refs ticket:2752
2016-03-22 14:12:35 -07:00
Brian Warner
ce088ad27c setup: remove 'trial' command. Tox is the way.
This removes the "setup.py trial" and "setup.py test" aliases from
setup.cfg, and the custom Trial class from setup.py .

Note that once you have tahoe installed into a virtualenv, "trial
allmydata" is how tests are actually run (that's what tox does).

Having a command for it in setup.py offered two things: a common
setup.py-based target to start tests (like "make check" in a
GNU/automake -style project), and a convenient way to get the
PATH/PYTHONPATH right. "tox" is now the standard way to invoke tests in
python projects, and tox sets up $PATH for us.
2016-03-22 14:00:31 -07:00
Brian Warner
ae1b1e02fc setup.py: remove MySdist and SUMO tarball support. 2016-03-22 13:57:30 -07:00
Brian Warner
5acd63dda3 setup.py: remove dead code 2016-03-22 13:56:57 -07:00
Brian Warner
c36ca9a938 MANIFEST.in: remove obsolete contents 2016-03-22 13:39:51 -07:00
Brian Warner
16f07b34ce remove old misc/dependencies/ contents and references 2016-03-22 13:38:31 -07:00
Brian Warner
745c75706a NEWS: the upcoming release will be named 1.11.0 2016-03-21 22:00:29 -07:00
Brian Warner
a8b3c40f46 docs/donations: announce new BTC key, governance+accounting 2016-03-21 01:20:26 -07:00
Brian Warner
b8ad887823 Reduce setuptools dep to >=11.3
We don't necessarily need this ourselves (__init__.py's version-checking
code is the only thing in tahoe per se that uses setuptools, and our
setup.py's use of setuptools isn't something that install_requires= can
say anything about). But at least one old environment failed because a
sub-dependency needed a newer version than Tahoe asked for. I'm not sure
if this ought to be here, but it may help for a transitional period
until these ancient environments get updated.

closes ticket:2744
2016-03-18 11:28:58 -07:00
Brian Warner
c3bf9534ec Makefile: remove/disable most broken stuff
probably fixes ticket:2743
2016-03-17 22:23:39 -07:00
Brian Warner
141ff17b91 auto_deps: bump to setuptools>=20.3
20.3 is the current version as of today. I'm not really sure what
version we need, but this is better than the previous zetuptoolz "0.6c6"
requirement. Closes ticket:2744.
2016-03-17 22:12:04 -07:00
Brian Warner
42ede22f1e tox: run tahoe --version for buildbot, remove update_version
Our setup.cfg ensures that 'setup.py update_version' happens early
enough. And doing it from tox's commands= is too late anyways (because
we aren't using Versioneer, so the _version.py file must be updated
before tox installs a static copy into the virtualenv).

The buildbot's main run-trial-with-tox command has been updated to scan
for the 'tahoe --version' output and include the version string in the
buildbot results.
2016-03-17 22:01:33 -07:00
Brian Warner
8835ba8dd3 README: add link to OS-X.rst 2016-03-16 12:50:48 -07:00
Brian Warner
d5c34d46bc Merge branch 'fix-osx-pkg' 2016-03-16 12:40:30 -07:00
Brian Warner
136c16e5ec docs: explain what the OS-X package does and does not provide. 2016-03-16 12:38:26 -07:00
Brian Warner
b5b2036d37 OS-X: fix package generation
The old scheme depended upon the bespoke pseudo-virtualenv scheme that
we cooked up long ago (it copied the entire source tree, bin/tahoe and
support/ and all, into the mac .pkg archive). When we moved to real
virtualenvs, that broke.

This new scheme only installs a populated virtualenv into the archive.
It replaces the entry-point bin/tahoe with a script that behaves a lot
like the old bespoke script: it inserts a relative site-packages/ into
sys.path before importing allmydata.scripts.runner and calling run().

This still depends upon the end-users $PATH having a python that is
compatible with the binary modules we've compiled here, and there are
three potentially-differing Pythons to worry about (homebrew, python.org
installers, and Apple's native /usr/bin/python). We'll have to see if
they tend to differ in ways that cause problems (I think the maintainers
generally try to avoid that). If that's an issue, the next level up is
to use bbfreeze or py2app or something in that category, to ship an
entire python, and not just a bundle of libraries.
2016-03-16 12:31:21 -07:00
Brian Warner
082bc3de6f OS-X installer license: wrap to fit, update CC 2016-03-16 12:23:44 -07:00
Brian Warner
be463cd36c OS-X: move Contents down into misc/ 2016-03-16 12:23:13 -07:00
Brian Warner
c8edddb31b travis: enable cache, should speed up builds a lot
This will allow travis builders to cache generated wheels between
builds, so all the dependencies don't have to get re-built every time.
2016-03-15 18:41:59 -07:00
Brian Warner
a2795ea5ff Merge PR #252 'no-executable' 2016-03-15 18:38:08 -07:00
Brian Warner
0f3ce7a17f setup.py: remove 'make_executable' command 2016-03-15 18:19:54 -07:00
Brian Warner
36865a329c fix test_runner.BinTahoe.test_the_right_code
With our new tox/pip/virtualenv -based environment, we no longer need
the bin/tahoe script, so the tests that examine it needed to change.
In particular, we no longer need to be running tests from the root of a
source tree. Instead, what we care about is that the subprocess 'tahoe'
is importing code from the same place that the unit test .py files live.
2016-03-15 18:15:29 -07:00
Brian Warner
b93056d34d turn on appveyor CI 2016-03-15 13:02:56 -07:00
Brian Warner
3a02170d06 README/NEWS: new pip/virtualenv -based docs 2016-03-15 12:33:50 -07:00
Brian Warner
dbe314e8df setup.py: remove __requires__
This is more cleanup from the 1582 zetuptoolzs-ectomy. __requires__ was
used to make sure that 'setup.py test' would have all our dependencies
on sys.path, but has the severe drawback of requiring all deps to be
available before any setup.py command can work, including the 'setup.py
sdist' that tox uses (to populate the new virtualenvs it creates). Now
that we use tox for tests, we don't need 'setup.py test' any more, but
I'll remove that later (after this release). Right now we just need to
get rid of this __requires__ line, as it was causing 'tox' sdist
failures.
2016-03-15 12:33:38 -07:00