]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commitdiff
Makefile: build twice, since sometimes the Nevow build fails the first time. See...
authorBrian Warner <warner@allmydata.com>
Mon, 9 Jun 2008 23:06:29 +0000 (16:06 -0700)
committerBrian Warner <warner@allmydata.com>
Mon, 9 Jun 2008 23:06:29 +0000 (16:06 -0700)
Makefile

index 672aa99c589bbdd3a1e37895046def591914107d..425c892003b1485c61cc544dcf8ff5178ab4183b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -87,7 +87,22 @@ make-version:
 src/allmydata/_version.py:
        $(MAKE) make-version
 
+# c.f. ticket #455, there is a problem in the intersection of setuptools,
+# twisted's setup.py, and nevow's setup.py . A Tahoe build, to satisfy its
+# dependencies, may try to build both Twisted and Nevow. If both of these
+# occur during the same invocation of 'setup.py develop', then the Nevow
+# build will fail with an "ImportError: No module named components". Running
+# the build a second time will succeed. Until there is a new version of
+# setuptools which properly sandboxes sys.modules (or a new version of nevow
+# which doesn't import twisted during its build, or a new version of twisted
+# which doesn't import itself during its build), we just build tahoe twice
+# and ignore the errors from the first pass.
+
 build: src/allmydata/_version.py
+       -$(MAKE) build-once
+       $(MAKE) build-once
+
+build-once:
        mkdir -p "$(SUPPORTLIB)"
        $(PP) $(PYTHON) ./setup.py develop --prefix="$(SUPPORT)"
        chmod +x bin/tahoe