Commit Graph

236 Commits

Author SHA1 Message Date
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