Commit Graph

148 Commits

Author SHA1 Message Date
Zooko O'Whielacronx 0de6e616e0 setup: use "setup.py develop --multi-version" so that if there is a too-old version of a dependency installed this doesn't prevent Tahoe's "develop" and run-in-place from working 2008-11-20 14:15:45 -07:00
Zooko O'Whielacronx 31a364e8df setup: pretend the tahoe requires twisted to set up, so that twisted will be there for nevow 2008-10-25 06:50:42 -07:00
Zooko O'Whielacronx 26dfc33263 setup: remove the developer note about doing without GNU make (the GNU make requirement is about to hurt Peter if he tries to follow this doc, by the way)
add classifiers showing with which versions of Python it is known to work.
2008-10-21 09:32:00 -07:00
robk-tahoe 5882ce99f4 setup: fix site-dirs to find system installed twisted on mac.
zooko helped me unravel a build weirdness today.  somehow the system installed
twisted (/System/Library) was pulling in parts of the other twisted (/Library)
which had been installed by easy_install, and exploding. 

getting rid of the latter helped, but it took this change to get the tahoe
build to stop trying to rebuild twisted and instead use the one that was 
already installed. c.f. tkt #229
2008-09-24 10:42:55 -07:00
Zooko O'Whielacronx 69bc4624c3 setup: stop catching EnvironmentError when attempting to copy ./_auto_deps.py to ./src/allmydata/_auto_deps.py
It is no longer the case that we can run okay without _auto_deps.py being in place in ./src/allmydata, so if that cp fails then the build should fail.
2008-09-23 17:04:02 -07:00
Brian Warner a997d65d74 setup.py trial: improve --verbose suggestion a bit 2008-09-19 12:39:22 -07:00
Brian Warner dde7d67498 setup.py: remove unused 'Extension' import 2008-09-17 16:08:29 -07:00
Brian Warner 050bee8fdc setup.py,Makefile: move the 'chmod +x bin/tahoe' into setup.py 2008-09-17 16:07:56 -07:00
Brian Warner 749c5a95e0 setup.py,Makefile: teat sdist --sumo about tahoe-deps/, use -SUMO suffix on tarballs, add sumo to 'make tarballs' target 2008-09-17 13:01:19 -07:00
Brian Warner fd432b43bf #249: get dependent libs from tahoe-deps and ../tahoe-deps 2008-09-16 18:36:27 -07:00
Brian Warner 77d7f63e39 setup.py: add 'setup.py run_with_pythonpath', to run other commands with PYTHONPATH set usefully 2008-09-11 21:44:18 -07:00
Brian Warner 5ca999fb72 Makefile: convert check-auto-deps target into 'setup.py check_auto_deps' 2008-09-11 20:59:04 -07:00
Brian Warner 39552404d7 rewrite parts of the Makefile in setup.py. Add 'build_tahoe' and 'trial' subcommands.
The 'make build' target now runs 'setup.py build_tahoe', which figures out
where the target 'supportlib' directory should go, and invokes 'setup.py
develop' with the appropriate arguments.

The 'make test' target now runs 'setup.py trial', which manages sys.path and
runs trial as a subroutine instead of spawning an external process. This
simplifies the case where Twisted was built as a dependent library (and thus
the 'trial' executable is not on PATH).

setup.py now manages sys.path and PYTHONPATH for its internal subcommands, so
the $(PP) prefix was removed from all Makefile targets that invoke setup.py .
For the remaining ones, the 'setup.py -q show_pythonpath' subcommand was
added to compute this prefix with python rather than with fragile
shell/Makefile syntax.
2008-09-11 18:03:21 -07:00
Zooko O'Whielacronx 2cbba0efa0 setup: patch from Chris Galvan to build sdists with no deps in them normally, but include deps if --sumo 2008-08-27 11:26:44 -07:00
Brian Warner 5b8caf26a7 setup.py: cosmetic, remove trailing whitespace 2008-07-14 14:53:25 -07:00
Zooko O'Whielacronx 636d8737c7 setup: setup_requires darcsver >= 1.1.5 2008-06-21 14:01:09 -07:00
Zooko O'Whielacronx 970edc5c65 setup and docs: various improvements to setup and docs
Remove docs/install-details.html and README.win32 for now (see #282).
Remove checks for pywin32 and pyopenssl in Makefile -- that is (or will be) automated by setuptools.
Remove twisted from setup_requires.  This causes the problem in which Nevow doesn't declare its dependency on Twisted (#440) to yield a clear ImportError mentioning Twisted and to fail repeatedly, rather than yielding a weird ImportError and working on the second identical attempt.
Fix Makefile to set PATH so that trial and twistd can be found by "make test" after Twisted was installed into support/ during "make"
2008-06-05 13:55:05 -07:00
Zooko O'Whielacronx 9cd5a46442 setup: trivial change to metadata to test patch/branch/build system 2008-04-18 11:58:00 -07:00
Zooko O'Whielacronx 229e29e81b setup: a tiny tweak to setup to avoid requiring darcsver package if the user isn't invoking "./setup.py darcsver"
The real reason for this patch is to test our patch management infrastructure.
2008-04-17 22:07:52 -07:00
Zooko O'Whielacronx 67a7e5ac47 setup: mark Tahoe in the Trove classifiers as Production/Stable instead of Beta 2008-04-14 11:08:23 -07:00
Zooko O'Whielacronx ff7f716871 setup: setup_requires twisted, because foolscap <= 0.2.5 imports twisted in its setup.py and because we want trial to be available at build time 2008-04-09 11:30:53 -07:00
Zooko O'Whielacronx d7cf033049 setup: require setuptools >= v0.6c8 2008-03-26 12:13:02 -07:00
Zooko O'Whielacronx 7213348f86 setup_require pyutil >= 1.3.16, as the Windows installer builder's misc/sub-ver.py relies on it 2008-03-10 20:13:21 -07:00
Zooko O'Whielacronx 8bfb9a416d setup: setup_require darcsver >= 1.1.2 2008-03-10 19:57:07 -07:00
Zooko O'Whielacronx f58acd69b4 setup: generate a unique revision number for each build 2008-03-10 19:26:02 -07:00
Zooko O'Whielacronx 348eecd615 setup: require specific versions of dependencies, both at run-time (if pkg_resources is available) and at build-time, and make there be only once place where we specify those versions
Using pkg_resources.require() like this also apparently allows people to install multiple different versions of packages on their system and tahoe (if pkg_resources is available to it) will import the version of the package that it requires.  I haven't tested this feature.
2008-01-22 17:24:33 -07:00
Zooko O'Whielacronx eaed7a0690 setup: use setuptools (if it is present) at run-time to give a specific error message on startup if a too-old version of a dependency is installed 2008-01-22 17:42:54 -07:00
Zooko O'Whielacronx 84289b2446 setup: update some docs, metadata, and docstrings 2008-01-22 10:22:51 -07:00
Zooko O'Whielacronx 1f2e3fc912 setup: simplify the setup by removing the "tahoe dependencies" fake project
Now we use "./setup.py develop" to ensure that changes to our source code are immediately used without requiring a "make" step.  This simplification will hopefully pave the way for easier py2exe and py2app, solving the "Unit tests test the installed version" bug (#145), and perhaps also #164 and #176.

This patch also conditionalizes the use of setuptools_darcs on the absence of a PKG-INFO file, which is part of fixing #263.
2008-01-22 08:35:38 -07:00
Zooko O'Whielacronx e07f9c27c2 setup: require setuptools >= v0.6c6 on all platforms
Technically, we could get away with v0.6c5 or v0.6c4 on non-cygwin platforms, but if someone currently doesn't have setuptools >= v0.6c6 installed then our setup process will just use our bundled setuptools v0.6c7 anyway, so it will still work, and this makes the setup.py and the accompanying documentation simpler.
2008-01-10 14:02:13 -07:00
Zooko O'Whielacronx 83b7b64b3a setup: update licensing information in setup.py comments and metadata 2008-01-08 11:45:00 -07:00
Zooko O'Whielacronx 2755f28e76 setup: use darcsver instead of pyutil for darcsver, use setup.py plugin instead of executable for darcsver
This hopefully fixes the deb builders.
2007-12-31 23:28:31 -07:00
Zooko O'Whielacronx c3a265839c setup: refactor ez_setup.py and setup.py to satisfy the Desert Island scenario, to find and use setuptools egg in-place in misc/dependencies, and make it setup_require pyutil (for darcsver) 2007-12-22 10:44:47 -07:00
Zooko O'Whielacronx 1ac11301a7 setup: finish switching from Tahoe's versions of autoversioning tools to pyutil's versions 2007-12-21 14:42:38 -07:00
Zooko O'Whielacronx c00ab7c5ea setup: fix scheme ("file:") for download base for boostrapping setuptools 2007-12-20 16:18:14 -07:00
Zooko O'Whielacronx 3028defb7e setup: fix typo in name of download base for bootstrapping setuptools 2007-12-20 16:16:30 -07:00
Zooko O'Whielacronx 6809fa659e setup: fix the name of "misc/dependencies" for bootstrapping setuptools 2007-12-20 16:13:10 -07:00
Zooko O'Whielacronx d9fea2566c setup: use os.path.join('misc', 'dependencies') instead of "misc/dependencies"
In the hopes that this will make the boostrapping of setuptools from its bundled egg work on Windows.
2007-12-20 16:07:17 -07:00
Brian Warner dc3d9f28b8 setup.py: arg, another stupid paste error, affecting cygwin 2007-12-10 20:17:34 -07:00
Brian Warner 7a25d2427f setup.py: fix stupid cut-and-paste error 2007-12-10 20:08:38 -07:00
Brian Warner 0618cf792d build-deps: require setuptools 0.6c4 or later, because older ones don't allow foolscap to use os.random at import time 2007-12-10 20:06:59 -07:00
Brian Warner 955bd5383d remove PyCrypto, now we only use pycrypto++ 2007-12-03 18:10:01 -07:00
Zooko O'Whielacronx 97de6a03d2 remove parts of pycrypto that we are no longer going to use: SHA256 and RSA 2007-11-09 18:21:12 -07:00
Zooko O'Whielacronx f34b8b251a setup: automatically discover files to include in packages
(Because they are python packages or because they are registered under darcs revision control.)
2007-11-09 18:04:19 -07:00
Zooko O'Whielacronx 9a40ef7526 setup: continue running setup.py even if ez_setup.py can't be imported 2007-11-09 14:58:03 -07:00
czooko 2a95a6fe5b doc: emphasize in our "description" field that we are under a Free Software licence 2007-10-15 21:35:09 -07:00
czooko 51125bb2b3 fix the 'license' field of the PyPI db (not the Trove Classifiers that I was changing in recent patches) to describe our licence and link to it
The earlier patches were changing the Trove Classifiers, which is a different thing to this 'license' field.
2007-10-15 20:55:10 -07:00
Zooko O'Whielacronx 965066dba4 comment-out the 'license' field because PyPI rejects upload if you have an invalid value therein
This means that we have no machine-readable licence for now.  I will make the
human-readable licensing.
2007-10-15 20:48:09 -07:00
Zooko O'Whielacronx 41a5e70276 setup: stop claiming that we are under GPL in the "license" field of the PyPI database
Unfortunately, there is no way to claim that we are under a Free Software/Open
Source licence without also claiming to be under a licence that we are not or
claiming to have approval from DFSG or OSI, which we haven't.

Until now, I erred on the side of choosing the licence that is closest to our
from the list (GPL), but that was a bad idea and now I'm erring on the side of
not including a machine-readable licensing claim at all.

Hopefully humans who are interested will quickly find out that we are actually
under a Real Free Software Licence.

But really, this underscores that we need to talk to FSF, edit our licence for
clarity of intent, and submit it to DFSG/OSI.
2007-10-15 19:57:42 -07:00
Zooko O'Whielacronx 7cb41f4eaa setup: setup_requires setuptools_darcs_plugin. Without it the "./setup.py sdist upload" will silently upload the wrong package contents. 2007-10-13 13:38:18 -07:00
Brian Warner dc573554c8 rename bin/allmydata-tahoe to bin/tahoe. Closes #155. 2007-10-11 03:38:24 -07:00
Zooko O'Whielacronx 84a303515f setup: use ez_setup.py without a "download delay" 2007-10-03 15:14:14 -07:00
Brian Warner a9bb0814e6 setup.py use sys.executable instead of hard-coded 'python' to run make-version.py 2007-09-24 12:38:59 -07:00
Zooko O'Whielacronx 2ff4f30e64 setup: attempt to invoke make-version.py whenever setup.py is evaluated 2007-09-23 18:43:36 -07:00
Zooko O'Whielacronx 6fbc51568f setup: use the setuptools "console_scripts" feature to get an allmydata-tahoe.exe on Windows 2007-09-21 13:56:27 -07:00
Brian Warner 1f035a8f1f setup.py: factor out dependency stuff, add workaround for nevow-0.6.0-on-dapper problem 2007-09-15 15:05:35 -07:00
Brian Warner 5cc1dbaac9 setup.py: add Nevow to our dependency list 2007-09-15 14:18:07 -07:00
Brian Warner fb5ec5a899 setup.py: minor reformatting, use explicit file: URLs in dependency-links 2007-09-15 14:05:32 -07:00
Brian Warner 44c7349270 setup.py: require simplejson>=1.4, since we use the indent= argument 2007-09-14 03:24:15 -07:00
Zooko O'Whielacronx 9c272308e2 set the zip_safe flag to False
This means that by default the allmydata-tahoe egg will be a directory with a tree of files instead of a zip file containing files.  I prefer the former because it makes it easier for people to hack into it.
Unfortunately the files therein are still going to be .pyc's instead of .py's, if I understand correctly.  I would prefer for them to be .py's.  See also discussion on the distutils-sig mailing list:

http://mail.python.org/pipermail/distutils-sig/2007-July/007827.html
2007-09-13 15:37:55 -07:00
Zooko O'Whielacronx ef7340fb77 change setup.py to find dependency tarballs in misc/dependencies 2007-09-13 15:37:27 -07:00
Zooko O'Whielacronx 28ac048ba0 change ez_setup.py to find tarballs in misc/dependencies 2007-09-13 14:51:19 -07:00
Zooko O'Whielacronx a01ccc54c0 use ez_setup.py to bootstrap setuptools 2007-09-12 18:57:10 -07:00
Brian Warner 7853497787 setup.py: remove nevow dependency: we need it, but easy_install can't install it 2007-09-12 16:55:38 -07:00
Brian Warner 1c27cc3ea8 packaging: move to setuptools 2007-09-12 16:02:53 -07:00
Brian Warner 93554c8072 setup.py: fix move to _version.py 2007-09-12 16:02:23 -07:00
Zooko O'Whielacronx f4b5fbc418 README: update the wording of the "LICENCE" section to more closely follow FSF recommendations 2007-09-12 11:31:57 -07:00
Brian Warner 0fe1205789 storage: replace sqlite with in-share lease records 2007-09-02 14:47:15 -07:00
Brian Warner 2a63fe8b01 deletion phase3: add a sqlite database to track renew/cancel-lease secrets, implement renew/cancel_lease (but nobody calls them yet). Also, move the shares from BASEDIR/storage/* down to BASEDIR/storage/shares/* 2007-08-27 23:41:40 -07:00
Brian Warner 56e7ecc540 setup.py: oops, I inserted a typo by commenting out the wrong line 2007-08-16 00:56:58 -07:00
Brian Warner ec1fa9cd5d setup.py: don't install allmydata.Crypto.PublicKey either 2007-08-16 00:54:52 -07:00
Brian Warner 9146924271 setup.py: disable building RSA for now, since it requires GMP. We'll refrain
from adding it to the build-dependencies until we actually want to use RSA.
2007-08-16 00:52:21 -07:00
Brian Warner 6c24848797 copy RSA from PyCrypto into the allmydata/ tree, we'll use it eventually 2007-08-15 17:36:39 -07:00
Brian Warner b7703df6a5 remove PyCrypto, copy AES/SHA256/Util.number into the allmydata/ tree 2007-08-14 13:57:41 -07:00
Brian Warner 4de5767c98 web: remove /vdrive/private, replace with a start.html file that points at the /uri/PRIVATE_URI, to prevent XSRF attacks 2007-08-22 14:54:34 -07:00
Brian Warner 4a0682874b remove old filetree code 2007-06-25 20:34:19 -07:00
Brian Warner 1eba30cd14 webish.py: put the URI in a narrower auto-scrolling box (with CSS) 2007-06-15 01:32:20 -07:00
Zooko O'Whielacronx 3d1adf6d30 update docs, remove extraneous licence text, sort module names in import statement
closes #46 ?
2007-05-21 13:42:51 -07:00
Brian Warner 3f6b660272 update version-number handling, pull release tags from darcs history 2007-05-03 20:14:07 -07:00
Zooko O'Whielacronx d41e944beb re-re-factored the download and install instructions
Now the instructions about how to download debian packages live on a separate
page of the wiki instead of on the front page or in the README.  The README is
only about building from source.  The front page contains pointers to those two
other pages (the debiandownloadpage and the README).
2007-05-02 12:54:26 -07:00
Zooko O'Whielacronx 40e1c4be71 grand unified version numbers
Now the allmydata python package, the setup.py script, and the debian packages all get their tahoe version number from the same place.
2007-05-01 13:23:15 -07:00
Zooko O'Whielacronx f724719744 v0.2.0b1-0-UNSTABLE 2007-04-30 23:11:23 -07:00
Zooko O'Whielacronx e0a18d12af globally search and replace "mesh" with "grid" and adjust description of the effect of NAT on the topology 2007-04-30 13:06:09 -07:00
Zooko O'Whielacronx b027ee1489 v0.1.4b2-0-UNSTABLE 2007-04-30 10:00:07 -07:00
Zooko O'Whielacronx 7090ed66c5 v0.1.3-0-UNSTABLE 2007-04-30 06:02:43 -07:00
Zooko O'Whielacronx 2fd7b81fba v0.1.2-0-UNSTABLE 2007-04-29 23:00:08 -07:00
Zooko O'Whielacronx 665b188af2 add licence, update metadata and URLs 2007-04-27 13:47:15 -07:00
Zooko O'Whielacronx 4b4f5bbcba change #!/usr/bin/python to #!/usr/bin/env python
Note that using "whatever version of python the name 'python' maps to in the current shell environment" is more error-prone that specifying which python you mean, such as by executing "/usr/bin/python setup.py" instead of executing "./setup.py".  When you build tahoe (by running "make") it will make a copy of bin/allmydata-tahoe in instdir/bin/allmydata-tahoe with the shebang line rewritten to execute the specific version of python that was used when building instead of to execute "/usr/bin/env python".

However, it seems better that the default for lazy people be "whatever 'python' means currently" instead of "whatever 'python' meant to the manufacturer of your operating system".
2007-03-29 14:01:28 -07:00
Zooko O'Whielacronx dd4ad3d542 use pyfec instead of py_ecc for erasure coding and update API to codec 2007-02-01 16:07:00 -07:00
Zooko O'Whielacronx 22e9e2eb0b change build system to use subpackages pristinely and ask them to install themselves into an "instdir" 2007-01-30 14:57:59 -07:00
Brian Warner 26b01a9808 rename bin/allmydata to bin/allmydata-tahoe, so the package can co-exist with the regular (amdlib) package 2007-01-19 20:05:33 -07:00
Brian Warner c94098b93a split filetree_new.py up into smaller pieces, in a new subpackage 2007-01-17 13:54:38 -07:00
Brian Warner 7a6bdadde5 add __init__ and setup.py glue for py_ecc, so we can import it 2007-01-01 23:43:24 -07:00
Brian Warner 3490378551 move all packages into src/, fix allmydata.Crypto build. Now you must perform a 'setup.py build' before using anything, and you must add the build directory (build/lib.linux-i686-2.4) to your PYTHONPATH before doing anything 2006-12-14 03:39:50 -07:00
Brian Warner 8a3af8827a first cut at creating allmydata.Crypto, starting with python-amycrypto-2.0.1.allmydata2 (with working CTR mode) 2006-12-14 03:25:30 -07:00
Brian Warner aec1d1eecc add bin/allmydata to create/stop/start nodes 2006-12-05 12:25:23 -07:00
Brian Warner 97bdebd56e setup.py: oops, add sub-packages, needed since I went back to distutils 2006-12-05 19:06:22 -07:00
Brian Warner aa943d4839 add distutils-based packaging 2006-12-05 01:29:26 -07:00