david-sarah [Mon, 21 Feb 2011 01:58:17 +0000 (17:58 -0800)]
Add unit tests for cross_check_pkg_resources_versus_import, and a regression test for ref #1355. This requires a little refactoring to make it testable.
david-sarah [Mon, 21 Feb 2011 02:01:25 +0000 (18:01 -0800)]
allmydata/__init__.py: .name was used in place of the correct .__name__ when printing an exception. Also, robustify string formatting by using %r instead of %s in some places. fixes #1355.
This change still needs to be pushed further down: lots of code is now
getting the IServer and then distributing (peerid, rref) internally.
Instead, it ought to distribute the IServer internally and delay
extracting a serverid or rref until the last moment.
david-sarah [Fri, 28 Jan 2011 19:24:52 +0000 (11:24 -0800)]
Change tests for check_requirement to ensure that it accepts None in the comment field of a (version, location, comment) triple, and add a test that it raises ImportError when a module couldn't be imported. Also fix typo in a comment. refs #1339
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
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
david-sarah [Fri, 28 Jan 2011 05:41:50 +0000 (21:41 -0800)]
src/allmydata/__init__.py: fix #1339, give an indication in the --version[-and-path] output of when the imported setuptools is distribute, and use a separate element in _vers_and_locs_list tuples for information other than the package name and location. This also changes slightly how the sqlite version is reported.
david-sarah [Sat, 22 Jan 2011 04:02:20 +0000 (20:02 -0800)]
Don't put debugging information in 'My versions' section of the Welcome page. Also remove the extra blank line between version and command output when --version[-and-path] is used. refs #1306
david-sarah [Fri, 21 Jan 2011 08:04:29 +0000 (00:04 -0800)]
Make bb-freeze (and probably other static packaging tools) work. This updates various places where we assumed that the tahoe process was executed via the Python interpreter. It also allows tests to recursively invoke the same tahoe.exe, rather than bin/tahoe. refs #585
setup: upgrade bundled version of darcsver from 1.7.1 to 1.7.2 to support the new bbfreeze feature (by, strangely, having darcsver write out unix newlines regardless of what the underlying platform prefers)
david-sarah [Fri, 21 Jan 2011 06:04:49 +0000 (22:04 -0800)]
Add src/allmydata/util/verlib.py, which is a copy of verlib from https://bitbucket.org/tarek/distutilsversion/src/17df9a7d96ef . It is used to normalize and compare versions of dependencies. refs #1258
david-sarah [Fri, 21 Jan 2011 05:36:10 +0000 (21:36 -0800)]
Refactor _auto_deps.py and __init__.py, adding more robust checking of dependency versions, and not trusting pkg_resources to get the versions right. refs #1258, #1287
david-sarah [Thu, 20 Jan 2011 08:48:27 +0000 (00:48 -0800)]
src/allmydata/util/iputil.py: loosen regexps and ensure that 'LANG=en_US.UTF-8' is set in the environment, to minimize problems with localized output of IP-address-finding tools. refs #1274
david-sarah [Wed, 19 Jan 2011 05:11:37 +0000 (21:11 -0800)]
Add support to bin/tahoe for invoking a runner command prefixed with @, with the Tahoe libraries on the PYTHONPATH. This is documented in 'tahoe debug --help'.
david-sarah [Wed, 19 Jan 2011 04:53:24 +0000 (20:53 -0800)]
bin/tahoe-script.template, src/windows/fixups.py: simplify the method of stripping initial arguments in sys.argv on Windows. This helps with bb-freeze and running tahoe via 'coverage'. Also includes some wording changes and minor refactoring of bin/tahoe-script.template. refs #585, #1303
david-sarah [Tue, 18 Jan 2011 06:54:45 +0000 (22:54 -0800)]
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
setup: bundle a copy of setuptools_darcs-1.2.12
This is to work-around https://bitbucket.org/tarek/distribute/issue/55/revision-control-plugin-automatically-installed-as-a-build-dependency-is-not-present-when-another-build-dependency-is-being . refs #1054.
david-sarah [Fri, 14 Jan 2011 03:44:14 +0000 (19:44 -0800)]
CLI: make 'tahoe create-alias' and 'tahoe add-alias' accept a trailing colon on the new alias name (v2, minor change not to rely on implicit Unicode conversion). Includes doc changes and news; tests in a separate patch. fixes #1305
Brian Warner [Mon, 17 Jan 2011 07:47:51 +0000 (23:47 -0800)]
Tolerate Twisted-10.2's endpoints, patch by David-Sarah. Closes #1286.
The service generated by strports.service() changed in 10.2, and the ugly
private-attribute-reading hack we used to glean a kernel-allocated port
number (e.g. when using "tcp:0", especially during unit tests) broke, causing
Tahoe to be completely unusable with Twisted-10.2 . The new ugly
private-attribute-reading hack starts by figuring out what sort of service
was generated, then reads different attributes accordingly.
This also hushes a warning when using schemeless strports strings like "0" or
"3456", by quietly prepending a "tcp:" scheme, since 10.2 complains about
those. It also adds getURL() and getPortnum() accessors to the "webish"
service, rather than having unit tests dig through _url and _portnum and such
to find out what they are.
david-sarah [Mon, 3 Jan 2011 01:51:44 +0000 (17:51 -0800)]
misc/build_helpers/show-tool-versions.py: remove attempts to show stdout.encoding and stderr.encoding that always printed None due to redirection. Also remove code to show os.path.supports_unicode_filenames which is not useful. refs #1251
docs: update performance.rst to describe the difference between already-uploaded and not-already-uploaded, to parameterize segment size, and to use "~A" to mean "approximately A"
david-sarah [Sat, 27 Nov 2010 23:26:50 +0000 (15:26 -0800)]
bin/tahoe-script.template: On non-Windows, invoke support/bin/tahoe directly as a script (rather than via python), so that 'top' for example will show it as 'tahoe'. On Windows, simplify some code that set argv[0], which is never used. fixes #174