Commit Graph

2044 Commits

Author SHA1 Message Date
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
Brian Warner
6ca0efeef6 add 'tahoe dump-cap' command, to show storage index, lease secrets, etc 2008-01-14 13:43:25 -07:00
Brian Warner
76ee9cccfe storage: improve logging a bit 2008-01-14 11:58:58 -07:00
Zooko O'Whielacronx
88c93469ff setup: add darcsver-1.0.1.tar to misc/dependencies/ 2008-01-16 14:08:26 -07:00
Zooko O'Whielacronx
676ded6a7e tests: put back skipped and todo tests
closes #258 -- "put back skipped and todo tests"
2008-01-14 21:02:41 -07:00
Zooko O'Whielacronx
4cfd695002 setup: fix name of setup script again 2008-01-11 18:46:03 -07:00
Zooko O'Whielacronx
54e8f430b8 setup: fix name of setup script 2008-01-11 18:44:48 -07:00
Zooko O'Whielacronx
4bb75db568 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.
2008-01-11 18:40:43 -07:00
Zooko O'Whielacronx
6a6d198e1d setup: if the build fails, make returns a failure exit code 2008-01-11 14:43:31 -07:00
Brian Warner
964edadf44 offloaded: add a system test, make it pass. files are now being uploaded through the helper. 2008-01-11 05:42:55 -07:00
Brian Warner
08f9c3f2ab offloaded.py: hush pyflakes 2008-01-11 05:05:14 -07:00
Brian Warner
6ac01fde4c offloaded: more test coverage on client side, change interfaces a bit 2008-01-11 04:53:37 -07:00
Brian Warner
db5f58f9d5 docs/mutable-DSA.txt: update mutable.txt to reflect our proposed DSA-based mutable file scheme (#217) 2008-01-11 04:30:58 -07:00
Brian Warner
11179bb7d7 test_mutable.py: accomodate changes to mutable.py logging 2008-01-10 22:18:34 -07:00
Brian Warner
689c71f946 mutable.py: log more information during publish, specifically the sharemap, and the reason for an UncoordinatedWriteError 2008-01-10 22:16:23 -07:00
Brian Warner
0af1a9e1c5 Makefile: add new misc/dependencies/ litter to the 'clean' target 2008-01-10 20:24:44 -07:00
Brian Warner
45e61094a1 .darcs-boringfile: update to match misc/dependencies setup.py changes 2008-01-10 20:21:10 -07:00
Brian Warner
16e2b3307a build-deps-setup.py: import twisted early, to make setuptools on dapper use the right version 2008-01-10 20:15:02 -07:00
robk-tahoe
198f593cad fix dumb typo in tahoe run 2008-01-10 20:14:00 -07:00
robk-tahoe
0b097ac485 change default node-directory on windows to do registry lookup, not ~/.tahoe 2008-01-10 19:32:18 -07:00
robk-tahoe
fbf6c48ed8 move registry module into allmydata.windows package 2008-01-10 19:03:23 -07:00
robk-tahoe
7ecbc3a8f2 remove some vestigial cruft from tahoesvc 2008-01-10 15:52:04 -07:00
robk-tahoe
0307f29d7f add files from allmydata/web to py2exe distribution
when building the py2exe package, glob src/allmydata/web/* into web/ within the dist
2008-01-10 15:34:46 -07:00
robk-tahoe
4cc99ce3b1 fix a couple of typos in tahoesvc startup 2008-01-10 15:30:31 -07:00
robk-tahoe
ac5f7cf7aa 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.
2008-01-10 15:26:19 -07:00
robk-tahoe
9ed5533760 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.
2008-01-10 15:23:41 -07:00
robk-tahoe
38ff96b2f8 resolve makefile conflicts
and surpress echo of echoes
2008-01-09 21:21:15 -07:00
robk-tahoe
8f4f3bf6cc 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.
2008-01-09 19:54:12 -07:00
robk-tahoe
330f84758e 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.
2008-01-09 19:25:38 -07:00