Zooko O'Whielacronx
eaed7a0690
setup: use setuptools (if it is present) at run-time to give a specific error message on startup if a too-old version of a dependency is installed
2008-01-22 17:42:54 -07:00
Zooko O'Whielacronx
5188929e72
setup: remove the hatch-eggs make script since the setup.cfg accomplishes it, and make windows-exe depend on .built
2008-01-22 13:47:48 -07:00
Zooko O'Whielacronx
84289b2446
setup: update some docs, metadata, and docstrings
2008-01-22 10:22:51 -07:00
Zooko O'Whielacronx
c740da9b6d
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.
2008-01-22 09:35:54 -07:00
Zooko O'Whielacronx
1f2e3fc912
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 .
2008-01-22 08:35:38 -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
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
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
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
0af1a9e1c5
Makefile: add new misc/dependencies/ litter to the 'clean' target
2008-01-10 20:24:44 -07:00
robk-tahoe
38ff96b2f8
resolve makefile conflicts
...
and surpress echo of echoes
2008-01-09 21:21:15 -07:00
robk-tahoe
33715f3ba3
add windows-exe target to makefile
2008-01-09 19:06:28 -07:00
robk-tahoe
2585908296
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.
2008-01-09 19:02:53 -07:00
Brian Warner
bc67f94546
Makefile: pyflakes: the newest pyflakes is more picky, more verbose, and prints the same message multiple times
2008-01-09 20:23:12 -07:00
Zooko O'Whielacronx
ab03cbee25
setup: fix it to direct the user to install.html in case of build failure
2008-01-08 10:39:49 -07:00
Zooko O'Whielacronx
e3af9ecef4
setup: direct user to doc/install.html if the build fails
2008-01-07 17:23:02 -07:00
Brian Warner
d32f210917
Makefile: don't run darcsver if we already have _version.py. Ought to fix building on non-darcs checkouts, and close #257
2008-01-04 17:25:46 -07:00
Brian Warner
65a8a8c405
Makefile: run 'make-version' at least once, in the 'build' target, to make sure we populate src/allmydata/_version.py
2008-01-03 14:33:33 -07:00
Zooko O'Whielacronx
5242e25c61
setup: add back "build-deps" as an alias for "build-auto-deps" since I don't know how to configure the buildmaster
...
And I am very tired.
2008-01-01 01:58:02 -07:00
Zooko O'Whielacronx
70be8d6a8a
setup: rename build-deps to build-auto-deps
2008-01-01 01:49:21 -07:00
Zooko O'Whielacronx
f18a6167ca
setup: "make" now defaults to "simple-build", which depends on build-deps
...
This is for conformance with the simple new install.html. People who don't want build-deps can run "make build".
2008-01-01 00:44:30 -07:00
Zooko O'Whielacronx
7326b8bae0
setup: clean up darcsver egg on "make clean"
2007-12-31 23:58:25 -07:00
Zooko O'Whielacronx
2755f28e76
setup: use darcsver instead of pyutil for darcsver, use setup.py plugin instead of executable for darcsver
...
This hopefully fixes the deb builders.
2007-12-31 23:28:31 -07:00
Zooko O'Whielacronx
0eb31774d1
docs: a bunch of updates to simplify the process of installing from source and running Tahoe
...
These changes are a work-in-progress -- there are many incomplete and incorrect parts, but the install.html and running.html files
are complete and should work (and they are delightfully concise!). I'm pushing this just to let people see incremental progress
and to solicit feedback. "Testing out" the install.html and running.html files and submitting patches or bug reports would be
quite welcome.
More to come.
2007-12-30 05:47:17 -07:00
Brian Warner
5bd89b378b
Makefile: put an existing PYTHONPATH in front of our generated EGGSPATH, to make it easier to test tahoe against development versions of dependent libraries
2007-12-24 17:21:53 -07:00
Zooko O'Whielacronx
2de4c07d76
setup: allow shell built-ins "true" and "false" so that I can experiment with deb builders on an OSX box. ;-)
2007-12-22 11:50:10 -07:00
Zooko O'Whielacronx
4a11c320f7
setup: small tidy-up of Make rules
2007-12-22 10:46:31 -07:00
Zooko O'Whielacronx
cbd6881a47
setup: remove misc/make-version.py and invoke "darcsver" from the pyutil library
...
misc/make-version.py has a limitation which prevents it from generating version
stamps from our current darcs history. This limitation has been fixed in
pyutil's "darcsver". Rather than copy the fix from there to
misc/make-version.py, I'm making it so that you have to install pyutil if you
want to automatically generate _version.py files from the current darcs
history.
2007-12-20 18:17:55 -07:00
Brian Warner
f3a3548d02
Makefile check-speed: force-quit any leftover client before starting a new test
2007-12-14 02:04:25 -07:00
Zooko O'Whielacronx
1ac09840a4
a few documentation and naming convention updates
...
Notable: the argument to make REPORTER has been renamed to TRIALARGS.
2007-12-12 19:34:08 -07:00
Zooko O'Whielacronx
2eeac5cff8
setup: make dependency failures more helpful (thanks to Priyanka)
2007-11-20 00:07:44 -07:00
Zooko O'Whielacronx
41cd3011ac
setup: pass INCLUDE_DIRS and LIBRARY_DIRS variables, if any to setup.py from Makefile
2007-11-13 20:16:59 -07:00
Zooko O'Whielacronx
a2edc7bdf2
setup: fix formatting of error messages from makefile
2007-11-09 13:13:39 -07:00
Brian Warner
22d386292b
Makefile: check-deps: check for pycryptopp
2007-11-07 19:50:46 -07:00
Brian Warner
1e8a693512
Makefile: add 'find-trailing-spaces' tool and target
2007-11-05 21:32:08 -07:00
Brian Warner
b70bda01f1
Makefile: add simple 'repl' target to start a python interpreter with a useful PYTHONPATH
2007-11-02 22:32:55 -07:00
Brian Warner
c6bbe74f59
Makefile: add ubuntu 'gutsy' as a .deb target
2007-10-17 13:35:11 -07:00
Brian Warner
1e04ad4720
Makefile: define TRIALCMD with '=' not ':=', to fix make-clean test. Closes #180
2007-10-15 15:01:59 -07:00
Zooko O'Whielacronx
bf3f629a68
setup: use the new find_exe module to find trial
2007-10-15 11:52:26 -07:00
Zooko O'Whielacronx
a25ef2f031
setup: remove an explanation from the top of the Makefile now that the topic is addresses in the README
2007-10-14 20:03:32 -07:00
Brian Warner
1c7f52265f
deb: add docs/* to the debian package
2007-10-11 14:37:29 -07:00
Brian Warner
dc573554c8
rename bin/allmydata-tahoe to bin/tahoe. Closes #155 .
2007-10-11 03:38:24 -07:00
Zooko O'Whielacronx
2b6951bf20
setup: we needn't depend on make-version targets because setup.py always attempts to make a version whenever it is executed
2007-10-04 14:14:48 -07:00
Zooko O'Whielacronx
2ed8a272ed
setup: attempt to work-around the problem that paths might end with trailing back-slashes (on Windows) by appending a PATHSEP (i.e. ":" or ";") instead of an OSSEP (i.e. "/" or "\")
...
I don't know what will happen if the path ends up with something like
"C:\Programs and Files\Whatever\;" on Windows, and then that gets passed to
cygwin bash. This reminds me of Brian's suggestion to use Python helper
scripts (c.f. misc/find-dep-eggs.py) instead of writing this stuff in the
GNUmake language. And *that* reminds me of the idea of writing the whole damn
thing in Python instead of in GNUmake, i.e. make all of our build tools be
plugins for setuptools instead of being GNUmake targets.
2007-10-04 14:11:16 -07:00
Zooko O'Whielacronx
fe899da1b0
setup: formatting of dependency-missing errors
2007-09-21 14:40:12 -07:00
Zooko O'Whielacronx
7e1b67cf2e
setup: check for the pywin32 dep only on Windows
2007-09-21 14:11:16 -07:00
Zooko O'Whielacronx
aff7e8d436
setup: alas, pywin32 doesn't actually work as an easy_install; also make dependency missing errors more useful
2007-09-21 13:40:28 -07:00
Brian Warner
1fe6575385
Makefile: check-speed: leave the client node stopped when we're done
2007-09-20 19:03:16 -07:00
Brian Warner
2632c0ad8c
check_speed: upload multiple files, measure Ax+B
2007-09-20 16:55:33 -07:00
Zooko O'Whielacronx
1e8fc6cffd
Makefile: attempt to workaround problem caused by workaround for backslashes glomming onto the following double-quote. ...
2007-09-20 17:02:54 -07:00
Zooko O'Whielacronx
60573a2917
Makefile: end PYTHONPATH with "." because the string might end with "\", which will cause shell to later escape whatever character comes after the string
2007-09-19 20:26:54 -07:00
Brian Warner
f6be35e122
started framework for an automated speed-checking tool. Doesn't do much yet.
2007-09-19 18:27:47 -07:00
Brian Warner
7e4090edfb
Makefile: fix and-vs-or bug in check-deps, hide errmsg in non-failing cases
2007-09-19 16:23:55 -07:00
Zooko O'Whielacronx
95067ae522
Makefile: give explicit failure message to user if dependencies aren't found
2007-09-19 17:04:36 -07:00
Brian Warner
53c9594f52
Makefile: check-memory: run mode=receive along with everything else
2007-09-19 20:39:17 -07:00
Brian Warner
bede39a156
check-memory: add 'receive' mode, for #97 (consumption during share receive
2007-09-19 12:59:32 -07:00
Brian Warner
af4d706b18
Makefile: check-memory-once: add a convenience target for focussed testing
2007-09-19 12:29:16 -07:00
Brian Warner
a97cd074ff
Makefile: use .built to only require one tahoe-compile pass
2007-09-19 12:28:30 -07:00
Brian Warner
08cc32bb77
check_memory: add download-GET-slow, to simulate memory usage of a node feeding downloaded data via HTTP GET to a slow client
2007-09-18 20:35:27 -07:00
Brian Warner
f6acf5a0c3
check_memory: add download, download-GET
2007-09-18 18:56:05 -07:00
Brian Warner
941d1551a0
Makefile: figleaf2el.py needs PYTHONPATH to get allmydata.util
2007-09-17 01:10:27 -07:00
Brian Warner
9a2b8a860c
Makefile: don't re-check dependencies on each test run, and fix clean target
2007-09-15 15:17:55 -07:00
Brian Warner
1f383b624b
Makefile: clean: remove _trial_temp/ and _test_memory/ too
2007-09-15 13:55:59 -07:00
Brian Warner
b4a13b903c
Makefile: check_memory.py now manages the combined stats.out itself
2007-09-15 13:53:36 -07:00
Brian Warner
4ee9f1b7df
Makefile: insert a linebreak after use of PP, since it is long and obscures the real command
2007-09-15 12:32:11 -07:00
Brian Warner
228a576a3f
Makefile: use absolute path to src/ in PP, since check-memory needs it (it chdirs then imports allmydata)
2007-09-14 20:17:43 -07:00
Brian Warner
a4b00a6b2c
Makefile build-deps: use a fake package named 'tahoe-deps', to avoid a double-build of tahoe
2007-09-14 19:23:55 -07:00
Brian Warner
afa03e875d
Makefile: use --reactor=poll on cygwin, since select() is insufficient
2007-09-14 03:33:44 -07:00
Brian Warner
33dc673389
Makefile: improve 'clean' behavior: rm ez_setup leftovers, ignore _version.py
...
in the test-clean target
2007-09-14 03:28:56 -07:00
Zooko O'Whielacronx
6acbffbecf
Makefile: don't attempt to run trial tests if the dependencies can't be imported
2007-09-13 19:12:55 -07:00
Zooko O'Whielacronx
092917ba49
Makefile: prepend src/ to the PYTHONPATH
2007-09-13 19:43:15 -07:00
Zooko O'Whielacronx
771485dc94
re-port Makefile to Windows and remove a bunch of no-longer-needed hacks
2007-09-13 18:20:35 -07:00
Zooko O'Whielacronx
75628f98bd
Makefile: add suggestion about how to use the distutils config file to select mingw32 compiler
2007-09-13 18:20:00 -07:00
Zooko O'Whielacronx
73826c5cc9
fix Makefile not to assume that ":" is the PYTHONPATH separator
...
(It is ";" on Windows.)
2007-09-13 15:37:34 -07:00
Zooko O'Whielacronx
31609aa98f
Makefile: re-order targets and let user's PYTHONPATH be included in the PP
2007-09-12 18:56:33 -07:00
Brian Warner
b75276af00
packaging: add 'build-deps' target, to automatically build and install (locally, in ./support) necessary dependencies. All such installed files are used during tests.
2007-09-12 16:48:45 -07:00
Brian Warner
1c27cc3ea8
packaging: move to setuptools
2007-09-12 16:02:53 -07:00
Brian Warner
5fd4bf3aad
Makefile: oops, fix clean-simplejson target. Might fix #10 .
2007-08-17 23:50:37 -07:00
Brian Warner
fbc9929d73
Makefile: improve 'clean' behavior even more, maybe even completely.
...
Now we remove downloaded setuptools-*.egg files, and *.egg-info directories
2007-08-17 23:45:14 -07:00
Brian Warner
05dc85025f
Makefile: improve 'clean' behavior by removing foolscap .pycs and _version.py
2007-08-17 23:38:00 -07:00
wilcoxjg
b32a0d10ca
changed MakeFile comment to clarify what "test.test_introducer" means
2007-08-09 15:26:27 -07:00
Brian Warner
55a9591540
Makefile: fix race condition in test-clean that caused occasional failures
2007-08-21 21:28:51 -07:00
Brian Warner
1df66afbcf
Makefile: stop producing foolscap .debs
2007-08-21 14:01:01 -07:00
Brian Warner
8088044bf3
Makefile: use a different rm *.so command for the 'clean' target
2007-08-15 15:28:12 -07:00
Zooko O'Whielacronx
938dd97e63
Makefile: more portable way to make clean succeed when there's nothing to rm
...
xargs doesn't have a "-r" option on Mac OS X.
2007-08-15 14:18:51 -07:00
Brian Warner
a0b48c8354
Makefile: fix 'clean' target to work even if there's nothing to clean
2007-08-14 14:24:48 -07:00
Brian Warner
b7703df6a5
remove PyCrypto, copy AES/SHA256/Util.number into the allmydata/ tree
2007-08-14 13:57:41 -07:00
Zooko O'Whielacronx
094b687d6e
import version class and make-version script from pyutil -- fixes win32 build, improves error handling, and eliminates unused features
2007-08-16 14:09:30 -07:00
Brian Warner
8e12cc83df
Makefile: add build_ext target, for convenience
2007-08-15 17:47:10 -07:00
Brian Warner
17d776fd07
Makefile: add 'upload-self' pass to check-memory
2007-08-10 01:41:34 -07:00
wilcoxjg
4490d0b723
changed MakeFile to install simplejson
2007-08-08 20:41:26 -07:00
tahoe
2635cd15b1
add install target, works at lest on sudo-free cygwin
2007-07-31 16:55:45 -07:00
Brian Warner
2aff1ccd44
Makefile/check-memory: put all stats in ./memstats.out
2007-07-17 10:41:41 -07:00
Brian Warner
d927d371b7
check_memory.py: test POST-based uploads as well as from-disk ones
2007-07-16 20:17:51 -07:00
Brian Warner
b2f13d2635
cease producing .debs for dapper, since they'd depend upon a library (simplejson) that isn't packaged for dapper. Feisty++ are fine. Dapper users are encouraged to build from source.
2007-07-11 14:31:04 -07:00
Brian Warner
92b4ee1ab5
Makefile: factor out deb-foolscap-ARCH to a separate target
2007-07-11 14:00:47 -07:00
Brian Warner
db75139340
Makefile: make it clear that it requires GNU Make
2007-07-11 13:39:55 -07:00
Brian Warner
25e952cd14
rename GNUmakefile to Makefile: I've mis-typed the name one too many times
2007-07-11 13:34:16 -07:00
Zooko O'Whielacronx
01502ce665
port the makefile to Windows and update the README
2007-04-04 11:18:38 -07:00
Brian Warner
9fc59527ab
first attempt at adding debian packaging support for ubuntu 'feisty'
2007-03-29 14:36:15 -07:00
Brian Warner
1e25c9e897
start work on a memory-measuring test tool
2007-03-08 18:12:24 -07:00
Brian Warner
155d64ba6d
add test-pyfec target, not added to the main 'test' target because it adds 20 seconds to the test run
2007-03-08 17:54:38 -07:00
Brian Warner
6ed47080c8
Makefile: add an upload-figleaf target, rather than having the buildbot create the rsync command itself
2007-03-08 15:28:13 -07:00
Brian Warner
0d31acf113
Makefile: update figleaf code to use INSTDIR instead of now-obsolete builddir.py
2007-03-05 19:46:06 -07:00
Brian Warner
04bbcb01a4
dummy line to show off buildbot
2007-02-02 16:45:45 -07:00
Zooko O'Whielacronx
82a0cd6615
fix purely syntactic merge conflict
2007-02-01 16:07:07 -07:00
Zooko O'Whielacronx
d407e4f606
"make clean" recursively runs cleanup in subprojects (pyfec and Crypto)
2007-02-01 15:49:52 -07:00
Brian Warner
190e3ab46d
Makefile: $(PWD) doesn't always work, in particular the buildslaves don't
...
update environment variables like $(PWD) when the launch commands.
2007-02-01 03:39:13 -07:00
Brian Warner
56604200a7
Makefile: parameterize 'trial' and 'python' to enable a python2.5 builder
2007-01-31 19:12:33 -07:00
Brian Warner
fb134d82f9
Makefile: count-lines: ignore build/* files, also add total number of .py files
2007-01-30 18:10:37 -07:00
Zooko O'Whielacronx
c32bfe981f
cleanup new "instdir" on "make clean"
2007-01-30 16:32:52 -07:00
Zooko O'Whielacronx
22e9e2eb0b
change build system to use subpackages pristinely and ask them to install themselves into an "instdir"
2007-01-30 14:57:59 -07:00
Brian Warner
3c1bfbe746
Makefile: add target to count lines of code and TODOs
2007-01-22 01:17:39 -07:00
Brian Warner
9c6d190190
Makefile: use absolute paths when setting PYTHONPATH
2007-01-16 21:02:00 -07:00
Brian Warner
aefe54574f
figleaf.el: when converting to the elisp-readable format, use our in-tree version of figleaf rather than one found on the system. Also change the keybinding to toggle annotations to C-cC-a, which is easier to type
2007-01-08 21:29:03 -07:00
Brian Warner
4311b68420
figleaf: delete coverage file (.figleaf) before each test run, otherwise I suspect coverage data will accumulate from one test run to the next
2007-01-08 21:28:08 -07:00
Brian Warner
4ea70b2524
Makefile: add a default target to just build the tree
2007-01-07 13:09:37 -07:00
Brian Warner
3252f2c317
debian: give incrementing version numbers to .deb packages, using timestamps
2007-01-05 20:06:51 -07:00
Brian Warner
42c0d2e336
disable figleaf tracing during py_ecc, since it takes *forever*, especially on the slow buildslave
2007-01-05 18:12:04 -07:00
Brian Warner
0fd032956d
more figleaf emacs work: enable the minor mode, then type C-cA to toggle annotations
2007-01-04 01:25:36 -07:00
Brian Warner
8a78065f16
modify figleaf2html to show module names instead of .py filenames, also add a --root argument to restrict coverage to a specific parent directory
2007-01-03 22:23:25 -07:00
Brian Warner
e8ee3365ef
move figleaf2html and figleaf_htmlizer.py into our tree, for easier customization
2007-01-03 22:06:51 -07:00
Brian Warner
f97eec893e
figleaf: move a copy into allmydata.util.figleaf, update Makefile/trial stuff
2007-01-03 21:38:29 -07:00
Brian Warner
8a858f745d
Makefile: fix location of figleaf.excludes
2006-12-14 04:16:43 -07:00
Brian Warner
7574177c3b
Makefile: allow 'make test TEST=something.else'
2006-12-14 04:13:29 -07:00
Brian Warner
74c6608f72
Makefile: improve 'clean' target to remove debian/ symlink too
2006-12-14 04:08:09 -07:00
Brian Warner
777c7d7cde
Makefile: add pyflakes target, only covering allmydata code (not pycrypto)
2006-12-14 04:05:22 -07:00
Brian Warner
07fd8766d1
Makefile: add correct generated build/lib.linux-i686-2.4 directory to PYTHONPATH for tests
2006-12-14 03:59:51 -07:00
Brian Warner
36e340b9e0
add figleaf-output target
2006-12-06 19:24:02 -07:00
Brian Warner
e5ba7f15d9
tests: add support for figleaf code-coverage gathering
2006-12-06 15:26:12 -07:00
Brian Warner
266127a4f0
add preliminary debian packaging
2006-12-05 02:00:44 -07:00
Brian Warner
dd212c09e1
initial file-table support, VirtualDrive service, rearrange Storage somewhat
2006-12-03 19:07:41 -07:00
Rob Kinninmont
9582494e28
added run-client2 target to makefile
2006-11-30 19:51:19 -07:00
Rob Kinninmont
d0fd8ddc8a
added create_dirs makefile target to create initial dirs
2006-11-30 17:16:06 -07:00
Brian Warner
cc814ade3f
create a Makefile to drive things
2006-11-30 15:40:05 -07:00