1 patch for repository davidsarah@dev.allmydata.org:/home/darcs/tahoe/trunk: Wed Jan 19 05:11:37 GMT Standard Time 2011 david-sarah@jacaranda.org * 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'. New patches: [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@jacaranda.org**20110119051137 Ignore-this: 65fd13a23670aea3825a706f45a7019f ] { hunk ./bin/tahoe-script.template 98 ''' % (script, perhaps_installed_tahoe) sys.exit(1) -command = prefix + [script] + args +# Support indirection via another "runner" script (e.g. coverage). +# For example: bin/tahoe @RUNNER RUNNER_ARGS @tahoe TAHOE_ARGS + +if len(args) >= 1 and args[0].startswith('@'): + runner = args[0][1:] + if runner.endswith('.py') or runner.endswith('.pyscript'): + prefix = [sys.executable] + else: + prefix = [] + + def _subst(a): + if a == '@tahoe': return script + return a + command = prefix + [runner] + map(_subst, args[1:]) +else: + command = prefix + [script] + args try: res = subprocess.call(command, env=os.environ) hunk ./src/allmydata/scripts/debug.py 847 Please run e.g. 'tahoe debug dump-share --help' for more details on each subcommand. -""" + +Another debugging feature is that bin%stahoe allows executing an arbitrary +"runner" command (typically an installed Python script, such as 'coverage'), +with the Tahoe libraries on the PYTHONPATH. The runner command name is +prefixed with '@', and any occurrences of '@tahoe' in its arguments are +replaced by the full path to the tahoe script. + +For example, if 'coverage' is installed and on the PATH, you can use: + + bin%stahoe @coverage run --branch @tahoe debug trial + +to get branch coverage for the Tahoe test suite. Or, to run python with +the -3 option that warns about Python 3 incompatibilities: + + bin%stahoe @python -3 @tahoe command [options] +""" % (os.sep, os.sep, os.sep) return t subDispatch = { } Context: [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@jacaranda.org**20110119045324 Ignore-this: 756e83c5eae7dabac31290b98a0e5a99 ] [Change misc/build_helpers/test-with-fake-pkg to use 'setup.py trial'. refs #1296 david-sarah@jacaranda.org**20110119042401 Ignore-this: e1518b6f43becf47d5a956bb710a9dcb ] [Makefile: update 'make clean' to delete the setuptools_trial egg(s). david-sarah@jacaranda.org**20110119025053 Ignore-this: ec373228f3a169c7070633e3b89ec1d ] [Change 'setup.py trial' and 'setup.py test' to use 'bin/tahoe debug trial'. refs #1296 david-sarah@jacaranda.org**20110119024532 Ignore-this: 43df1a50435c794cfa60ecca71a46b10 ] [src/allmydata/test/test_cli.py: add test for 'tahoe debug trial' options help. refs #1296 david-sarah@jacaranda.org**20110119024224 Ignore-this: e9f7a67724b60c11a34efbce9a83a5cb ] [Makefile: update 'make clean' to avoid deleting the setuptools_darcs egg. david-sarah@jacaranda.org**20110119021958 Ignore-this: 908673ddd30ab88db5af8c8d80a74eb1 ] [Add src/allmydata/test/trialtest.py needed by tests for 'tahoe debug trial'. refs #1296 david-sarah@jacaranda.org**20110119020239 Ignore-this: 58d468dbd869c2e6c85552710ed47ffe ] [Tests for 'tahoe debug trial' (rebased and fixed to work with Twisted 10.2). refs #1296 david-sarah@jacaranda.org**20110119013859 Ignore-this: bb2ea70e5c3c841713ae38744b80980f ] [Documentation for 'tahoe debug trial' (rebased for trunk). refs #1296 david-sarah@jacaranda.org**20110118205729 Ignore-this: 3a4a4c2d23864851cb24c32a5b7962b4 ] [Make 'mock' a run-time rather than setup-time dependency. This is necessary in order for 'tahoe debug trial' to work. refs #1296 david-sarah@jacaranda.org**20110118205114 Ignore-this: 256c4fcd259eda02dd86ed163afc6497 ] [src/allmydata/scripts/debug.py: add 'tahoe debug trial' command (rebased for trunk). refs #1296 david-sarah@jacaranda.org**20110118204659 Ignore-this: 19e5f96d15c14625d5969ca4ae10a3cc ] [Remove setuptools_trial egg. david-sarah@jacaranda.org**20110110063306 Ignore-this: 329f5062db0c7914464c547a3957c596 ] [src/allmydata/webish.py: clean-ups and correction to a comment. Also change an open and write to use fileutil.write. See ref #1286 comment 13. david-sarah@jacaranda.org**20110117233152 Ignore-this: c4aa2f4286ad8a9fba9827d428f7fbe5 ] [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 david-sarah@jacaranda.org**20110118065445 Ignore-this: b4b9d3798a9beb9c44943daf2722a51 ] [setup: bundle a copy of setuptools_darcs-1.2.12 zooko@zooko.com**20110118062521 Ignore-this: 47e240417e0ff57a66d2f02f416a78fe 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. ] [NEWS: default reserved_space for new storage nodes is 1 GiB. refs #1208 david-sarah@jacaranda.org**20110117235930 Ignore-this: 81c898890f51400b7229b4b6de69eb30 ] ['tahoe debug catalog-shares': sort SIs and shnums Brian Warner **20110117095932 Ignore-this: f2c60da422178dfba6d03ff4957cf80c Without this, SIs or shnums could be emitted in random order, depending upon what the filesystem happens to return. ] [CLI: tests for ref #1305 (v2, remove spurious extra arg to create-alias in test) david-sarah@jacaranda.org**20110114040327 Ignore-this: 770b7117e66b04ced293b7b740b4a27f ] [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 david-sarah@jacaranda.org**20110114034414 Ignore-this: 97e8e88d8b0f7c628b77db3adb67fa1b ] [Improve 'tahoe ln' help text. Patch by David-Sarah. Closes #1230. Brian Warner **20110117081421 Ignore-this: ae0ab1525fd39c95500535d6d015e706 ] [Tolerate Twisted-10.2's endpoints, patch by David-Sarah. Closes #1286. Brian Warner **20110117074751 Ignore-this: 8875749e4cab0e444a8452e290647bb6 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. ] [debian/control: add python-twisted-conch to dependencies. Closes #1095. Brian Warner **20110117071206 Ignore-this: 74714eeb8bd324d6124824f119468ab5 ] [Test changes to take account of ref #1311. david-sarah@jacaranda.org**20110117060540 Ignore-this: d787405b00a05d98abb34e5133a88b36 ] [create_node.py: add comments to default tahoe.cfg to clarify the meaning of each section. fixes #1311 david-sarah@jacaranda.org**20110117052419 Ignore-this: a2b0bba6b347bb0b0247782ee9ea9419 ] [Undo the temporary hack to check the foolscap version. refs #1246 david-sarah@jacaranda.org**20110117052042 Ignore-this: c58a8a5b91355a15d02b60c20a44bbd9 ] [misc/build_helpers/run_trial.py: fix pyflakes warning. david-sarah@jacaranda.org**20110115080456 Ignore-this: 95760a442fc397526a5d921510ec3843 ] [Set "reserved_space=1G" in newly-created storage nodes. Closes #1208. Brian Warner **20110116205822 Ignore-this: 2aac3dbb46e181ce7ae5e0af07bbb3bb ] [Temporary hack to investigate whether we are getting the right version of foolscap on trunk. refs #1258 david-sarah@jacaranda.org**20110116044959 Ignore-this: 4760970f9235dde07472ca980c24f75b ] [Makefile: allow tarball upload when either BB_BRANCH=='trunk' or BB_BRANCH==''. david-sarah@jacaranda.org**20110115212211 Ignore-this: 358822b25e69bfe9651a561ec387ca7a ] [misc/build_helpers/test-with-fake-dists.py: clean up directories and files only if they exist. david-sarah@jacaranda.org**20110115053011 Ignore-this: 7aa8fec370e12c62d9b56afcd55d17f ] [misc/build_helpers/test-with-fake-dists.py: wrong arguments in comment. david-sarah@jacaranda.org**20110115045325 Ignore-this: 89322306ed4fb478af4988675fd4c968 ] [Attempt to fix test-with-fake-dist build step. david-sarah@jacaranda.org**20110115022651 Ignore-this: 9d7195dca59b79f93a5f527b1ae9e79e ] [bin/tahoe-script.template: improve the error message if we end up running under Python 3. refs #1302 david-sarah@jacaranda.org**20110112211628 Ignore-this: ee78f8e4bbd197e620cb0cc6b995ac46 ] [Makefile: Fix uploading of tarballs on trunk builds. david-sarah@jacaranda.org**20110109065851 Ignore-this: 864b06e39103f46dbb6ccb74e1e333d3 ] [docs/frontends/CLI.rst: fix the rst syntax to be as actually intended :-) david-sarah@jacaranda.org**20110109014057 Ignore-this: c11331670ba89d8601ba3782ffc4f32c ] [docs/frontends/CLI.rst: really fix rst syntax error this time. david-sarah@jacaranda.org**20110109013914 Ignore-this: 59550154c9ab41488ddfdee8938d7bda ] [docs/frontends/CLI.rst: fix rst syntax error. david-sarah@jacaranda.org**20110109010943 Ignore-this: 427444f5572115059c75fa1bd8371d51 ] [docs/frontends/CLI.rst: discuss commandline/output quoting issues and wildcards. refs #1135 david-sarah@jacaranda.org**20110109010119 Ignore-this: 533938d89be878b404a8540aebdf68ad ] [setup.py: add Python 2.7 trove classifier. david-sarah@jacaranda.org**20110108211212 Ignore-this: b479c0a1adf9b7a2d1fdc54abc6582e6 ] [docs/FTP-and-SFTP.rst: document issue in ref #1297. Remove known issue #1045 which is fixed. Also some cosmetic changes. david-sarah@jacaranda.org**20110108061038 Ignore-this: 8d9aa2e33f1054545f7bed47bf0e647d ] [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 david-sarah@jacaranda.org**20110103015144 Ignore-this: 45e11431f7e2e0cebcb58e1841485cf8 ] [NEWS: 'top' for node processes, WUI formatting, removal of GUI apps, documentation updates, foolscap dependency. refs #174, #1219, #1225 david-sarah@jacaranda.org**20110106005727 Ignore-this: f61ac58b4d10e635feb6f7391b1b48fe ] [Makefile: update 'clean' target for files in bin/ david-sarah@jacaranda.org**20110103052738 Ignore-this: 2bdbc4a50e13e508b66d0f65718c79b2 ] [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" zooko@zooko.com**20110104065455 Ignore-this: 8df0d79a062ee19854c0211bd202f606 ] [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 david-sarah@jacaranda.org**20101127232650 Ignore-this: 42a86f3eecfdc1ea7b76a7cc68626898 ] [test_runner: avoid unnecessary use of non-ASCII. david-sarah@jacaranda.org**20110101100101 Ignore-this: e2ff40dce6bb3b021306f2913d4e75df ] [docs/quickstart.html: fix redundant, badly nested tag. refs #1284 david-sarah@jacaranda.org**20110102175159 Ignore-this: 2ae9cc0b47d2e87b9eb64a0f517c4eef ] [docs/quickstart.html: information about 'troublesome dependencies' and 'verified systems' de-emphasized by smaller italic font. Re-wrap so that the HTML source is readable (just about) as text. Minor wording tweaks. Improve organization by adding 'Windows Caveats' subsection. fixes #1284 david-sarah@jacaranda.org**20110102174212 Ignore-this: e9dc57983974478200856651c5318fee ] [NEWS: update entry for removal of Mac and Windows apps. refs #1282 david-sarah@jacaranda.org**20101226042245 Ignore-this: c8099bc6e8235718d042c9a13c1e2425 ] [Move dependency imports from windows/depends.py (which has gone away) into src/allmydata/windows/tahoesvc.py. Also fix a pyflakes warning, and change the service display name from 'Allmydata Tahoe Node' to 'Tahoe-LAFS node'. refs #1282 david-sarah@jacaranda.org**20101226042100 Ignore-this: ee45f324934e1251380206dbee6346d0 ] [Remove unmaintained Windows GUI app, except for windows/tahoesvc.py which is moved to src/allmydata/windows. refs #1282 david-sarah@jacaranda.org**20101226040237 Ignore-this: cae37b6622a7dd5940acc7d3e6a98b90 ] [Remove the Makefile targets relating to the Mac GUI app. refs #1282 david-sarah@jacaranda.org**20101226025859 Ignore-this: 75303be783974b41138744ec62b07965 ] [NEWS: remove unmaintained Mac GUI app. refs #1282 david-sarah@jacaranda.org**20101226020858 Ignore-this: 40474a07f4a550b48563d35350be7ab5 ] [Remove unmaintained Mac GUI app. fixes #1282 david-sarah@jacaranda.org**20101226020508 Ignore-this: b3613bf1abfd284d542bf7c753ec557a ] [Remove src/allmydata/util/find_exe.py which is no longer used. fixes #1150 david-sarah@jacaranda.org**20101226023206 Ignore-this: 7436c9b53bf210aed34a1a973cd9cace ] [status_web_pages_review.darcs.patch freestorm77@gmail.com**20110102034214 Ignore-this: 29f1ecb36177f10f3f846b3d56b313b2 I make some changes on status web pages status.xhtml: - Delete unused webform_css link - Align tables on the left tahoe-css: - Do some minor changes on code synthax - changes table.status-download-events style to look like other tables status.py: - Align table on the left - Changes table header - Add heading tags - Modify google api graph: add image border, calculate height to feet data signed-off-by: zooko@zooko.com fixes #1219 ] [test_storage.py: fix a pyflakes unused import warning. david-sarah@jacaranda.org**20101231220756 Ignore-this: df08231540cb7dff9d2b038e47ab30ee ] [test_storage.py: leave at least 512 MiB free when running test_large_share. refs #1195 david-sarah@jacaranda.org**20101231203215 Ignore-this: b2144c0341c3452b5d4ba219e284ea0e ] [storage: use fileutil's version of get_disk_stats() and get_available_space(), use mockery/fakery in tests, enable large share test on platforms with sparse files and if > 4 GiB of disk space is currently available zooko@zooko.com**20100910173629 Ignore-this: 1304f1164c661de6d5304f993eb9b27b ] [fileutil: copy in the get_disk_stats() and get_available_space() functions from storage/server.py zooko@zooko.com**20100910173520 Ignore-this: 8b15569715f710f4fc5092f7ca109253 ] [Update foolscap version requirement to 0.6.0, to address http://foolscap.lothar.com/trac/ticket/167 david-sarah@jacaranda.org**20101231060039 Ignore-this: 98d2b8086a1a500b9f4565bca5a3810 ] [docs/webapi.rst: typos. david-sarah@jacaranda.org**20101230034422 Ignore-this: d1f5166d72cc711f7e0d9981eac9105e ] [docs/webapi.rst: capitalization, formatting of section on URL character encoding, and a correction about Internet Explorer. david-sarah@jacaranda.org**20101230034049 Ignore-this: b3b9819d2fb264b4cdc5c8afd4e8c48d ] [docs: corrections and clarifications. david-sarah@jacaranda.org**20101227051056 Ignore-this: e33202858c7644c58f3f924b164294b6 ] [docs: more formatting cleanups and corrections. Spell webapi and wapi as web-API. david-sarah@jacaranda.org**20101227050533 Ignore-this: 18b23cbfb780df585d8a722a1ec63e94 ] [docs/debian.rst: bring description of building dependencies from source up-to-date, and change hostname from allmydata.com to tahoe-lafs.org. david-sarah@jacaranda.org**20101212222912 Ignore-this: f38462afc88b4475195610385a28391c ] [docs/architecture.rst: correct rst syntax. david-sarah@jacaranda.org**20101212202003 Ignore-this: 3fbe12feb28bec6f1c63aedbc79aad21 ] [docs/architecture.rst: formatting. david-sarah@jacaranda.org**20101212201719 Ignore-this: 305fa5dfc2939355eaf6d0d2161eb1ff ] [docs: linkification, wording improvements. david-sarah@jacaranda.org**20101212201234 Ignore-this: 4e67287f527a8bc728cfbd93255d2aae ] [docs: formatting. david-sarah@jacaranda.org**20101212201115 Ignore-this: 2e0ed394ac7726651d3a4f2c4b0d3798 ] [docs/configuration.rst: more formatting tweaks; which -> that. david-sarah@jacaranda.org**20101212195522 Ignore-this: a7becb7021854ca5a90edd892b36fdd7 ] [docs/configuration.rst: more changes to formatting. david-sarah@jacaranda.org**20101212194511 Ignore-this: 491aac33e5f5268d224359f1447d10be ] [docs/configuration.rst: changes to formatting (mainly putting commands and filenames in monospace). david-sarah@jacaranda.org**20101212181828 Ignore-this: 8a1480e2d5f43bee678476424615b50f ] [scripts/backupdb.py: more accurate comment about path field. david-sarah@jacaranda.org**20101212170320 Ignore-this: 50e47a2228a85207bbcd188a78a0d4e6 ] [scripts/cli.py: fix missing 'put' in usage example for 'tahoe put'. david-sarah@jacaranda.org**20101212170207 Ignore-this: 2cbadf066fff611fc03d3c0ff97ce6ec ] [docs/frontends/CLI.rst: changes to formatting (mainly putting commands and filenames in monospace), and to command syntax to reflect that DIRCAP/... is accepted. Clarify the syntax of 'tahoe put' and other minor corrections. Tahoe -> Tahoe-LAFS. david-sarah@jacaranda.org**20101212165800 Ignore-this: a123ef6b564aa8624d1e79c97068ea12 ] [docs/frontends/CLI.rst: Unicode arguments to 'tahoe' work on Windows as of v1.7.1. david-sarah@jacaranda.org**20101212063740 Ignore-this: 3977a99dfa86ac33a44171deaf43aaab ] [docs/known_issues.rst: fix title and linkify another URL. refs #1225 david-sarah@jacaranda.org**20101212062817 Ignore-this: cc91287f7fb51c23440b3d2fe79c449c ] [docs/known_issues.rst: fix an external link. refs #1225 david-sarah@jacaranda.org**20101212062435 Ignore-this: b8cbf12f353131756c358965c48060ec ] [Fix a link from uri.rst to dirnodes.rst. refs #1225 david-sarah@jacaranda.org**20101212054502 Ignore-this: af6205299f5c9a33229cab259c00f9d5 ] [Fix a link from webapi.rst to FTP-and-SFTP.rst. refs #1225 david-sarah@jacaranda.org**20101212053435 Ignore-this: 2b9f88678c3447ea860d6b61e8799858 ] [More specific hyperlink to architecture.rst from helper.rst. refs #1225 david-sarah@jacaranda.org**20101212052607 Ignore-this: 50424c768fca481252fabf58424852dc ] [Update hyperlinks between docs, and linkify some external references. refs #1225 david-sarah@jacaranda.org**20101212051459 Ignore-this: cd43a4c3d3de1f832abfa88d5fc4ace1 ] [docs/specifications/dirnodes.rst: fix references to mutable.rst. refs #1225 david-sarah@jacaranda.org**20101212012720 Ignore-this: 6819b4b4e06e947ee48b365e840db37d ] [docs/specifications/mutable.rst: correct the magic string for v1 mutable containers. refs #1225 david-sarah@jacaranda.org**20101212011400 Ignore-this: 99a5fcdd40cef83dbb08f323f6cdaaca ] [Move .txt files in docs/frontends and docs/specifications to .rst. refs #1225 david-sarah@jacaranda.org**20101212010251 Ignore-this: 8796d35d928370f7dc6ad2dafdc1c0fe ] [Convert docs/frontends and docs/specifications to reStructuredText format (not including file moves). david-sarah@jacaranda.org**20101212004632 Ignore-this: e3ceb2d832d73875abe48624ddbb5622 ] [scripts/cli.py: remove the disclaimer in the help for 'tahoe cp' that it does not handle non-ASCII filenames well. (At least, we intend to handle them.) david-sarah@jacaranda.org**20101130002145 Ignore-this: 94c003efaa20b9eb4a83503d79844ca ] [relnotes.txt: fifth -> sixth labor-of-love release zooko@zooko.com**20101129045647 Ignore-this: 21c245015268b38916e3a138d256c09d ] [Makefile: BB_BRANCH is set to the empty string for trunk, not the string 'trunk'. david-sarah@jacaranda.org**20101128233512 Ignore-this: 5a7ef8eb10475636d21b91e25b56c369 ] [relnotes.txt: eleventh -> twelfth release. david-sarah@jacaranda.org**20101128223321 Ignore-this: 1e26410156a665271c1170803dea2c0d ] [relnotes.tst: point to known_issues.rst, not known_issues.txt. david-sarah@jacaranda.org**20101128222918 Ignore-this: 60194eb4544cac446fe4f60b3e34b887 ] [quickstart.html: fix link to point to allmydata-tahoe-1.8.1.zip. david-sarah@jacaranda.org**20101128221728 Ignore-this: 7b3ee86f8256aa12f5d862f689f3ee29 ] [TAG allmydata-tahoe-1.8.1 david-sarah@jacaranda.org**20101128212336 Ignore-this: 9c18bdeaef4822f590d2a0d879e00621 ] Patch bundle hash: 458b3a9f0328564abfe6e442005e6415f4071028