Commit Graph

275 Commits

Author SHA1 Message Date
Brian Warner
e431faf58c test_cli_*: move files into test/cli/* 2016-08-03 19:10:53 -04:00
Brian Warner
4f56c4b053 split test_mutable.py into smaller files 2016-08-03 14:54:32 -04:00
Zooko
f300801226 remove configuration which causes "python setup.py test" to run all the files in src/allmydata/test 2016-07-12 13:57:30 +00:00
Brian Warner
84a1064b87 setup.py: depend on 'mock' when using [test] extra
I think this is useful enough that we should have it available when
running tests.

refs ticket:2777
2016-04-26 11:21:59 -07:00
Brian Warner
23f871a409 add [test] "extra" to install testing-only dependencies
closes ticket:2776
2016-04-12 12:32:46 -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
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
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
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
0f3ce7a17f setup.py: remove 'make_executable' command 2016-03-15 18:19:54 -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
Daira Hopwood
19a4bc90e5 Tolerate arguments for 'install' passed to 'update_version' and 'make_executable'.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:31:32 +00:00
Brian Warner
0651991474 copy bin/tahoe from $PATH for the sake of test_runner
This is needed to allow virtualenv-based builds to exercise
test_runner.BinTahoe (and a few others), which expect to run an
executable program in "bin/tahoe". This also helps users who aren't yet
accustomed to the new virtualenv world where they can just run "tahoe"
instead of "bin/tahoe".

This changes the "setup.py make_executable" command to copy the first
"tahoe" executable found on $PATH into bin/tahoe . Previously bin/tahoe
was created by modifying the shbang line of a template stored in
bin/tahoe-script.template (which has been deleted).

It also changes setup.cfg to run "make_executable" before tests,
and *after* an install. Note that you must use "setup.py install" before
"setup.py test", since make_executable requires the installed "tahoe" on
$PATH.

In the future, we hope to get rid of bin/tahoe altogether, and have
these tests run the "tahoe" from $PATH directly.
2016-03-15 17:31:32 +00:00
Daira Hopwood
d8549a2c7f setuptools delenda est. fixes ticket:1582 :-D
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2016-03-15 17:19:10 +00:00
Leif Ryge
000c148ad8 drop Python 2.6 (.travis.yml, doc, setup.py)
Twisted 15 dropped support for it, which causes Travis CI tests to fail on 2.6.
We still theoretically support older versions of Twisted, so perhaps we should
configure Travis to test with those? I think we should drop Python 2.6 in any
case since distros are all on 2.7 now.

I'm leaving Travis running (and ignoring) the failing PyPy tests because I
don't know why that is there.
2015-12-02 20:18:33 +00:00
Daira Hopwood
7309aed524 Change some instances of "filesystem" that were missed to "file store".
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-07-31 18:21:47 +01:00
Daira Hopwood
07aa5e76b5 Retire the setup_requires hack in cases where it isn't needed (and can cause build problems). refs #2286
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-05-13 12:49:18 +01:00
Daira Hopwood
409cf22ee9 Bump zetuptoolz version (file changes).
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-04-28 18:52:59 +01:00
Daira Hopwood
19fffc059f Explicitly using "git.cmd" on Windows doesn't always work; use shell=True on Windows instead.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2015-02-17 19:10:54 +00:00
Daira Hopwood
e1a3a2001f setup.py: look for a tag named after APPNAME, not necessarily "allmydata-tahoe". refs #1146
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 08:41:45 +00:00
Daira Hopwood
2eeb8ee6f5 setup.py: set distribution.metadata.version from _version.py if we couldn't find it from git.
This simplifies reporting when we don't have the version. Also print the normalized version. refs #2340

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 08:38:37 +00:00
Daira Hopwood
b43447003e setup.py: use constant for _version.py filename.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 07:56:21 +00:00
Daira Hopwood
8e0ec757e7 setup.py: improve error reporting when git commands fail. refs #2340
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-11-21 05:29:09 +00:00
Daira Hopwood
3ff7f9bea3 Specify the setuptools egg filename explicitly rather than globbing for it.
(Note that if the version changes in future, this will fail loudly so we'll know we have to change it.)

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-10-07 19:28:53 +01:00
Daira Hopwood
d29e956a0f Delete obsolete Trove classifiers.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-10-02 16:26:47 +01:00
Daira Hopwood
6a38a3c54e Rename README.txt to README.rst, and add Travis-CI and Coveralls badges to it.
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-09 18:51:44 +01:00
Brian Warner
6ffcb50173 Remove 'trialcoverage' plugin and support code
Closes ticket:2281 (trac).

This removes src/allmydata/test/trial_coverage.py, which was a
in-process way to run trial tests under the "coverage" code-coverage
tool. These days, the preferred way to do this is with "coverage run",
although the actual invocation is a bit messy because of the way
bin/trial uses subprocess.call() to invoke the real entrypoint script
with the right PYTHONPATH (see #1698 for details). Hopefully this will
be improved to use a simpler "coverage run .." command in the future.

This patch also removes twisted/plugins/allmydata_trial.py, which
enabled the "--reporter=bwverbose-coverage" option. Finally it modifies
setup.py to stop looking for that option and adding "trialcoverage" to
the dependencies list, which gets us closer to removing "setup_requires"
entirely.
2014-09-08 17:28:26 -07:00
Daira Hopwood
11809c3367 Add a --coverage option to 'python setup.py test' and 'python setup.py trial'. refs #1698
Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-09-08 22:45:24 +01:00
Brian Warner
a1cc7df23d remove obsolete debian-package building tools
setup.py: stop sometimes-depending upon 'stdeb'
setup.cfg: don't try to alias 'sdist_dsc'
misc/build_helpers/build-deb.py: delete this, it was really old anyways

Closes ticket:2282 (trac).
2014-09-04 22:05:08 -07:00
Daira Hopwood
7db853a777 setup.py: include data files in package_data= with paths relative to src/allmydata/web.
Remove packages= entries and unneeded __init__.py files for those subdirectories.

Signed-off-by: Daira Hopwood <daira@jacaranda.org>
2014-03-29 00:41:33 +00:00
Daira Hopwood
37c8b733a5 setup.py: add allmydata/web/static/img/*.png to package_data. refs #1969
Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
2013-05-14 17:55:17 +01:00
Daira Hopwood
8a1b2c7aa6 Show git branch in version output. fixes #1953
Also make sure strings in _version.py are correctly escaped, and repair a test.

Signed-off-by: Daira Hopwood <david-sarah@jacaranda.org>
2013-05-01 22:38:08 +01:00
David-Sarah Hopwood
ae754e9b15 Include allmydata/web/static/css/*.css files in install.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-28 05:21:55 +00:00
Brian Warner
19b2ef9764 Remove darcs from setup.py, remove darcsver egg. Closes #1908.
Also remove lingering traces of darcs from MANIFEST.in,
.darcs-boringfile, setup.cfg, and unit tests.
2013-03-19 16:07:22 -07:00
David-Sarah Hopwood
7130a247cf setup.py: add helpful comment on line that is a SyntaxError in Python < 2.6.
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-17 18:27:58 +00:00
David-Sarah Hopwood
7008ffa55e Require at least Python 2.6. fixes #1658
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-15 05:13:30 +00:00
David-Sarah Hopwood
3bdd744b8e Make doubly sure that we fail quickly on future Python 3.x versions. refs #1775
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-15 04:41:53 +00:00
David-Sarah Hopwood
edfb40e57c Ensure that bin/tahoe and setup.py fail quickly on Python 3.3+. fixes #1775
Signed-off-by: David-Sarah Hopwood <david-sarah@jacaranda.org>
2013-03-15 04:28:35 +00:00
david-sarah
b82cddef7b setup.py and bin/tahoe-script.template: the error when we try to use Python 3 should give the correct minimum Python version (now 2.5). refs #1658 2012-06-11 03:52:16 +00:00
david-sarah
9a76d56fa3 Restore --rterrors option to 'setup.py test' and 'setup.py trial' to keep buildbots happy. refs #1699 2012-05-31 22:23:07 +00:00
david-sarah
972bcb1c42 Change 'setup.py test' and 'setup.py trial' to pass --rterrors to trial by default. Suppress using --no-rterrors. Also pass --until-failure/-u to trial. fixes #1699 2012-05-31 22:00:00 +00:00
david-sarah
e215af8646 Update copyright notices. refs #1686 2012-03-13 20:50:57 +00:00
david-sarah
70b08ddb42 Add a Python 3 blocker to setup.py, to display a better error message when it is run under Python 3. 2012-01-27 01:55:25 +00:00
Brian Warner
9175c2451a fix bundled data under git, remove setuptools_darcs
This uses explicitly enumerated packages= and package_data= arguments to
setup(), rather than relying upon the convenient (but darcs-specific)
functions which would determine these values by asking the revision-control
system.

Note that darcsver is still used, when building from a darcs tree.
2012-01-08 14:12:50 -08:00
Brian Warner
dd2e7a1127 setup.py: stop putting pyutil.version_class/etc in _version.py
allmydata.__version__ can just be a string, it doesn't need to be an instance
of some fancy NormalizedVersion class. Everything inside Tahoe uses
str(__version__) anyways.

Also add .dev0 when a git tree is dirty.

Closes #1466
2011-12-04 21:50:49 -08:00
Brian Warner
7d5ca407a1 setup.py: get version from git or darcs
This replaces the setup.cfg aliases that run "darcsver" before each major
command with the new "update_version". update_version is defined in setup.py,
and tries to get a version string from either darcs or git (or leaves the
existing _version.py alone if neither VC metadata is available).

Also clean up a tiny typo in verlib.py that messed up syntax hilighting.
2011-12-04 20:40:01 -08:00
Brian Warner
5fc9978826 setup.py: umask=022 for 'sdist', to avoid depending on environment
The new tarball-building buildslave had a bogus umask set, causing the 1.9.0
tarballs to be non-other-user-readable (go-rwx), which is a hassle for
packaging. (The umask was correct on the old buildslave, but it was moved to
a new host shortly before the release). This should make sure tarballs are
correct despite the host's setting.

Note to others: processes run under twistd get umask=077 unless you arrange
otherwise.
2011-11-09 10:36:32 -08:00
Brian Warner
a0432a4ec5 tahoe-lafs.org is now HTTPS-always. Update most URLs. 2011-10-29 18:39:46 +00:00
david-sarah
16e6bb2b73 Makefile and setup.py: remove setup.py commands that we no longer need, and their uses in the Makefile. Delete a stale and incorrect comment about updating _version.py. Also fix some coding style checks in the Makefile to operate on all source files. 2011-07-31 20:19:52 -07:00
david-sarah
2ebaa916df Update the dependency on zope.interface to fix an incompatiblity between Nevow and zope.interface 3.6.4. fixes #1435 2011-07-21 16:49:41 -07:00
david-sarah
8b40826774 Update the dependency on Twisted to >= 10.1. This allows us to simplify some documentation: it's no longer necessary to install pywin32 on Windows, or apply a patch to Twisted in order to use the FTP frontend. fixes #1274, #1438. refs #1429 2011-07-21 16:36:58 -07:00
david-sarah
89581eb475 setup.py: don't make bin/tahoe.pyscript executable. fixes #1347 2011-01-30 17:58:09 -07:00
Zooko O'Whielacronx
299e8ad579 replace remaining .html docs with .rst docs
Remove install.html (long since deprecated).
Also replace some obsolete references to install.html with references to quickstart.rst.
Fix some broken internal references within docs/historical/historical_known_issues.txt.
Thanks to Ravi Pinjala and Patrick McDonald.
refs #1227
2011-05-10 12:16:50 -07:00
Zooko O'Whielacronx
2ed6019f78 setup: comment out the setup_requires on setuptools_darcs in order to work-around distribute bug 55
Note that we still inject the setuptools_darcs egg at the beginning of setup.py, which makes the setuptools_darcs plugin work when building dists from tahoe-lafs source so those dists have all of the needed files.
http://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being
2011-01-30 16:04:20 -08:00
Zooko O'Whielacronx
c1ec785b48 docs: edit running.html, change "http://allmydata.org" to "http://tahoe-lafs.org" in NEWS and README.txt, add Josh Wilcox to CREDITS for his contribution of doc patches 2011-01-28 07:07:00 -08:00
david-sarah
3c161c9a96 Makefile, setup.py: add more source files to pyflakes target and fix their warnings. 2011-01-21 18:07:52 -08:00
david-sarah
6d6f0edc36 Remove obsolete and bit-rotted 'setup.py check-auto-deps' command. Building and running bin/tahoe is a more thorough check. 2011-01-21 18:00:51 -08:00
david-sarah
8b94125b00 Make 'setup.py trial' and 'setup.py test' pass --version-and-path to bin/tahoe by default. 2011-01-21 00:03:28 -08:00
Zooko O'Whielacronx
d34e838c0c setup: increase version number requirement on darcsver from >= 1.7.1 to >= 1.7.2 2011-01-20 21:30:38 -08:00
david-sarah
999339ed4e setup.py: add descriptions for some of the setup commands. ref #1306 2011-01-19 15:33:05 -08:00
david-sarah
0693181613 setup.py: create bin/tahoe.pyscript on Unix as well as Windows for consistency, and to reduce conditional code. ref #1306 2011-01-19 15:31:45 -08:00
david-sarah
7e413d4fa4 Change 'setup.py trial' and 'setup.py test' to use 'bin/tahoe debug trial'. refs #1296 2011-01-18 18:45:32 -08:00
david-sarah
420aadd95e Make 'mock' a run-time rather than setup-time dependency. This is necessary in order for 'tahoe debug trial' to work. refs #1296 2011-01-18 12:51:14 -08:00
david-sarah
4cba75e000 setup: load the setuptools_darcs-1.2.12.egg that is bundled in the root of the source tree at setup.py time, and setup_require it. This is in order to make sure that its 'find all package data' plugin works to inform setuptools of all files which are under revision control, so that setuptools can include them in a distribution. By the way, this is ugly and horrible. refs #1054 2011-01-17 22:54:45 -08:00
david-sarah
33786a6d55 Attempt to fix test-with-fake-dist build step. 2011-01-14 18:26:51 -08:00
david-sarah
eb9b822079 setup.py: add Python 2.7 trove classifier. 2011-01-08 13:12:12 -08:00
Zooko O'Whielacronx
3acbf8818c setup: require the latest version of darcsver 2010-11-22 18:12:18 -08:00
Zooko O'Whielacronx
50f8c37a2b setup: when testing, set the __requires__ as precisely as possible even if the version of this particular build of Tahoe-LAFS is not yet known (addresses test failure ref #1190, #1233) 2010-11-18 23:40:43 -08:00
Zooko O'Whielacronx
e03206cbdf setup: specify that the version file must go into src/allmydata/_version.py . fixes #1259 2010-11-13 23:40:40 -08:00
david-sarah
306ec02c1d setup.py: fix a bug in the check for whether we are running 'trial' or 'test', that affected zooko's test for #1233. refs #1233 2010-11-05 14:54:15 -08:00
david-sarah
fd02946074 setup.py, misc/build_helpers/run_trial.py: use undocumented __requires__ variable to cause setuptools/zetuptoolz to put the correct versions of dependencies on sys.path. Also ensure that run_trial adds the bundled zetuptoolz egg at the start of sys.path if present. Make the source directory comparison work correctly for the test-with-fake-pkg build step. refs #1190 2010-10-29 15:28:25 -07:00
Zooko O'Whielacronx
0c6bb0178b setup: use execfile to access _auto_deps.py in its proper location of src/allmydata/ instead of copying it into place when setup.py is executed 2010-09-05 22:57:14 -07:00
Zooko O'Whielacronx
cb83f2e41c minor: remove unused interface declaration, change allmydata.org to tahoe-lafs.org in email address, fix wording in relnotes.txt 2010-09-30 08:37:08 -07:00
Zooko O'Whielacronx
aa19424c9f setup: force the bundled version of darcsver to take precedence over any other version of darcsver 2010-09-21 00:32:58 -07:00
david-sarah
37b07a545f Changes to Tahoe needed to work with new zetuptoolz (that does not use .exe wrappers on Windows), and to support Unicode arguments and stdout/stderr -- v5 2010-07-25 01:32:16 -07:00
Zooko O'Whielacronx
28ed28a0c2 setup: move the mock library from install_requires to tests_require (re: #1016) 2010-06-08 22:05:42 -07:00
Zooko O'Whielacronx
1fc6be28f4 setup: organize misc/ scripts and tools and remove obsolete ones
This is for ticket #1068.
2010-06-06 22:16:18 -07:00
Zooko O'Whielacronx
05c04e67c9 setup: undo the previous patch to quote the executable in scripts
The problem isn't in the script, it is in the cli.exe script that is built by setuptools. This might be related to
http://bugs.python.org/issue6792
and
http://bugs.python.org/setuptools/issue2
Or it might be a separate issue involving the launcher.c code e.g. http://tahoe-lafs.org/trac/zetuptoolz/browser/launcher.c?rev=576#L210 and its handling of the interpreter name.
2010-06-03 19:52:04 -07:00
Zooko O'Whielacronx
ca910c2c3c setup: put quotes around the path to executable in case it has spaces in it, when building a tahoe.exe for win32 2010-06-03 19:08:36 -07:00
david-sarah
02d0c4eb92 Document reason for the trialcoverage version requirement being 0.3.3. 2010-05-24 17:44:44 -07:00
david-sarah
f3c8c1c245 Downgrade version requirement for trialcoverage to 0.3.3 (from 0.3.10), to avoid needing to compile coveragepy on Windows. 2010-05-24 16:37:07 -07:00
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