Commit Graph

6222 Commits

Author SHA1 Message Date
Zooko O'Whielacronx cce2dbfe80 doc: fix typos and otherwise edit about.html 2008-01-21 15:54:43 -07:00
Zooko O'Whielacronx 20aaefc3f0 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
2008-01-21 15:19:25 -07:00
robk-tahoe 7c34658438 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.
2008-01-17 20:57:29 -07:00
robk-tahoe 46154beace 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.
2008-01-17 17:36:28 -07:00
Brian Warner e9307d3fda offloaded: close the local filehandle after encoding is done, otherwise windows fails 2008-01-17 01:52:33 -07:00
Brian Warner fd0dc3013c offloaded: update unit tests: assert that interrupt/resume works, and that the helper deletes tempfiles 2008-01-17 01:18:10 -07:00
Brian Warner 6b08c28f5d upload.py: make it easier to have an IUploadable that overrides encoding parameters: just set an attribute instead of subclassing 2008-01-17 01:17:42 -07:00
Brian Warner 812383a369 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 2008-01-17 01:16:56 -07:00
Brian Warner 0e3b218e7d offloaded.py: delete encoding tempfile when upload is complete 2008-01-17 01:15:54 -07:00
Brian Warner 41cbd1e3a7 offloaded.py: when resuming, append new data to incoming file, rather than overwrite it. 2008-01-17 01:15:32 -07:00
Brian Warner 8386b0226b offloaded.py: remove dead/redundant code 2008-01-17 01:14:45 -07:00
Brian Warner c597e67c2b offloaded: improve logging across the board 2008-01-17 01:11:35 -07:00
Brian Warner 51321944f0 megapatch: overhaul encoding_parameters handling: now it comes from the Uploadable, or the Client. Removed options= too. Also move helper towards resumability. 2008-01-16 03:03:35 -07:00
Brian Warner 547375a488 node.py: when calling os.abort(), announce it to stdout as well as the log 2008-01-16 03:01:32 -07:00
robk-tahoe 7443121a9c 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
2008-01-16 20:29:30 -07:00
robk-tahoe 6e8fe30859 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.
2008-01-16 19:15:35 -07:00
the real nejucomo eaba225e1f Wouldn't it be nice to reuse the allmydata library? 2008-01-12 21:41:26 -07:00
the real nejucomo 0b5f9ff5c3 Support url-encoding in caps. 2008-01-12 21:41:07 -07:00
the real nejucomo dc7e794ee8 Make my contrib/README look like the allmydata.org version. 2008-01-12 21:00:13 -07:00
the real nejucomo a339ba6feb The start of unit tests for tahoe_fuse.py. 2008-01-12 19:56:03 -07:00
the real nejucomo 52fc80a54b Formatting changes and a few FIXMEs for tahoe_fuse.py 2008-01-12 19:55:38 -07:00
the real nejucomo 19fdb20bac Remove redundant docs from tahoe_fuse.py docstrings which are in the README. Add implementation-specific notes in the doc strings. 2008-01-12 19:54:33 -07:00
the real nejucomo ddeb5eab54 Change the name of tahoe_fuse.py to something importable. 2008-01-12 18:50:53 -07:00
the real nejucomo 7214f2f8b8 A patch to make tahoe-fuse.py work with 0.7.0 plus a howto README. 2008-01-12 17:06:39 -07:00
the real nejucomo c555f1abb4 Use "my_vdrive.uri" for the root. The old "fuse-bookmarks.uri" served exactly the same purpose. 2007-11-20 14:00:01 -07:00
the real nejucomo 326aa73a67 Add extensions/README and more doc strings to the fuse extension. 2007-11-20 13:58:42 -07:00
Brian Warner 4cdb252d5a cli scripts: remove the for-educational-purposes standalone clauses. Closes #261. 2008-01-16 00:08:51 -07:00
robk-tahoe 146b290597 more minor build tweaks for windows
tweaking version number display, and fixing a couple of small bugs
2008-01-15 17:38:06 -07:00
robk-tahoe 6c2944d4e1 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.
2008-01-15 16:59:41 -07:00
Brian Warner f0430ccc48 offloaded: cleanup to handle multiple simultaneous uploaders gracefully 2008-01-14 22:20:03 -07:00
Brian Warner 7bb9307871 encode: actually define the UploadAborted exception 2008-01-14 21:27:02 -07:00
Brian Warner 821521cc3e test_storage: fix pyflakes warnings 2008-01-14 21:26:48 -07:00
Brian Warner 9f0ee4b758 test_system: fix pyflakes warnings 2008-01-14 21:26:28 -07:00
Brian Warner 168a8c3b73 offloaded: improve logging, pass through options, get ready for testing interrupted uploads. test_system: add (disabled) interrupted-upload test 2008-01-14 21:24:26 -07:00
Brian Warner a6ca98ac53 upload: add Encoder.abort(), to abandon the upload in progress. Add some debug hooks to enable unit tests. 2008-01-14 21:22:55 -07:00
Brian Warner 60090fb9f2 upload: improve logging 2008-01-14 21:19:20 -07:00
Brian Warner e65967da49 upload: pass options through to the encoder 2008-01-14 21:17:32 -07:00
Brian Warner cb76ed36f9 logging: enable flogging in more places, replace Node.log with flogging 2008-01-14 21:16:58 -07:00
Brian Warner f664dcb489 testutil.py: hush the new (more strict) pyflakes 2008-01-14 18:27:55 -07:00
Brian Warner c24a1bbaaa iputil.py: hush the new (more strict) pyflakes 2008-01-14 18:27:43 -07:00
Brian Warner acaedfdbd6 Makefile: move use of 'cygpath' into win32-conditionalized section 2008-01-14 18:22:36 -07:00
robk-tahoe 3cb08209d2 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
2008-01-14 17:53:54 -07:00
robk-tahoe 2dd5d2fc63 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.
2008-01-11 20:41:21 -07:00
robk-tahoe 29277ed97b add confwiz to py2exe build
including setting up the windows xp look and feel stuff.
2008-01-11 18:42:27 -07:00
robk-tahoe dba59050a9 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.
2008-01-11 19:53:15 -07:00
robk-tahoe d87a80dca6 added is_uri() function to allmydata.uri 2008-01-10 20:43:42 -07:00
robk-tahoe 4c9447e258 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.
2008-01-10 20:37:18 -07:00
Brian Warner 7ac2b94aba remove wait_for_numpeers and the when_enough_peers call in mutable.Publish 2008-01-14 14:55:59 -07:00
Brian Warner 222718f13c 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.
2008-01-14 22:31:41 -07:00
Brian Warner 37b7f136ce 'tahoe dump-cap': accept http:// -prefixed URLs too 2008-01-14 14:12:27 -07:00