From ffeee54f9106f34d755cf0054efaf8f3278b3c20 Mon Sep 17 00:00:00 2001
From: robk-tahoe <robk-tahoe@allmydata.com>
Date: Wed, 23 Jan 2008 18:05:56 -0700
Subject: [PATCH] fix tahoe script installation logic

refine the logic in the .app which tries to install the 'tahoe' script.

now it will do nothing if 'tahoe' is found anywhere on the user's path,
and only if it's not present will it try to install it in each of the
candidate paths (/usr/local/bin ~/bin ~/Library/bin) which are on the
user's path
---
 mac/allmydata_tahoe.py | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/mac/allmydata_tahoe.py b/mac/allmydata_tahoe.py
index 5cdad832..3e29238a 100644
--- a/mac/allmydata_tahoe.py
+++ b/mac/allmydata_tahoe.py
@@ -87,15 +87,17 @@ def run_default_node():
         if not sys.executable.endswith('/python'):
             print 'not installing tahoe script: unexpected sys.exe "%s"' % (sys.executable,)
             return
+        for path_candidate in map(os.path.expanduser, env_path):
+            tahoe_path = path_candidate + '/tahoe'
+            if os.path.exists(tahoe_path):
+                print 'not installing "tahoe": it already exists at "%s"' % (tahoe_path,)
+                return
         for path_candidate in map(os.path.expanduser, path_candidates):
             if path_candidate not in env_path:
                 print path_candidate, 'not in', env_path
                 continue
             tahoe_path = path_candidate + '/tahoe'
             try:
-                if os.path.exists(tahoe_path):
-                    print 'not installing "%s": it already exists' % (tahoe_path,)
-                    return
                 print 'trying to install "%s"' % (tahoe_path,)
                 bin_path = (sys.executable[:-6] + 'Allmydata Tahoe').replace(' ', '\\ ')
                 script = TAHOE_SCRIPT % { 'exe': bin_path }
-- 
2.45.2