From 9ba5f9347d22a4814032989e9e32da32fdd7ff8e Mon Sep 17 00:00:00 2001 From: Zooko O'Whielacronx Date: Wed, 4 Feb 2009 18:06:20 -0700 Subject: [PATCH] setup: add a case to execute "python .../twistd.py" if "twistd" is not found --- src/allmydata/scripts/startstop_node.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/src/allmydata/scripts/startstop_node.py b/src/allmydata/scripts/startstop_node.py index e27749a3..d23ad39e 100644 --- a/src/allmydata/scripts/startstop_node.py +++ b/src/allmydata/scripts/startstop_node.py @@ -59,10 +59,15 @@ def do_start(basedir, opts, out=sys.stdout, err=sys.stderr): # If 'twistd' wasn't on $PATH, maybe we're running from source and # Twisted was built as one of our dependencies. If so, we're at # BASEDIR/src/allmydata/scripts/startstop_node.py, and it's at - # BASEDIR/support/bin/twistd + # BASEDIR/support/$BINDIR/twistd up = os.path.dirname TAHOEDIR = up(up(up(up(os.path.abspath(__file__))))) - bindir = os.path.join(TAHOEDIR, "support/bin") + if sys.platform == "win32": + bin_dir = "Scripts" + else: + bin_dir = "bin" + bindir = os.path.join(TAHOEDIR, "support", bin_dir) + maybe = os.path.join(bindir, "twistd") if os.path.exists(maybe): cmd = [maybe] @@ -70,6 +75,15 @@ def do_start(basedir, opts, out=sys.stdout, err=sys.stderr): os.environ["PATH"] = os.pathsep.join(oldpath + [bindir]) # sys.path and $PYTHONPATH are taken care of by the extra code in # 'setup.py trial' + else: + maybe = maybe+'.py' + if os.path.exists(maybe): + cmd = [sys.executable, maybe] + oldpath = os.environ.get("PATH", "").split(os.pathsep) + os.environ["PATH"] = os.pathsep.join(oldpath + [bindir]) + # sys.path and $PYTHONPATH are taken care of by the extra code in + # 'setup.py trial' + if not cmd: print "Can't find twistd (it comes with Twisted). Aborting." sys.exit(1) -- 2.45.2