Commit Graph

312 Commits

Author SHA1 Message Date
Brian Warner
5a1463d587 Makefile count-lines: let it work on OS-X (-l not --lines), add XXX
OS-X's simple-minded /usr/bin/wc doesn't understand --lines, but everyone
understands -l .
2011-11-09 10:42:27 -08:00
david-sarah
be1c94893f Add misc/coding_tools/check-miscaptures.py to detect incorrect captures of variables declared in a for loop, and a 'make check-miscaptures' Makefile target to run it. (It is also run by 'make code-checks'.) This is a rewritten version that reports much fewer false positives, by determining captured variables more accurately. fixes #1555 2011-10-07 07:41:21 +00:00
david-sarah
0d0bbbbe0a Makefile: include misc/ directories other than misc/build_helpers in SOURCES. refs #1557 2011-10-07 03:29:58 +00:00
Brian Warner
0a9d6e1db0 Makefile/upload-tarballs: remove bash-ism in shell conditional
The "[" command is defined to accept "=" as an is-equal test. Bash extends
this to accept "==" too, but normal /bin/sh does not. I think this command
was developed on a box where /bin/sh is bash, but on standard ubuntu boxes,
/bin/sh is a smaller+faster non-Bash shell, and this gave "[: 1: X:
unexpected operator" errors.
2011-10-30 17:47:21 -07:00
Brian Warner
a0432a4ec5 tahoe-lafs.org is now HTTPS-always. Update most URLs. 2011-10-29 18:39:46 +00:00
david-sarah
417054aaba Add a script 'misc/coding_tools/check-interfaces.py' that checks whether zope interfaces are enforced. Also add 'check-interfaces', 'version-and-path', and 'code-checks' targets to the Makefile. fixes #1474 2011-09-15 09:15:32 -07:00
david-sarah
16e6bb2b73 Makefile and setup.py: remove setup.py commands that we no longer need, and their uses in the Makefile. Delete a stale and incorrect comment about updating _version.py. Also fix some coding style checks in the Makefile to operate on all source files. 2011-07-31 20:19:52 -07:00
david-sarah
4d58e7cef9 Makefile: remove targets that used misc/debian[_helpers] which no longer exist. Also change docs/debian.rst to reflect the fact that we no longer support building .debs using those targets. refs #1454 2011-07-31 20:18:57 -07:00
Brian Warner
884df6f1d4 'test-coverage' now needs PYTHONPATH=. to find TOP/twisted/plugins/ 2011-08-01 21:19:52 -07:00
Zooko O'Whielacronx
4f8e3e5ae8 contrib: remove the contributed fuse modules and the entire contrib/ directory, which is now empty
Also remove a couple of vestigial references to figleaf, which is long gone.
fixes #1409 (remove contrib/fuse)
2011-07-12 08:32:29 -07:00
david-sarah
a8c5734e72 Makefile: remove targets relating to 'setup.py check_auto_deps' which no longer exists. fixes #1345 2011-06-25 22:41:24 -07:00
david-sarah
082731f45b Makefile: add 'make check' as an alias for 'make test'. Also remove an unnecessary dependency of 'test' on 'build' and 'src/allmydata/_version.py'. fixes #1344 2011-06-23 13:55:28 -07:00
Zooko O'Whielacronx
299e8ad579 replace remaining .html docs with .rst docs
Remove install.html (long since deprecated).
Also replace some obsolete references to install.html with references to quickstart.rst.
Fix some broken internal references within docs/historical/historical_known_issues.txt.
Thanks to Ravi Pinjala and Patrick McDonald.
refs #1227
2011-05-10 12:16:50 -07:00
Zooko O'Whielacronx
c1ec785b48 docs: edit running.html, change "http://allmydata.org" to "http://tahoe-lafs.org" in NEWS and README.txt, add Josh Wilcox to CREDITS for his contribution of doc patches 2011-01-28 07:07:00 -08:00
david-sarah
3c161c9a96 Makefile, setup.py: add more source files to pyflakes target and fix their warnings. 2011-01-21 18:07:52 -08:00
david-sarah
a008c79762 Makefile: remove stale commented-out targets for figleaf. 2011-01-21 17:55:25 -08:00
david-sarah
8f4ae53f39 Makefile: remove a stale comment about a bug fixed in Tahoe v1.3.0. refs #455 2011-01-21 17:45:44 -08:00
david-sarah
06e0d13451 Apply pyflakes to more files and fix the resulting warnings. 2011-01-20 18:10:11 -08:00
david-sarah
d4969259c6 Makefile: consistently use TAHOE macro to run bin/tahoe. Use '$(TAHOE) debug repl' instead of $(RUNPP) -p. refs #1296 2011-01-19 15:44:29 -08:00
david-sarah
9ea323db4c Makefile: consistently use 'tahoe debug trial' to run tests. refs #1296 2011-01-19 15:37:37 -08:00
david-sarah
35deaf62b4 Makefile: update 'make clean' to delete the setuptools_trial egg(s). 2011-01-18 18:50:53 -08:00
david-sarah
c67f29ac5d Makefile: update 'make clean' to avoid deleting the setuptools_darcs egg. 2011-01-18 18:19:58 -08:00
david-sarah
21f678527e Makefile: allow tarball upload when either BB_BRANCH=='trunk' or BB_BRANCH==''. 2011-01-15 13:22:11 -08:00
david-sarah
3bd1232729 Makefile: Fix uploading of tarballs on trunk builds. 2011-01-08 22:58:51 -08:00
david-sarah
003e7fd06b Makefile: update 'clean' target for files in bin/ 2011-01-02 21:27:38 -08:00
david-sarah
3132c9b593 Remove unmaintained Windows GUI app, except for windows/tahoesvc.py which is moved to src/allmydata/windows. refs #1282 2010-12-25 20:02:37 -08:00
david-sarah
2182c9084e Remove the Makefile targets relating to the Mac GUI app. refs #1282 2010-12-25 18:58:59 -08:00
david-sarah
882e097065 Makefile: BB_BRANCH is set to the empty string for trunk, not the string 'trunk'. 2010-11-28 15:35:12 -08:00
Brian Warner
1f0e2574cc update Makefile and coverage2el.py to coverage-3.4
It might still work with coverage-3.3 if you run with COVERAGE_OMIT=""
2010-11-25 12:38:32 -08:00
Zooko O'Whielacronx
0c6bb0178b setup: use execfile to access _auto_deps.py in its proper location of src/allmydata/ instead of copying it into place when setup.py is executed 2010-09-05 22:57:14 -07:00
Brian Warner
818089644a coverage tools: ignore errors, display lines-uncovered in elisp mode. Fix Makefile paths. 2010-08-04 00:11:31 -07:00
Brian Warner
8cd44b1baa check-umids: new tool to check uniqueness of umids 2010-08-04 00:10:42 -07:00
Zooko O'Whielacronx
f5917cd6b8 setup: in the Makefile, refuse to upload tarballs unless someone has passed the environment variable "BB_BRANCH" with value "trunk" 2010-06-18 20:49:28 -07:00
Zooko O'Whielacronx
1fc6be28f4 setup: organize misc/ scripts and tools and remove obsolete ones
This is for ticket #1068.
2010-06-06 22:16:18 -07:00
Zooko O'Whielacronx
3f55a720ec setup: adjust make clean target to ignore our bundled build tools 2010-06-03 22:12:50 -07:00
Zooko O'Whielacronx
ba8f0c27f0 setup: upgrade bundled zetuptoolz to zetuptoolz-0.6c15dev and make it unpacked and directly loaded by setup.py
Also fix the relevant "make clean" target behavior.
2010-05-23 13:52:28 -07:00
Zooko O'Whielacronx
9df55324ba tests: pass z to tar so that BSD tar will know to ungzip 2010-05-04 02:06:28 -07:00
Brian Warner
880f824103 code coverage: replace figleaf with coverage.py, should work on py2.6 now.
It still lacks the right HTML report (the builtin report is very pretty, but
lacks the "lines uncovered" numbers that I want), and the half-finished
delta-from-last-run measurements.
2010-02-03 08:54:21 -08:00
Brian Warner
eff82174d5 Makefile: upload-tarballs: switch from xfer-client to flappclient, closes #350
I've also set up a new flappserver on source@allmydata.org to receive the
tarballs. We still need to replace the gutsy buildslave (which is where the
tarballs used to be generated+uploaded) and give it the new FURL.
2009-12-27 11:37:03 -05:00
Zooko O'Whielacronx
4706859967 setup: ignore _darcs in the "test-clean" test and make the "clean" step remove all .egg's in the root dir 2009-12-06 10:48:35 -08:00
Brian Warner
131e05b155 clean up uri-vs-cap terminology, emphasize cap instances instead of URI strings
* "cap" means a python instance which encapsulates a filecap/dircap (uri.py)
 * "uri" means a string with a "URI:" prefix
 * FileNode instances are created with (and retain) a cap instance, and
   generate uri strings on demand
 * .get_cap/get_readcap/get_verifycap/get_repaircap return cap instances
 * .get_uri/get_readonly_uri return uri strings

* add filenode.download_to_filename() for control.py, should find a better way
* use MutableFileNode.init_from_cap, not .init_from_uri
* directory URI instances: use get_filenode_cap, not get_filenode_uri
* update/cleanup bench_dirnode.py to match, add Makefile target to run it
2009-11-11 14:26:19 -08:00
Brian Warner
7dc17aa078 new approach for debian packaging, sharing pieces across distributions. Still experimental, still only works for sid. 2009-08-18 12:05:27 -07:00
Brian Warner
24b1805ca0 new experimental deb-packaging rules. Only works for sid so far. 2009-08-17 18:40:52 -07:00
Brian Warner
d79b2a02b4 clean up debian packaging: we have control files for etch/lenny/sid, and
everything else uses one of those. Add dependency on python-pysqlite2 for
platforms that use py2.4 by default. Update foolscap dependency to 0.4.1.
2009-07-03 00:28:04 -07:00
Brian Warner
2100aef655 Makefile: add jaunty support, rearrange debian sections in order of release 2009-06-17 22:05:02 -07:00
Brian Warner
a0e3c586b2 fix quicktest: stop using setuptools, add misc/run-with-pythonpath.py, to make it run faster 2009-04-14 13:14:00 -07:00
Zooko O'Whielacronx
32c541cffc setup: create a "make deb-lenny-head" target
I made this patch by copying [20090305220021-92b7f-89d987c7d05306b5cb03a64f2956a652c10a7296] and changing the name from "intrepid" to "lenny".  I haven't tested it.
2009-03-06 13:10:57 -07:00
Zooko O'Whielacronx
e9199a89ab trivial: remove unused import detected by pyflakes, and remove trailing whitespace 2009-03-05 16:32:04 -07:00
Zooko O'Whielacronx
341c7aad83 setup: enable build of .debs for Ubuntu Intrepid, thanks to DarKNesS_WolF 2009-03-05 16:00:21 -07:00
Brian Warner
dc6fe89629 Makefile: minor, add .PHONY declarations 2009-02-13 01:23:41 -07:00
Brian Warner
666652ed84 Makefile: add figleaf-delta-output, to render figleaf coverage differences with a previous run 2009-02-12 15:18:29 -07:00
Brian Warner
020715c8e7 Makefile: include the figleaf pickle in the uploaded coverage data, for later differential analysis 2009-02-11 18:09:13 -07:00
Brian Warner
8fd9cbe351 Makefile: fix test-clean, by ignoring _appname.py and removing src/allmydata_tahoe.egg-info 2009-02-11 18:04:34 -07:00
Brian Warner
f0572421fe Makefile: fix 'clean' target to remove bin/tahoe and bin/tahoe-script.py, since both are now generated 2009-02-02 17:03:07 -07:00
Brian Warner
a6eb434b57 Makefile: use 'setup.py test' for test/quicktest targets (instead of
'setup.py trial'). 'setup.py trial' clobbers the tahoe .egg's PKG-INFO
"Version:" field (resetting it to 0.0.0), possibly because it isn't invoking
the darcsver subcommand that 'setup.py test' does before it runs the 'trial'
subcommand.

This slows down quicktest by another couple of seconds (see #591) and adds
more noise to its output, but without this change, 'make test' and 'make
quicktest' fail on test_runner (which spawns bin/tahoe as a subprocess, and
with a mangled Version:, the setuptools-based entry point script refuses to
recognize our source tree as a usable version of Tahoe).
2009-01-30 04:25:36 -07:00
Brian Warner
20ebfcc0c6 Makefile: remove the obsolete stats-gatherer-run target 2009-01-29 19:01:31 -07:00
Zooko O'Whielacronx
4e6c09d306 setup: remove the "build three times in a row" kludge now that #229 is fixed, and spell build "build" instead of "build_tahoe" 2009-01-29 13:59:52 -07:00
Brian Warner
66b8190fb1 rollback the #591 fix, since it breaks quicktest entirely 2009-01-23 17:28:12 -07:00
Zooko O'Whielacronx
2cf9505d5f setup: use "trial" executable instead of the setuptools_trial plugin for "make quicktest"
This is to fix #591 ("make quicktest" could be quicker and less noisy).  This means that "make quicktest" won't work unless the user has manually installed Twisted already such that the "trial" executable is on their PATH and the Twisted package is on their PYTHONPATH.  This bypasses the behavior of setuptools_trial which builds and checks package dependencies before executing the tests.
2009-01-23 16:58:30 -07:00
cgalvan
5cd6ed17fb use_setuptools_trial.patch 2008-11-21 14:57:59 -07:00
robk-tahoe
e1f7008e47 makefile: added 'fuse-test' target to makefile, to run 'runtests' 2008-10-19 06:25:18 -07:00
robk-tahoe
00aa75d1e8 fuse/impl_c: move mac tahoefuse impl out into contrib/fuse
For a variety of reasons, high amongst them the fact that many people 
interested in fuse support for tahoe seem to have missed its existence,
the existing fuse implementation for tahoe, previously 'mac/tahoefuse.py'
has been renamed and moved.

It was suggested that, even though the mac build depends upon it, that
the mac/tahoefuse implementation be moved into contrib/fuse along with
the other fuse implementations.  The fact that it's not as extensively
covered by unit tests as mainline tahoe was given as corroboration.

In a bid to try and stem the confusion inherent in having tahoe_fuse,
tfuse and tahoefuse jumbled together (not necessarily helped by 
referring to them as impl_a, b and c respectively) I'm hereby renaming
tahoefuse as 'blackmatch'  (black match is, per wikipedia "a type of 
crude fuse" hey, I'm a punny guy)  Maybe one day it'll be promoted to
be 'quickmatch' instead...

Anyway, this patch moves mac/tahoefuse.py out to contrib/fuse/impl_c/
as blackmatch.py, and makes appropriate changes to the mac build process
to transclude blackmatch therein.  this leaves the extant fuse.py and
fuseparts business in mac/ as-is and doesn't attempt to address such
issues in contrib/fuse/impl_c.

it is left as an exercise to the reader (or the reader of a message
to follow) as to how to deal with the 'fuse' python module on the mac.

as of this time, blackmatch should work on both mac and linux, and
passes the four extant tests in runtests.  (fwiw neither impl_a nor
impl_b have I managed to get working on the mac yet)

since blackmatch supports a read-write and caching fuse interface to
tahoe, some write tests obviously need to be added to runtests.
2008-09-24 18:42:14 -07:00
Brian Warner
050bee8fdc setup.py,Makefile: move the 'chmod +x bin/tahoe' into setup.py 2008-09-17 16:07:56 -07:00
Brian Warner
09603212ca Makefile,docs: tahoe-deps.tar.gz now lives in separate source/deps/ directory on http://allmydata.org 2008-09-17 13:44:52 -07:00
Brian Warner
749c5a95e0 setup.py,Makefile: teat sdist --sumo about tahoe-deps/, use -SUMO suffix on tarballs, add sumo to 'make tarballs' target 2008-09-17 13:01:19 -07:00
Brian Warner
880df93c8b Makefile: pyutil from a dependent lib causes a #455-ish problem, the workaround is to run build-once *three* times 2008-09-16 22:36:43 -07:00
Brian Warner
00debea3a9 Makefile: desert-island: don't re-fetch tahoe-deps.tar.gz if it's already there, remove the tahoe-deps/ before untarring directory to avoid unpacking weirdness 2008-09-16 22:22:04 -07:00
Brian Warner
1853020a5f #249: add 'test-desert-island', to assert that a tahoe-deps.tar.gz -enabled build does not download anything 2008-09-16 18:37:02 -07:00
Brian Warner
0afe7afac0 Makefile: fix windows issues 2008-09-11 22:09:19 -07:00
Brian Warner
3035c6bcf1 Makefile: use run_with_pythonpath, move windows targets into a separate Makefile 2008-09-11 21:45:08 -07:00
Brian Warner
5ca999fb72 Makefile: convert check-auto-deps target into 'setup.py check_auto_deps' 2008-09-11 20:59:04 -07:00
Brian Warner
39552404d7 rewrite parts of the Makefile in setup.py. Add 'build_tahoe' and 'trial' subcommands.
The 'make build' target now runs 'setup.py build_tahoe', which figures out
where the target 'supportlib' directory should go, and invokes 'setup.py
develop' with the appropriate arguments.

The 'make test' target now runs 'setup.py trial', which manages sys.path and
runs trial as a subroutine instead of spawning an external process. This
simplifies the case where Twisted was built as a dependent library (and thus
the 'trial' executable is not on PATH).

setup.py now manages sys.path and PYTHONPATH for its internal subcommands, so
the $(PP) prefix was removed from all Makefile targets that invoke setup.py .
For the remaining ones, the 'setup.py -q show_pythonpath' subcommand was
added to compute this prefix with python rather than with fragile
shell/Makefile syntax.
2008-09-11 18:03:21 -07:00
Brian Warner
ae6cc14a2d Makefile: give setup.py develop a '--site-dirs' arg to work around the #249 setuptools bug which causes us to unnecessarily rebuild pyopenssl and other support libs installed via debian's python-support. Should be harmless on other platforms. 2008-09-10 16:34:32 -07:00
Zooko O'Whielacronx
3fab96493e setup: don't assert that trial is present when the Makefile is evaluated
This should fix #506, but it means that if (for some weird reason) Twisted can't be auto-installed and the find_trial.py script doesn't work, the user will get a weird failure message instead of a clean failure message explaining that trial couldn't be found.  Oh well.

Chris Galvan is working on a much nicer fix to all these issues -- see #505.
2008-09-03 10:18:37 -07:00
Zooko O'Whielacronx
5786ddd36a setup: remove accidentally duplicated lines from Makefile 2008-08-07 12:30:29 -07:00
Brian Warner
c4405b529f Makefile: avoid bare quotes, since the emacs syntax-highlighter gets confused by them 2008-08-07 11:30:01 -07:00
Zooko O'Whielacronx
d44fc9fb88 setup: don't attempt to escape quote marks, just delete them. Ugly, but it works okay. 2008-08-06 16:27:42 -07:00
Zooko O'Whielacronx
960a648d5b setup: escape any double-quote chars in the PATH before using the PATH to find and invoke trial 2008-08-06 16:11:43 -07:00
Zooko O'Whielacronx
2ed1d03a49 setup: if the user passes a TRIALOPT env var then pass that on to trial
This is useful for --reporter=bwverbose, for example.
2008-07-30 13:58:06 -07:00
Zooko O'Whielacronx
8aab91115a setup: turn back on reactor=poll for cygwin trial (else it runs out of fds) 2008-07-30 11:12:17 -07:00
Zooko O'Whielacronx
5a0e98d693 setup: fix bug in Makefile -- ifeq, not ifneq -- so that now it sets poll reactor only if the user hasn't specified a REACTOR variable, instead of setting poll reactor only if the user has specified a REACTOR variable 2008-07-30 09:04:29 -07:00
Zooko O'Whielacronx
bd0fe3588b setup: whoops, really remove the default reactor=poll this time 2008-07-29 20:23:58 -07:00
Zooko O'Whielacronx
677f26f0f4 setup: instead of setting --reactor=poll for trial in all cases (which fails on platforms that don't have poll reactor, such as Windows and some Mac OS X), just set --reactor=poll for linux2. 2008-07-29 20:16:56 -07:00
Zooko O'Whielacronx
3eb5f221d7 setup: pass --reactor=poll to trial unless REACTOR variable is set, in which case pass --reactor=$(REACTOR)
This hopefully works around the problem that Twisted v8.1.0 has a bug when used
with pyOpenSSL v0.7 which bug causes some unit tests to spuriously fail -- see
known_issues.txt r2788:

http://allmydata.org/trac/tahoe/browser/docs/known_issues.txt?rev=2788#L122

Also it matches with the fact that --reactor=poll is required on cygwin.
2008-07-29 19:39:06 -07:00
Zooko O'Whielacronx
1a62904289 setup: don't use "python" in Makefile, use $(PYTHON) everywhere 2008-07-21 09:28:49 -07:00
Brian Warner
9ed9eb2048 check_grid.py: make it work, move node start/stop responsibility from Makefile to script 2008-06-19 12:39:52 -07:00
Brian Warner
2fffdbd439 Makefile: minor comment 2008-06-18 15:49:30 -07:00
Brian Warner
164c3f83a1 Makefile: edit check-grid comment a bit 2008-06-18 13:15:55 -07:00
Brian Warner
50d945ea8f start work on 'check-grid' target, for use in an automated prodnet tester. Just a docstring so far. 2008-06-18 12:57:47 -07:00
Brian Warner
0cba951ca0 Makefile: add ubuntu/hardy deb targets 2008-06-17 15:26:18 -07:00
Zooko O'Whielacronx
4b8632b7e5 setup: quote another place where spaces in paths cause shell command misparsing 2008-06-09 16:21:50 -07:00
Brian Warner
08d07f0cc5 Makefile: build twice, since sometimes the Nevow build fails the first time. See #455. This ought to be undone once that ticket is fixed by a new release of setuptools 2008-06-09 16:06:29 -07:00
Zooko O'Whielacronx
78791ab36d setup: don't quote REACTOROPT -- when it is empty then we want no argument at all to be passed to trial, rather than the empty-string-argument 2008-06-09 11:53:24 -07:00
Zooko O'Whielacronx
74908b9334 setup: don't quote TRIALCMD in Makefile -- it can be a pair of (python executable, path to command) paths 2008-06-05 16:39:12 -07:00
Zooko O'Whielacronx
065625738a setup: quote variables which are going to be passed through a shell and which might contain spaces 2008-06-05 15:19:51 -07:00
Zooko O'Whielacronx
36182fb1ac setup: indentation 2008-06-05 14:02:49 -07:00
Zooko O'Whielacronx
970edc5c65 setup and docs: various improvements to setup and docs
Remove docs/install-details.html and README.win32 for now (see #282).
Remove checks for pywin32 and pyopenssl in Makefile -- that is (or will be) automated by setuptools.
Remove twisted from setup_requires.  This causes the problem in which Nevow doesn't declare its dependency on Twisted (#440) to yield a clear ImportError mentioning Twisted and to fail repeatedly, rather than yielding a weird ImportError and working on the second identical attempt.
Fix Makefile to set PATH so that trial and twistd can be found by "make test" after Twisted was installed into support/ during "make"
2008-06-05 13:55:05 -07:00
Zooko O'Whielacronx
59cdfb8f35 setup: tiny fix to syntax in makefile 2008-05-07 05:37:11 -07:00
Zooko O'Whielacronx
a097f45243 setup: remove specific checks for twisted dependency in makefile
Now that the twisted dependency is handled by the automatic dependency mechanism.
2008-05-06 12:09:00 -07:00
Brian Warner
19a40d7a2d Makefile: add quicktest-figleaf: this is in my edit-test-repeat loop, and I need it to be fast 2008-04-24 11:30:38 -07:00