Commit Graph

191 Commits

Author SHA1 Message Date
Zooko O'Whielacronx
ba8f0c27f0 setup: upgrade bundled zetuptoolz to zetuptoolz-0.6c15dev and make it unpacked and directly loaded by setup.py
Also fix the relevant "make clean" target behavior.
2010-05-23 13:52:28 -07:00
Zooko O'Whielacronx
18922ac618 setup: if the string '--reporter=bwverbose-coverage' appears on sys.argv then you need trialcoverage 2010-05-21 05:22:26 -07:00
Zooko O'Whielacronx
82b9b91775 docs: update README, mv it to README.txt, update setup.py 2010-05-04 02:43:40 -07:00
Zooko O'Whielacronx
890ce9e7bb setup: mark setup.py as having utf-8 encoding in it 2009-09-20 11:03:43 -07:00
Zooko O'Whielacronx
603e08c4a9 doc: licensing cleanups
Use nice utf-8 © instead of "(c)". Remove licensing statements on utility modules that have been assigned to allmydata.com by their original authors. (Nattraverso was not assigned to allmydata.com -- it was LGPL'ed -- but I checked and src/allmydata/util/iputil.py was completely rewritten and doesn't contain any line of code from nattraverso.)  Add notes to misc/debian/copyright about licensing on files that aren't just allmydata.com-licensed.
2009-09-20 10:16:31 -07:00
Brian Warner
4441e1fcd6 setup.py: read _version.py and pass to setup(version=), so more commands work
like "setup.py --version" and "setup.py --fullname"
2009-08-17 18:00:57 -07:00
Zooko O'Whielacronx
2a63fc9159 docs: update relnotes.txt, relnotes-short.txt, and others documentation bits for v1.5.0 release! 2009-08-01 19:57:10 -07:00
Zooko O'Whielacronx
d0998712bb setup: mark stdeb as setup_requires if "sdist_dsc" is in sys.argv 2009-07-23 08:04:07 -07:00
Zooko O'Whielacronx
4a4a47a66d setup: add "test_mac_diskimage" command which attempts to mount and use a .dmg to make sure it has a good Tahoe distribution in it 2009-07-12 16:09:40 -07:00
Zooko O'Whielacronx
b1d24e4a90 setup: fix comment in setup.py 2009-05-07 14:50:03 -07:00
Brian Warner
589a757e25 setup.py: fix pyflakes complaints 2009-02-19 01:36:43 -07:00
Brian Warner
c2a2e93089 move show-tool-versions out of setup.py and into a separate script in misc/ , since setuptools is trying to build and install a bunch of stuff first 2009-02-19 01:35:58 -07:00
Brian Warner
461b12c1d3 setup.py: add show_tool_versions command, for the benefit of a new buildbot step 2009-02-19 00:24:36 -07:00
Brian Warner
50b55474d4 setup.py: wrap to 80 cols, no functional changes 2009-02-18 23:57:51 -07:00
Zooko O'Whielacronx
7eb260a9cf versioning: include an "appname" in the application version string in the versioning protocol, and make that appname be controlled by setup.py
It is currently hardcoded in setup.py to be 'allmydata-tahoe'.  Ticket #556 is to make it configurable by a runtime command-line argument to setup.py: "--appname=foo", but I suddenly wondered if we really wanted that and at the same time realized that we don't need that for tahoe-1.3.0 release, so this patch just hardcodes it in setup.py.
setup.py inspects a file named 'src/allmydata/_appname.py' and assert that it contains the string "__appname__ = 'allmydata-tahoe'", and creates it if it isn't already present.  src/allmydata/__init__.py import _appname and reads __appname__ from it.  The rest of the Python code imports allmydata and inspects "allmydata.__appname__", although actually every use it uses "allmydata.__full_version__" instead, where "allmydata.__full_version__" is created in src/allmydata/__init__.py to be:

__full_version__ = __appname + '-' + str(__version__).

All the code that emits an "application version string" when describing what version of a protocol it supports (introducer server, storage server, upload helper), or when describing itself in general (introducer client), usese allmydata.__full_version__.

This fixes ticket #556 at least well enough for tahoe-1.3.0 release.
2009-02-11 17:18:16 -07:00
Zooko O'Whielacronx
9ce226b4d8 setup: require new bundled setuptools-0.6c12dev 2009-02-05 09:29:23 -07:00
Zooko O'Whielacronx
b952ed6741 setup: remove a couple of horrible work-arounds in setup.py now that we rely on our own toothpick of setuptools which fixes those issues
also specify that we need our latest revision (11dev) of our toothpick of setuptools
also *always* setup_require setuptools_darcs at module import time.  Formerly we added setup_require setuptools_darcs only if the PKG-INFO file were not already created.  There is some weird, irreproducible bug to do with setuptool_darcs, and I guess that the fact that whether it is required or not depends on that autogenerated file might have something to do with it.  Anyway, this is simpler.
2009-02-03 23:24:05 -07:00
Zooko O'Whielacronx
e010d49835 setup: require setuptools_trial >= 0.5, and delegate to it the job of deciding which Twisted reactor to use for the current platform 2009-01-29 22:31:33 -07:00
Zooko O'Whielacronx
4d0dc9c766 setup: require darcsver >= 1.2.0 and rely exclusively on darcsver to set the version string 2009-01-29 12:56:40 -07:00
Zooko O'Whielacronx
681d3bfd05 setup: subclass setuptools.Command instead of distutils Command
There's almost no difference between them, but let's be consistent try to use the setuptools API as it was intended.
2009-01-29 07:00:58 -07:00
Zooko O'Whielacronx
42d500f73d setup: temporarily comment-out the horrible kludge to work-around setuptools #17, while I figure out how to solve it better 2009-01-29 07:00:00 -07:00
Zooko O'Whielacronx
20127ffdf5 setup: always create a support dir and populate it with a site-packages and add same to the PYTHONPATH, just in case someone is going to do "build", "develop", or "test" or something else which triggers a build
I think there must be a much better solution for this -- probably to fix setuptools #54 and ship our own fork of setuptools and rely on it.
2009-01-28 22:56:08 -07:00
Zooko O'Whielacronx
d3b78d86ca setup: if any of "build", "develop", or "test" appear in the sys.argv then that means we'll be doing a develop, so add the workarounds for setuptools #17 in any case
I think there must be a much better solution for this -- probably to fix setuptools #17 and ship our own fork of setuptools and rely on it.
2009-01-28 22:55:34 -07:00
Zooko O'Whielacronx
bbe4e2d479 setup: add metadata indicating compatibility with python 2.6 2009-01-28 18:26:28 -07:00
Zooko O'Whielacronx
083795ddd6 setup: a new improved way to create tahoe executables
Create the 'tahoe-script.py' file under the 'bin' directory. The 'tahoe-script.py' file is exactly the same as the 'tahoe-script.template' script except that the shebang line is rewritten to use our sys.executable for the interpreter. On Windows, create a tahoe.exe will execute it.  On non-Windows, make a symlink to it from 'tahoe'.  The tahoe.exe will be copied from the setuptools egg's cli.exe and this will work from a zip-safe and non-zip-safe setuptools egg.
2009-01-28 18:07:16 -07:00
Zooko O'Whielacronx
70576a871b setup: hack the sys.argv to set poll reactor if "python ./setup.py test" in addition to if "python ./setup.py trial"; remove another hack which has been moved setup.cfg; remove setup_requires Twisted since now we actually setup_require setuptools_trial and it install_requires Twisted. 2009-01-26 22:40:46 -07:00
Zooko O'Whielacronx
d549aad339 setup: require darcsver always, and not just when we see the string "darcsver" in sys.argv, because the new aliases hack means that the string might not appear in sys.argv 2009-01-20 12:42:29 -07:00
Zooko O'Whielacronx
8148366d93 setup: undo (for the second time) the use of the --multi-version feature
When this feature is turned on, then setuptools doesn't create easy-install.pth, setuptools.pth, or site.py in the target site-packages dir.  I don't know why not and we should probably open a ticket on the setuptools tracker and/or hack setuptools to create those files anyway.  But for now (for the Tahoe-1.3.0 release), we're going to leave --multi-version mode off and require users to manually uninstall any packages which are too old and thus conflict with our newer dependencies.
2009-01-19 14:53:52 -07:00
cgalvan
791cfca8d5 run build_tahoe command with trial commmand 2009-01-16 18:00:47 -07:00
cgalvan
5dcc682e46 adding multi-version support 2009-01-16 17:03:26 -07:00
cgalvan
58743b2b76 prevent --site-dirs from being passed to the 'install' command 2009-01-16 13:57:32 -07:00
Zooko O'Whielacronx
7fc784fc55 setup: put back configuration of the PYTHONPATH which is necessary to build the Windows packages 2009-01-14 20:37:51 -07:00
Zooko O'Whielacronx
08aada50ee setup: fix previous patch to set reactor to poll reactor on linux or cygwin 2009-01-14 10:40:22 -07:00
Zooko O'Whielacronx
6db8f38c3b setup: use poll reactor for trial if on linux2 or cygwin 2009-01-14 09:15:46 -07:00
cgalvan
cc9a6e14fc set bin/tahoe executable permissions and leave build_tahoe in sys.argv 2009-01-09 15:06:40 -07:00
Zooko O'Whielacronx
a56df2587a setup: remove custom Trial class inside our setup.py and use the setuptools_trial plugin 2008-12-05 17:22:07 -07:00
cgalvan
bff038ab2f fix bin/tahoe executable for Windows 2009-01-09 12:42:22 -07:00
Zooko O'Whielacronx
b35d70b1f2 setup: attempt to remove the custom setuptools-ish logic in setup.py -- the result works on my Windows box but doesn't yield a working ./bin/tahoe on Windows, and hasn't been tested yet on other platforms 2008-12-05 17:30:54 -07:00
Zooko O'Whielacronx
fcd4d4d2e9 setup: integrate the bundled setuptools_trial plugin with Chris Galvan's patch to use that plugin 2008-12-01 11:48:04 -07:00
cgalvan
5cd6ed17fb use_setuptools_trial.patch 2008-11-21 14:57:59 -07:00
Zooko O'Whielacronx
5ebd731982 setup: move the requirement on simplejson from setup.py to _auto_deps.py, and loosen it from >= 2.0.5 to > 1.8.1
We'll see if this fixes the tests on all of our current buildslaves, and if it does then I'll be happy to leave it at "> 1.8.1" for now, even though I don't know exactly what versions of simplejson changed exactly what behavior that interacts with exactly what environment.  See http://allmydata.org/trac/tahoe/ticket/534 for uncertainties.
2008-11-25 14:37:51 -07:00
francois
8c5a0f1efc setup.py: Require simplejson version >= 2.0.5 2008-11-25 11:17:27 -07:00
Zooko O'Whielacronx
1d377cc2d9 setup: turn off --multi-version until I can figure out why it breaks test_runner 2008-11-20 22:36:45 -07:00
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