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
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.
Brian Warner [Tue, 15 Jan 2008 05:20:03 +0000 (22:20 -0700)]
offloaded: cleanup to handle multiple simultaneous uploaders gracefully
Brian Warner [Tue, 15 Jan 2008 04:27:02 +0000 (21:27 -0700)]
encode: actually define the UploadAborted exception
Brian Warner [Tue, 15 Jan 2008 04:26:48 +0000 (21:26 -0700)]
test_storage: fix pyflakes warnings
Brian Warner [Tue, 15 Jan 2008 04:26:28 +0000 (21:26 -0700)]
test_system: fix pyflakes warnings
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
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.
Brian Warner [Tue, 15 Jan 2008 04:19:20 +0000 (21:19 -0700)]
upload: improve logging
Brian Warner [Tue, 15 Jan 2008 04:17:32 +0000 (21:17 -0700)]
upload: pass options through to the encoder
Brian Warner [Tue, 15 Jan 2008 04:16:58 +0000 (21:16 -0700)]
logging: enable flogging in more places, replace Node.log with flogging
Brian Warner [Tue, 15 Jan 2008 01:27:55 +0000 (18:27 -0700)]
testutil.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
Brian Warner [Tue, 15 Jan 2008 01:22:36 +0000 (18:22 -0700)]
Makefile: move use of 'cygpath' into win32-conditionalized section
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
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.
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.
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.
robk-tahoe [Fri, 11 Jan 2008 03:43:42 +0000 (20:43 -0700)]
added is_uri() function to allmydata.uri
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.
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
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.
Brian Warner [Mon, 14 Jan 2008 21:12:27 +0000 (14:12 -0700)]
'tahoe dump-cap': accept http:// -prefixed URLs too
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
Brian Warner [Mon, 14 Jan 2008 18:58:58 +0000 (11:58 -0700)]
storage: improve logging a bit
Zooko O'Whielacronx [Wed, 16 Jan 2008 21:08:26 +0000 (14:08 -0700)]
setup: add darcsver-1.0.1.tar to misc/dependencies/
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"
Zooko O'Whielacronx [Sat, 12 Jan 2008 01:46:03 +0000 (18:46 -0700)]
setup: fix name of setup script again
Zooko O'Whielacronx [Sat, 12 Jan 2008 01:44:48 +0000 (18:44 -0700)]
setup: fix name of setup script
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.
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
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.
Brian Warner [Fri, 11 Jan 2008 12:05:14 +0000 (05:05 -0700)]
offloaded.py: hush pyflakes
Brian Warner [Fri, 11 Jan 2008 11:53:37 +0000 (04:53 -0700)]
offloaded: more test coverage on client side, change interfaces a bit
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)
Brian Warner [Fri, 11 Jan 2008 05:18:34 +0000 (22:18 -0700)]
test_mutable.py: accomodate changes to mutable.py logging
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
Brian Warner [Fri, 11 Jan 2008 03:24:44 +0000 (20:24 -0700)]
Makefile: add new misc/dependencies/ litter to the 'clean' target
Brian Warner [Fri, 11 Jan 2008 03:21:10 +0000 (20:21 -0700)]
.darcs-boringfile: update to match misc/dependencies setup.py changes
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
robk-tahoe [Fri, 11 Jan 2008 03:14:00 +0000 (20:14 -0700)]
fix dumb typo in tahoe run
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
robk-tahoe [Fri, 11 Jan 2008 02:03:23 +0000 (19:03 -0700)]
move registry module into allmydata.windows package
robk-tahoe [Thu, 10 Jan 2008 22:52:04 +0000 (15:52 -0700)]
remove some vestigial cruft from tahoesvc
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
robk-tahoe [Thu, 10 Jan 2008 22:30:31 +0000 (15:30 -0700)]
fix a couple of typos in tahoesvc startup
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.
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.
robk-tahoe [Thu, 10 Jan 2008 04:21:15 +0000 (21:21 -0700)]
resolve makefile conflicts
and surpress echo of echoes
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.
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.
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.
robk-tahoe [Thu, 10 Jan 2008 02:06:28 +0000 (19:06 -0700)]
add windows-exe target to makefile
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.
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.
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
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
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
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
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.
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
Zooko O'Whielacronx [Thu, 10 Jan 2008 21:01:31 +0000 (14:01 -0700)]
setup: shebang usr bin env python
Zooko O'Whielacronx [Thu, 10 Jan 2008 20:58:00 +0000 (13:58 -0700)]
setup: remove the hack to determine if we can avoid the explicit setuptools-managed dependency on nevow (which was useful for building on dapper)
For simplicity, and to avoid weird failure modes that result from importing nevow during the build process, we now simply require nevow >= 0.6.0. We currently bundle in misc/dependencies nevow v0.9.18, which will not work on Dapper, since it requires Twisted >= 2.4.0, and Dapper comes with Twisted 2.2.0. Dapper users can (a) install a newer Twisted, (b) install nevow 0.6.0 in egg form so that setuptools can tell that it is installed (without importing it), (c) beg us to start shipping nevow 0.6.0 instead of nevow 0.9.18 in our bundle.
Zooko O'Whielacronx [Thu, 10 Jan 2008 20:56:39 +0000 (13:56 -0700)]
setup: update the version numbers of packages that we require, add zope.interface to our requirements, make nevow >= 0.6.0 always be a requirement
Zooko O'Whielacronx [Thu, 10 Jan 2008 20:35:30 +0000 (13:35 -0700)]
docs: add require version numbers of deps to install.html, move pywin32 from install.html to install-details.html, change ref to install-details.html in install.html
Brian Warner [Thu, 10 Jan 2008 04:25:47 +0000 (21:25 -0700)]
offloaded: move interfaces to interfaces.py, start implementing backend
Brian Warner [Thu, 10 Jan 2008 04:25:18 +0000 (21:25 -0700)]
upload.py: start removing wait_for_numpeers code
Brian Warner [Thu, 10 Jan 2008 03:25:50 +0000 (20:25 -0700)]
offloaded: basic test for client-side of AssistedUploader
Brian Warner [Thu, 10 Jan 2008 03:25:05 +0000 (20:25 -0700)]
offloaded: create a Helper if 'run_helper' is non-empty
Brian Warner [Thu, 10 Jan 2008 03:23:54 +0000 (20:23 -0700)]
test_system: slight refactoring to eventually make it easier to configure some nodes with the output of others
Brian Warner [Thu, 10 Jan 2008 03:23:12 +0000 (20:23 -0700)]
Makefile: pyflakes: the newest pyflakes is more picky, more verbose, and prints the same message multiple times
Brian Warner [Thu, 10 Jan 2008 00:58:47 +0000 (17:58 -0700)]
offloaded: more code, fix pyflakes problems, change IEncryptedUploader a bit
Brian Warner [Wed, 9 Jan 2008 04:18:54 +0000 (21:18 -0700)]
offloaded: early code: most of client-side, defined the RemoteInterfaces
Brian Warner [Wed, 9 Jan 2008 03:59:48 +0000 (20:59 -0700)]
check_speed.py: re-enable 100x200B and 1x100MB CHK tests
Brian Warner [Wed, 9 Jan 2008 03:11:04 +0000 (20:11 -0700)]
docs/mutable-DSA.svg: fix background color, resolution for export-to-png
Brian Warner [Wed, 9 Jan 2008 03:08:52 +0000 (20:08 -0700)]
docs/mutable-DSA.svg: add a picture of the upcoming DSA-based mutable file structure
nejucomo [Tue, 8 Jan 2008 19:21:21 +0000 (12:21 -0700)]
User friendly error messages, and updates to use new URI formats.
Zooko O'Whielacronx [Tue, 8 Jan 2008 19:47:49 +0000 (12:47 -0700)]
TAG allmydata-tahoe-0.7.0
robk-tahoe [Tue, 8 Jan 2008 19:36:14 +0000 (12:36 -0700)]
fix webish unit tests by making node.url file optional
Brian Warner [Tue, 8 Jan 2008 00:46:22 +0000 (17:46 -0700)]
test_system: assert that BASEDIR/node.url is created properly
robk-tahoe [Tue, 8 Jan 2008 01:04:56 +0000 (18:04 -0700)]
reinstate creation of node.url files upon startup
a recent purge of the start.html code also took away the logic that wrote
'node.url' into the node root. this is required for the tahoe cli tool to
find the node. this puts back a limited fraction of that code, so that the
node writes out a node.url file upon startup.
robk-tahoe [Tue, 8 Jan 2008 00:50:20 +0000 (17:50 -0700)]
short note about building cryptopp under cywin/native on win
robk-tahoe [Mon, 7 Jan 2008 22:35:45 +0000 (15:35 -0700)]
add a note to README.win32 about building cryptopp etc on cygwin
nejucomo [Tue, 8 Jan 2008 18:33:26 +0000 (11:33 -0700)]
Make the purpose and location of the tahoe executable more explicit in install.html.
Zooko O'Whielacronx [Tue, 8 Jan 2008 18:45:00 +0000 (11:45 -0700)]
setup: update licensing information in setup.py comments and metadata
Zooko O'Whielacronx [Tue, 8 Jan 2008 18:44:07 +0000 (11:44 -0700)]
docs: update configuration.txt to mention the private subdir and edit the description of webport
Zooko O'Whielacronx [Tue, 8 Jan 2008 18:38:48 +0000 (11:38 -0700)]
docs: fix hyperlinks from install.html to the Win32 and Cygwin notes
Zooko O'Whielacronx [Tue, 8 Jan 2008 18:23:45 +0000 (11:23 -0700)]
docs: update the example link in using.html
Zooko O'Whielacronx [Tue, 8 Jan 2008 18:15:06 +0000 (11:15 -0700)]
direct the user to docs/write_coordination.html in case of an UncoordinatedWriteError
Zooko O'Whielacronx [Tue, 8 Jan 2008 18:03:29 +0000 (11:03 -0700)]
docs: make it so that people will stop experiencing build failure due to g++ not being installed
Zooko O'Whielacronx [Tue, 8 Jan 2008 18:01:44 +0000 (11:01 -0700)]
docs: relnotes for 0.7.0
Zooko O'Whielacronx [Tue, 8 Jan 2008 17:54:17 +0000 (10:54 -0700)]
CREDITS for nejucomo
Brian Warner [Tue, 8 Jan 2008 00:32:45 +0000 (17:32 -0700)]
util.log: add levels like UNUSUAL
Brian Warner [Tue, 8 Jan 2008 00:09:16 +0000 (17:09 -0700)]
mutable: improve logging: mark events with level=log.WEIRD and log.UNUSUAL
Brian Warner [Mon, 7 Jan 2008 21:48:05 +0000 (14:48 -0700)]
mutable.py: update comment about uncoordinated writes appearing as not-enough-peers(unable to get privkey) errors
Zooko O'Whielacronx [Tue, 8 Jan 2008 17:51:01 +0000 (10:51 -0700)]
setup: update in-line doc of get-version.py
Zooko O'Whielacronx [Tue, 8 Jan 2008 17:50:25 +0000 (10:50 -0700)]
docs: add not to dirnode.txt that it is obsolete
Zooko O'Whielacronx [Tue, 8 Jan 2008 17:41:27 +0000 (10:41 -0700)]
rename "dir-uri" to "dir-cap"
Zooko O'Whielacronx [Tue, 8 Jan 2008 17:40:35 +0000 (10:40 -0700)]
tahoe-fuse: print out helpful error messages if the caller didn't give the right context
Zooko O'Whielacronx [Tue, 8 Jan 2008 17:39:49 +0000 (10:39 -0700)]
setup: fix it to direct the user to install.html in case of build failure