#!/usr/bin/env python
+# This preamble is adapted from Twisted. If we're being run from a source
+# tree, add that tree's libdir to our path, so tahoe can be run from source
+# without a lot of tedious PYTHONPATH changes.
+import sys, os.path
+where = os.path.realpath(sys.argv[0]).split(os.sep)
+
+# look for Tahoe.home . Three cases:
+# ...(not BASE)/allmydata-tahoe
+# .../(BASE)/bin/allmydata-tahoe
+# .../(BASE)/instdir/bin/allmydata-tahoe
+if len(where) >= 2 and where[-2] == "bin":
+ if len(where) >= 3 and where[-3] == "instdir":
+ base = os.sep.join(where[:-3])
+ else:
+ base = os.sep.join(where[:-2])
+
+ if os.path.exists(os.path.join(base, "Tahoe.home")):
+ # we've found our home
+ libdir = os.path.join(base, "instdir", "lib")
+ sys.path.insert(0, libdir)
+
from allmydata.scripts import runner
runner.run()