tahoe-lafs/tahoe-lafs.git
16 years agooffloaded: reinstate fix for windows tests
robk-tahoe [Mon, 21 Jan 2008 22:25:15 +0000 (15:25 -0700)]
offloaded: reinstate fix for windows tests

in a discussion the other day, brian had asked me to try removing this fix, since
it leads to double-closing the reader.  since on my windows box, the test failures
I'd experienced were related to the ConnectionLost exception problem, and this
close didn't see to make a difference to test results, I agreed.

turns out that the buildbot's environment does fail without this fix, even with
the exception fix, as I'd kind of expected.

it makes sense, because the reader (specifically the file handle) must be closed
before it can be unlinked. at any rate, I'm reinstating this, in order to fix the
windows build

16 years agoUNDO: offloaded: close reader before removing its file
robk-tahoe [Fri, 18 Jan 2008 00:36:28 +0000 (17:36 -0700)]
UNDO: offloaded: close reader before removing its file

unlinking a file before closing it is not portable. it works on unix, but fails
since an open file holds a lock on windows.

this closes the reader before trying to unlink the encoding file within the
CHKUploadHelper.

16 years agoupdate confwiz to include account creation ui
robk-tahoe [Mon, 21 Jan 2008 22:13:10 +0000 (15:13 -0700)]
update confwiz to include account creation ui

this changes the confwiz so that hitting the 'create account' button, rather than
opening a webbrowser to the register page, instead provides a simple account creation
ui directly, along with changes to the backend (native_client.php) to support that.

also added a 'connecting...' message so the user sees a response when they hit
login or create account, since the getBasedir call can sometimes take up to ~5min
(which is unacceptable for a user product, but this at least somewhat ameliorates
the issue of the ui locking up and not giving the user any feedback while it's
happening)

16 years agosetup: bundle setuptools_darcs-1.1.7
Zooko O'Whielacronx [Tue, 22 Jan 2008 18:01:36 +0000 (11:01 -0700)]
setup: bundle setuptools_darcs-1.1.7
fixes #263

16 years agosetup: use a customized version of ez_setup.py which bootstraps from Python-version...
Zooko O'Whielacronx [Tue, 22 Jan 2008 18:00:56 +0000 (11:00 -0700)]
setup: use a customized version of ez_setup.py which bootstraps from Python-version-agnostic setuptools bootstrap eggs

16 years agosetup: add a setuptools bootstrap egg that works on all versions of Python
Zooko O'Whielacronx [Tue, 22 Jan 2008 18:00:12 +0000 (11:00 -0700)]
setup: add a setuptools bootstrap egg that works on all versions of Python
For versions of Python >= 2.3.

16 years agosetup: update some docs, metadata, and docstrings
Zooko O'Whielacronx [Tue, 22 Jan 2008 17:22:51 +0000 (10:22 -0700)]
setup: update some docs, metadata, and docstrings

16 years agosetup: it is okay to leave src/allmydata_tahoe.egg-info in place
Zooko O'Whielacronx [Tue, 22 Jan 2008 16:35:54 +0000 (09:35 -0700)]
setup: it is okay to leave src/allmydata_tahoe.egg-info in place
This directory allows programs to programmatically identify tahoe and its version number while "running from source" -- i.e. using ./setup.py develop.

16 years agosetup: simplify the setup by removing the "tahoe dependencies" fake project
Zooko O'Whielacronx [Tue, 22 Jan 2008 15:35:38 +0000 (08:35 -0700)]
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.

16 years agodocs: about.html: edit thanks to nej
Zooko O'Whielacronx [Tue, 22 Jan 2008 04:52:01 +0000 (21:52 -0700)]
docs: about.html: edit thanks to nej

16 years agodoc: architecture.txt: start updating architecture.txt
Zooko O'Whielacronx [Tue, 22 Jan 2008 00:53:03 +0000 (17:53 -0700)]
doc: architecture.txt: start updating architecture.txt
I chose to remove mention of non-convergent encoding, not because I dislike non-convergent encoding, but because that option isn't currently expressed in the API and in order to shorten architecture.txt.  I renamed "URI" to "Capability".  I did some editing, including updating a few places that treated all capabilities as CHK-capabilities and that mentioned that distributed SSKs were not yet implemented.

16 years agodocs: architecture.txt: reflow to 77 cols
Zooko O'Whielacronx [Tue, 22 Jan 2008 00:26:28 +0000 (17:26 -0700)]
docs: architecture.txt: reflow to 77 cols
Experiment showed that reflowing to 77 cols changed the fewest lines.

16 years agodoc: fix typos and otherwise edit about.html
Zooko O'Whielacronx [Mon, 21 Jan 2008 22:54:43 +0000 (15:54 -0700)]
doc: fix typos and otherwise edit about.html

16 years agodoc: add an overview to about.html
Zooko O'Whielacronx [Mon, 21 Jan 2008 22:19:25 +0000 (15:19 -0700)]
doc: add an overview to about.html
Hopefully this overview has the right combination of generality and precision to satisfy The Norm Hardy Request:
http://allmydata.org/pipermail/tahoe-dev/2007-November/000222.html

16 years agooffloaded: fix failure in unit test on windows
robk-tahoe [Fri, 18 Jan 2008 03:57:29 +0000 (20:57 -0700)]
offloaded: fix failure in unit test on windows

in trying to test my fix for the failure of the offloaded unit test on windows
(by closing the reader before unlinking the encoding file - which, perhaps
disturbingly doesn't actually make a difference in my windows environment)
I was unable too because the unit test failed every time with a connection lost
error.

after much more time than I'd like to admit it took, I eventually managed to
track that down to a part of the unit test which is supposed to be be dropping
a connection.   it looks like the exceptions that get thrown on unix, or at
least all the specific environments brian tested in, for that dropped
connection are different from what is thrown on my box (which is running py2.4
and twisted 2.4.0, for reference)  adding ConnectionLost to the list of
expected exceptions makes the test pass.

though curiously still my test logs a NotEnoughWritersError error, and I'm not
currently able to fathom why that exception isn't leading to any overall
failure of the unit test itself.

for general interest, a large part of the time spent trying to track this down
was lost to the state of logging.  I added a whole bunch of logging to try
and track down where the tests were failing, but then spent a bunch of time
searching in vain for that log output.  as far as I can tell at this point
the unit tests are themselves logging to foolscap's log module, but that isn't
being directed anywhere, so all the test's logging is being black holed.

16 years agooffloaded: close reader before removing its file
robk-tahoe [Fri, 18 Jan 2008 00:36:28 +0000 (17:36 -0700)]
offloaded: close reader before removing its file

unlinking a file before closing it is not portable. it works on unix, but fails
since an open file holds a lock on windows.

this closes the reader before trying to unlink the encoding file within the
CHKUploadHelper.

16 years agooffloaded: close the local filehandle after encoding is done, otherwise windows fails
Brian Warner [Thu, 17 Jan 2008 08:52:33 +0000 (01:52 -0700)]
offloaded: close the local filehandle after encoding is done, otherwise windows fails

16 years agooffloaded: update unit tests: assert that interrupt/resume works, and that the helper...
Brian Warner [Thu, 17 Jan 2008 08:18:10 +0000 (01:18 -0700)]
offloaded: update unit tests: assert that interrupt/resume works, and that the helper deletes tempfiles

16 years agoupload.py: make it easier to have an IUploadable that overrides encoding parameters...
Brian Warner [Thu, 17 Jan 2008 08:17:42 +0000 (01:17 -0700)]
upload.py: make it easier to have an IUploadable that overrides encoding parameters: just set an attribute instead of subclassing

16 years agooffloaded: upload.py: handle forward skips, to allow resumed uploads to send less...
Brian Warner [Thu, 17 Jan 2008 08:16:56 +0000 (01:16 -0700)]
offloaded: upload.py: handle forward skips, to allow resumed uploads to send less than all the data. We still read all the data (to hash it, 'paranoid mode'), but we don't send it over the wire

16 years agooffloaded.py: delete encoding tempfile when upload is complete
Brian Warner [Thu, 17 Jan 2008 08:15:54 +0000 (01:15 -0700)]
offloaded.py: delete encoding tempfile when upload is complete

16 years agooffloaded.py: when resuming, append new data to incoming file, rather than overwrite it.
Brian Warner [Thu, 17 Jan 2008 08:15:32 +0000 (01:15 -0700)]
offloaded.py: when resuming, append new data to incoming file, rather than overwrite it.

16 years agooffloaded.py: remove dead/redundant code
Brian Warner [Thu, 17 Jan 2008 08:14:45 +0000 (01:14 -0700)]
offloaded.py: remove dead/redundant code

16 years agooffloaded: improve logging across the board
Brian Warner [Thu, 17 Jan 2008 08:11:35 +0000 (01:11 -0700)]
offloaded: improve logging across the board

16 years agomegapatch: overhaul encoding_parameters handling: now it comes from the Uploadable...
Brian Warner [Wed, 16 Jan 2008 10:03:35 +0000 (03:03 -0700)]
megapatch: overhaul encoding_parameters handling: now it comes from the Uploadable, or the Client. Removed options= too. Also move helper towards resumability.

16 years agonode.py: when calling os.abort(), announce it to stdout as well as the log
Brian Warner [Wed, 16 Jan 2008 10:01:32 +0000 (03:01 -0700)]
node.py: when calling os.abort(), announce it to stdout as well as the log

16 years agosimplify buildbot upload of windows installer
robk-tahoe [Thu, 17 Jan 2008 03:29:30 +0000 (20:29 -0700)]
simplify buildbot upload of windows installer

since the installer upload got more complex (needing to chmod files before
rsyncing) I promoted it to a makefile target, simplifying the buildbot steps
involved

16 years agoadd winfuse plugin to installer
robk-tahoe [Thu, 17 Jan 2008 02:15:35 +0000 (19:15 -0700)]
add winfuse plugin to installer

this adds the latest build of mike's winfuse plugins, now also running as
a windows service (and using the node.url, private/root_dir.cap files from
the noderoot specified by the registry) into the install process.

16 years agoWouldn't it be nice to reuse the allmydata library?
nejucomo [Sun, 13 Jan 2008 04:41:26 +0000 (21:41 -0700)]
Wouldn't it be nice to reuse the allmydata library?

16 years agoSupport url-encoding in caps.
nejucomo [Sun, 13 Jan 2008 04:41:07 +0000 (21:41 -0700)]
Support url-encoding in caps.

16 years agoMake my contrib/README look like the allmydata.org version.
nejucomo [Sun, 13 Jan 2008 04:00:13 +0000 (21:00 -0700)]
Make my contrib/README look like the allmydata.org version.

16 years agoThe start of unit tests for tahoe_fuse.py.
nejucomo [Sun, 13 Jan 2008 02:56:03 +0000 (19:56 -0700)]
The start of unit tests for tahoe_fuse.py.

16 years agoFormatting changes and a few FIXMEs for tahoe_fuse.py
nejucomo [Sun, 13 Jan 2008 02:55:38 +0000 (19:55 -0700)]
Formatting changes and a few FIXMEs for tahoe_fuse.py

16 years agoRemove redundant docs from tahoe_fuse.py docstrings which are in the README. Add...
nejucomo [Sun, 13 Jan 2008 02:54:33 +0000 (19:54 -0700)]
Remove redundant docs from tahoe_fuse.py docstrings which are in the README.  Add implementation-specific notes in the doc strings.

16 years agoChange the name of tahoe_fuse.py to something importable.
nejucomo [Sun, 13 Jan 2008 01:50:53 +0000 (18:50 -0700)]
Change the name of tahoe_fuse.py to something importable.

16 years agoA patch to make tahoe-fuse.py work with 0.7.0 plus a howto README.
nejucomo [Sun, 13 Jan 2008 00:06:39 +0000 (17:06 -0700)]
A patch to make tahoe-fuse.py work with 0.7.0 plus a howto README.

17 years agoUse "my_vdrive.uri" for the root. The old "fuse-bookmarks.uri" served exactly the...
nejucomo [Tue, 20 Nov 2007 21:00:01 +0000 (14:00 -0700)]
Use "my_vdrive.uri" for the root.  The old "fuse-bookmarks.uri" served exactly the same purpose.

17 years agoAdd extensions/README and more doc strings to the fuse extension.
nejucomo [Tue, 20 Nov 2007 20:58:42 +0000 (13:58 -0700)]
Add extensions/README and more doc strings to the fuse extension.

16 years agocli scripts: remove the for-educational-purposes standalone clauses. Closes #261.
Brian Warner [Wed, 16 Jan 2008 07:08:51 +0000 (00:08 -0700)]
cli scripts: remove the for-educational-purposes standalone clauses. Closes #261.

16 years agomore minor build tweaks for windows
robk-tahoe [Wed, 16 Jan 2008 00:38:06 +0000 (17:38 -0700)]
more minor build tweaks for windows

tweaking version number display, and fixing a couple of small bugs

16 years agotweak py2exe setup.py to link in xmlplus iff present
robk-tahoe [Tue, 15 Jan 2008 23:59:41 +0000 (16:59 -0700)]
tweak py2exe setup.py to link in xmlplus iff present

so in the build slave's environment, everything builds and runs fine without
'_xmlplus'.  In my existing local environment everything builds and runs only
if I tell py2exe to explicitly link in '_xmlplus'.

the _xmlplus module, tested for by the python standard library, comes from
PyXML ( http://pyxml.sf.net ) a project which is no longer maintained and,
for instance, hasn't released a build for windows past python 2.4

hence something about the way nevow and the std lib import xml dependencies
causes build environment incompatabilities between my box (which is running
py24 currently) and the buildslave (which is on py25, and doesn't have PyXML)
(if I remove _xmlplus from my environment, then a different set of nevow/xml
import problems emerge, which do not occur in the buildslave's py25 env)

this change tests the environment the build is happening in, and if the
_xmlplus package is importable, then py2exe is directed to link it into the
build. otherwise the package is left out.   as far as I comprehend the issue
this should make both of these environments work.  if other people have
problems around this issue, obviously I'm interested in learning more.

16 years agooffloaded: cleanup to handle multiple simultaneous uploaders gracefully
Brian Warner [Tue, 15 Jan 2008 05:20:03 +0000 (22:20 -0700)]
offloaded: cleanup to handle multiple simultaneous uploaders gracefully

16 years agoencode: actually define the UploadAborted exception
Brian Warner [Tue, 15 Jan 2008 04:27:02 +0000 (21:27 -0700)]
encode: actually define the UploadAborted exception

16 years agotest_storage: fix pyflakes warnings
Brian Warner [Tue, 15 Jan 2008 04:26:48 +0000 (21:26 -0700)]
test_storage: fix pyflakes warnings

16 years agotest_system: fix pyflakes warnings
Brian Warner [Tue, 15 Jan 2008 04:26:28 +0000 (21:26 -0700)]
test_system: fix pyflakes warnings

16 years agooffloaded: improve logging, pass through options, get ready for testing interrupted...
Brian Warner [Tue, 15 Jan 2008 04:24:26 +0000 (21:24 -0700)]
offloaded: improve logging, pass through options, get ready for testing interrupted uploads. test_system: add (disabled) interrupted-upload test

16 years agoupload: add Encoder.abort(), to abandon the upload in progress. Add some debug hooks...
Brian Warner [Tue, 15 Jan 2008 04:22:55 +0000 (21:22 -0700)]
upload: add Encoder.abort(), to abandon the upload in progress. Add some debug hooks to enable unit tests.

16 years agoupload: improve logging
Brian Warner [Tue, 15 Jan 2008 04:19:20 +0000 (21:19 -0700)]
upload: improve logging

16 years agoupload: pass options through to the encoder
Brian Warner [Tue, 15 Jan 2008 04:17:32 +0000 (21:17 -0700)]
upload: pass options through to the encoder

16 years agologging: enable flogging in more places, replace Node.log with flogging
Brian Warner [Tue, 15 Jan 2008 04:16:58 +0000 (21:16 -0700)]
logging: enable flogging in more places, replace Node.log with flogging

16 years agotestutil.py: hush the new (more strict) pyflakes
Brian Warner [Tue, 15 Jan 2008 01:27:55 +0000 (18:27 -0700)]
testutil.py: hush the new (more strict) pyflakes

16 years agoiputil.py: hush the new (more strict) pyflakes
Brian Warner [Tue, 15 Jan 2008 01:27:43 +0000 (18:27 -0700)]
iputil.py: hush the new (more strict) pyflakes

16 years agoMakefile: move use of 'cygpath' into win32-conditionalized section
Brian Warner [Tue, 15 Jan 2008 01:22:36 +0000 (18:22 -0700)]
Makefile: move use of 'cygpath' into win32-conditionalized section

16 years agowindows installer build refinements
robk-tahoe [Tue, 15 Jan 2008 00:53:54 +0000 (17:53 -0700)]
windows installer build refinements

this resolves problems of py2exe's modulefinder collection of sources from
.zipped egg files, not by using easy_install to reach the --always-unzip
option, but rather with a small tool which unpacks any zipped egg files found
in misc/dependencies.  this fixes the py2exe build given rollback of the
easy_install stuff which had broken the unix builds.  misc/hatch-eggs.py
performs the honours.

this also includes a misc/sub-ver.py tool which substitutes elements of the
verion number for the current code base (by importing allmydata.__version__
hence make-version should be run first, and the python path carefully managed)
into template files using python's string interpolation of named args from a
dict as the templating syntax.  i.e. %(major)d %(minor)d %(point)d %(nano)d
each expand to the individual components of the version number as codified
by the pyutil.version_class.Version class.  there is also a %(build)s tag
which expands to the string form of the whole version number.  This tool is
used to interpolate the automatically generated version information into the
innosetup source file in a form consistent with innosetup/windows' restrictions

16 years agoadd windows installer target to build
robk-tahoe [Sat, 12 Jan 2008 03:41:21 +0000 (20:41 -0700)]
add windows installer target to build

add 'windows-installer' target to top level makefile to build a windows setup.exe package
using innosetup.  this assumes innosetup 5 is installed in program files as normal.

this doesn't include any logic to manage version numbers at this point, it's just a
simple experiment to test out building an installer as yet.

16 years agoadd confwiz to py2exe build
robk-tahoe [Sat, 12 Jan 2008 01:42:27 +0000 (18:42 -0700)]
add confwiz to py2exe build

including setting up the windows xp look and feel stuff.

16 years agoimplement a very simple, wxpython based, config wizard
robk-tahoe [Sat, 12 Jan 2008 02:53:15 +0000 (19:53 -0700)]
implement a very simple, wxpython based, config wizard

This implements a very small app using a wx ui to log a user in.

it takes a username and password, and submits them to a backend on the web site
(currently the allmydata test net webserver) to authenticate them.  It returns
the 'root_cap' uri of the user's virtual drive. Also the introducer.furl is
retrieved.  These are then written into the default noderoot basedir in their
usual files (private/root_dir.cap and introducer.furl)

a button is provided which will direct the user to the web site in the event
that they need to register in order to have an account to use.

once the user is successfully authenticated and the files are written, then
on win32 the tahoe service will be started.

16 years agoadded is_uri() function to allmydata.uri
robk-tahoe [Fri, 11 Jan 2008 03:43:42 +0000 (20:43 -0700)]
added is_uri() function to allmydata.uri

16 years agoadded a small script as a stub for a config wizard
robk-tahoe [Fri, 11 Jan 2008 03:37:18 +0000 (20:37 -0700)]
added a small script as a stub for a config wizard

this doesn't implement any config wizard ui, but does a simple http fetch of
root_cap and introducer.furl from a php backend stub.

16 years agoremove wait_for_numpeers and the when_enough_peers call in mutable.Publish
Brian Warner [Mon, 14 Jan 2008 21:55:59 +0000 (14:55 -0700)]
remove wait_for_numpeers and the when_enough_peers call in mutable.Publish

16 years agotest_GET_DIRURL_large: reduce from 400 to 200 children: the test fails to
Brian Warner [Tue, 15 Jan 2008 05:31:41 +0000 (22:31 -0700)]
test_GET_DIRURL_large: reduce from 400 to 200 children: the test fails to
fail anyways, and 200 ought to be enough to trigger the problem, so 400 is
overkill, and just wastes CPU.

16 years ago'tahoe dump-cap': accept http:// -prefixed URLs too
Brian Warner [Mon, 14 Jan 2008 21:12:27 +0000 (14:12 -0700)]
'tahoe dump-cap': accept http:// -prefixed URLs too

16 years agoadd 'tahoe dump-cap' command, to show storage index, lease secrets, etc
Brian Warner [Mon, 14 Jan 2008 20:43:25 +0000 (13:43 -0700)]
add 'tahoe dump-cap' command, to show storage index, lease secrets, etc

16 years agostorage: improve logging a bit
Brian Warner [Mon, 14 Jan 2008 18:58:58 +0000 (11:58 -0700)]
storage: improve logging a bit

16 years agosetup: add darcsver-1.0.1.tar to misc/dependencies/
Zooko O'Whielacronx [Wed, 16 Jan 2008 21:08:26 +0000 (14:08 -0700)]
setup: add darcsver-1.0.1.tar to misc/dependencies/

16 years agotests: put back skipped and todo tests
Zooko O'Whielacronx [Tue, 15 Jan 2008 04:02:41 +0000 (21:02 -0700)]
tests: put back skipped and todo tests
closes #258 -- "put back skipped and todo tests"

16 years agosetup: fix name of setup script again
Zooko O'Whielacronx [Sat, 12 Jan 2008 01:46:03 +0000 (18:46 -0700)]
setup: fix name of setup script again

16 years agosetup: fix name of setup script
Zooko O'Whielacronx [Sat, 12 Jan 2008 01:44:48 +0000 (18:44 -0700)]
setup: fix name of setup script

16 years agosetup: switch back from using "misc/dependencies/setup.py easy_install --always-unzip...
Zooko O'Whielacronx [Sat, 12 Jan 2008 01:40:43 +0000 (18:40 -0700)]
setup: switch back from using "misc/dependencies/setup.py easy_install --always-unzip misc/dependencies" to using "misc/dependencies/setup.py install"
because I don't fully understand the former, I suspect it of being implicated in the current buildslave redness, and we require --always-unzip solely for py2exe.

16 years agosetup: if the build fails, make returns a failure exit code
Zooko O'Whielacronx [Fri, 11 Jan 2008 21:43:31 +0000 (14:43 -0700)]
setup: if the build fails, make returns a failure exit code

16 years agooffloaded: add a system test, make it pass. files are now being uploaded through...
Brian Warner [Fri, 11 Jan 2008 12:42:55 +0000 (05:42 -0700)]
offloaded: add a system test, make it pass. files are now being uploaded through the helper.

16 years agooffloaded.py: hush pyflakes
Brian Warner [Fri, 11 Jan 2008 12:05:14 +0000 (05:05 -0700)]
offloaded.py: hush pyflakes

16 years agooffloaded: more test coverage on client side, change interfaces a bit
Brian Warner [Fri, 11 Jan 2008 11:53:37 +0000 (04:53 -0700)]
offloaded: more test coverage on client side, change interfaces a bit

16 years agodocs/mutable-DSA.txt: update mutable.txt to reflect our proposed DSA-based mutable...
Brian Warner [Fri, 11 Jan 2008 11:30:58 +0000 (04:30 -0700)]
docs/mutable-DSA.txt: update mutable.txt to reflect our proposed DSA-based mutable file scheme (#217)

16 years agotest_mutable.py: accomodate changes to mutable.py logging
Brian Warner [Fri, 11 Jan 2008 05:18:34 +0000 (22:18 -0700)]
test_mutable.py: accomodate changes to mutable.py logging

16 years agomutable.py: log more information during publish, specifically the sharemap, and the...
Brian Warner [Fri, 11 Jan 2008 05:16:23 +0000 (22:16 -0700)]
mutable.py: log more information during publish, specifically the sharemap, and the reason for an UncoordinatedWriteError

16 years agoMakefile: add new misc/dependencies/ litter to the 'clean' target
Brian Warner [Fri, 11 Jan 2008 03:24:44 +0000 (20:24 -0700)]
Makefile: add new misc/dependencies/ litter to the 'clean' target

16 years ago.darcs-boringfile: update to match misc/dependencies setup.py changes
Brian Warner [Fri, 11 Jan 2008 03:21:10 +0000 (20:21 -0700)]
.darcs-boringfile: update to match misc/dependencies setup.py changes

16 years agobuild-deps-setup.py: import twisted early, to make setuptools on dapper use the right...
Brian Warner [Fri, 11 Jan 2008 03:15:02 +0000 (20:15 -0700)]
build-deps-setup.py: import twisted early, to make setuptools on dapper use the right version

16 years agofix dumb typo in tahoe run
robk-tahoe [Fri, 11 Jan 2008 03:14:00 +0000 (20:14 -0700)]
fix dumb typo in tahoe run

16 years agochange default node-directory on windows to do registry lookup, not ~/.tahoe
robk-tahoe [Fri, 11 Jan 2008 02:32:18 +0000 (19:32 -0700)]
change default node-directory on windows to do registry lookup, not ~/.tahoe

16 years agomove registry module into allmydata.windows package
robk-tahoe [Fri, 11 Jan 2008 02:03:23 +0000 (19:03 -0700)]
move registry module into allmydata.windows package

16 years agoremove some vestigial cruft from tahoesvc
robk-tahoe [Thu, 10 Jan 2008 22:52:04 +0000 (15:52 -0700)]
remove some vestigial cruft from tahoesvc

16 years agoadd files from allmydata/web to py2exe distribution
robk-tahoe [Thu, 10 Jan 2008 22:34:46 +0000 (15:34 -0700)]
add files from allmydata/web to py2exe distribution

when building the py2exe package, glob src/allmydata/web/* into web/ within the dist

16 years agofix a couple of typos in tahoesvc startup
robk-tahoe [Thu, 10 Jan 2008 22:30:31 +0000 (15:30 -0700)]
fix a couple of typos in tahoesvc startup

16 years agofix nevow build prob for py2exe
robk-tahoe [Thu, 10 Jan 2008 22:26:19 +0000 (15:26 -0700)]
fix nevow build prob for py2exe

nevow attempts to use pkg_resources to find the formless css file upon
import, if pkg_resources is available.  unfortunately using pkg_resources
to find files is not supported if the files are being loaded from a zip
archive (i.e. only source and egg), and further py2exe uses a zip bundle
for all the code and dependent libraries.  hence having both pkg_resources
and nevow built into an exe causes nevow to explode upon import.

this tells py2exe not to link pkg_resources into the target, so that
this behaviour isn't stimulated.  the side effect being that pkg_resources
isn't available.

16 years agoadded tweaked sibpath implementation
robk-tahoe [Thu, 10 Jan 2008 22:23:41 +0000 (15:23 -0700)]
added tweaked sibpath implementation

use of twisted.python.util.sibpath to find files relative to modules doesn't
work when those modules are bundled into a library by py2exe.  this provides
an alternative implementation (in allmydata.util.sibpath) which checks for
the existence of the file, and if it is not found, attempts to find it relative
to sys.executable instead.

16 years agoresolve makefile conflicts
robk-tahoe [Thu, 10 Jan 2008 04:21:15 +0000 (21:21 -0700)]
resolve makefile conflicts

and surpress echo of echoes

16 years agoadd 'run' command to tahoe
robk-tahoe [Thu, 10 Jan 2008 02:54:12 +0000 (19:54 -0700)]
add 'run' command to tahoe

adds a 'run' commands to bin/tahoe / tahoe.exe
it loads a client node into the tahoe process itself,
running in the base dir specified by --basedir/-C and
defaulting to the current working dir.

it runs synchronously, and the tahoe process blocks until
the reactor is stopped.

16 years agoadd build dependencies to support py2exe's modulefinder
robk-tahoe [Thu, 10 Jan 2008 02:25:38 +0000 (19:25 -0700)]
add build dependencies to support py2exe's modulefinder

adds windows/depends.py as a container for modules which are needed at runtime
but which py2exe's modulefinder dependency analysis fails to find as requisites.

16 years agoadded a 'repl' command to tahoe.exe
robk-tahoe [Thu, 10 Jan 2008 02:19:52 +0000 (19:19 -0700)]
added a 'repl' command to tahoe.exe

this is probably not of very high utility in the unix case of bin/tahoe
but is useful when working with native builds, e.g. py2exe's tahoe.exe,
to examine and debug the runtime environment, linking problems etc.

16 years agoadd windows-exe target to makefile
robk-tahoe [Thu, 10 Jan 2008 02:06:28 +0000 (19:06 -0700)]
add windows-exe target to makefile

16 years agotweaks to build process to support py2exe
robk-tahoe [Thu, 10 Jan 2008 02:02:53 +0000 (19:02 -0700)]
tweaks to build process to support py2exe

py2exe is unable to handle .eggs which are packaged as zip files
in preference it will pull in other versions of libraries if they
can be found in the environment.

this changes causes .eggs to be built as .egg directories, which
py2exe can handle.

16 years agofirst stab at windows build details.
robk-tahoe [Thu, 10 Jan 2008 02:01:56 +0000 (19:01 -0700)]
first stab at windows build details.

there are many and various fiddly details that were involved in this process
on mountain view.  This is a stripped down version of the build process used
there.  there's hence a good chance that one or two necessary details got
stripped down through the cracks.

this provides a py2exe setup.py to build a tahoe.exe and a tahoesvc.exe
the former is equivalent to bin/tahoe, but without the start/stop commands.
the latter is a windows service that instantiates a client whose basedir
is found in the registry.

16 years agotweak running to make node start/stop code optional
robk-tahoe [Wed, 9 Jan 2008 02:51:18 +0000 (19:51 -0700)]
tweak running to make node start/stop code optional

add a 'install_node_control' flag to runner.run(), default True
this enables the start/stop node commands
which are not too useful on windows

16 years agotests: increase the timeout on a test which failed on the overloaded virtual buildslaves
Zooko O'Whielacronx [Fri, 11 Jan 2008 21:27:54 +0000 (14:27 -0700)]
tests: increase the timeout on a test which failed on the overloaded virtual buildslaves

16 years agodocs: mention some tips of how to resolve a certain dependency on Dapper
Zooko O'Whielacronx [Thu, 10 Jan 2008 22:32:38 +0000 (15:32 -0700)]
docs: mention some tips of how to resolve a certain dependency on Dapper

16 years agodocs: start updating install-details.html to reflect current auto-dependency and...
Zooko O'Whielacronx [Thu, 10 Jan 2008 21:03:37 +0000 (14:03 -0700)]
docs: start updating install-details.html to reflect current auto-dependency and setuptools requirements, and to be better written

16 years agosetup: require setuptools >= v0.6c6 on all platforms
Zooko O'Whielacronx [Thu, 10 Jan 2008 21:02:13 +0000 (14:02 -0700)]
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.

16 years agosetup: remove hard import of ez_setup -- we can proceed even if ez_setup can't be...
Zooko O'Whielacronx [Thu, 10 Jan 2008 21:01:52 +0000 (14:01 -0700)]
setup: remove hard import of ez_setup -- we can proceed even if ez_setup can't be imported