# this file is maintained by the buildbot
^\.buildbot-sourcedata$
-# these .eggs are downloaded by ez_setup.py when it doesn't like the version
-# that is currently installed (or it is missing).
-^src/simplejson/setuptools-.*\.egg$
-^src/zfec/setuptools-.*\.egg$
+# automatically-build dependencies (using the 'build-deps' target) go here
+^support
+# creating a tahoe egg puts files here
+^allmydata_tahoe.egg-info
# generated crypto extension modules
^src/allmydata/Crypto/[^/]*/.*\.so$
build: make-version
$(PP) $(PYTHON) ./setup.py build_ext -i
+PYVER=$(shell $(PYTHON) misc/pyver.py)
+SUPPORT = $(BASE)/support
+SUPPORTLIB = $(SUPPORT)/lib/$(PYVER)/site-packages
+build-deps:
+ mkdir -p $(SUPPORTLIB)
+ PYTHONPATH=$(SUPPORTLIB) $(PYTHON) setup.py install \
+ --prefix=$(SUPPORT)
+EGGSPATH = $(shell $(PYTHON) misc/find-dep-eggs.py)
+show-eggspath:
+ @echo $(EGGSPATH)
+
+PP = PYTHONPATH=$(EGGSPATH)
+
# 'make install' will do the following:
# build+install tahoe (probably to /usr/lib/pythonN.N/site-packages)
The Running-In-Place Way:
You can use Tahoe without installing it. Once you've built Tahoe then you
- can execute "./bin/allmydata-tahoe".
+ can execute "./bin/allmydata-tahoe". (When the allmydata-tahoe script is in
+ an Tahoe source distribution, it adds the necessary directory to the Python
+ "sys.path".)
TESTING THAT IT IS PROPERLY INSTALLED
--- /dev/null
+#! /usr/bin/python
+
+import os.path, sys
+
+pyver = "python%d.%d" % (sys.version_info[:2])
+
+path = []
+support_lib = "support/lib/%s/site-packages" % pyver
+if os.path.exists(support_lib):
+ for fn in os.listdir(support_lib):
+ if fn.endswith(".egg"):
+ path.append(os.path.abspath(os.path.join(support_lib, fn)))
+
+print ":".join(path)
--- /dev/null
+#! /usr/bin/python
+
+import sys
+print "python%d.%d" % (sys.version_info[:2])