chiark / gitweb /
init: check if examples/ exists in layout before using the path
authorHans-Christoph Steiner <hans@eds.org>
Mon, 15 Feb 2016 18:58:05 +0000 (19:58 +0100)
committerHans-Christoph Steiner <hans@eds.org>
Mon, 15 Feb 2016 22:06:31 +0000 (23:06 +0100)
There is definitely some odd stuff that happens in all these paths, so
let's just check that examples/ exists, and move on from there.

fdroidserver/init.py

index 3474fba1685e8e446ad498080e430543aa073141..f8f71bfba75447aa5494a3f6728cd11c02234033 100644 (file)
@@ -66,17 +66,17 @@ def main():
 
     # find root install prefix
     tmp = os.path.dirname(sys.argv[0])
+    examplesdir = None
     if os.path.basename(tmp) == 'bin':
-        prefix = None
         egg_link = os.path.join(tmp, '..', 'local/lib/python2.7/site-packages/fdroidserver.egg-link')
         if os.path.exists(egg_link):
             # installed from local git repo
             examplesdir = os.path.join(open(egg_link).readline().rstrip(), 'examples')
         else:
-            prefix = os.path.dirname(os.path.dirname(__file__))  # use .egg layout
-            if not prefix.endswith('.egg'):  # use UNIX layout
-                prefix = os.path.dirname(tmp)
-            examplesdir = prefix + '/share/doc/fdroidserver/examples'
+            # try .egg layout
+            examplesdir = os.path.dirname(os.path.dirname(__file__)) + '/share/doc/fdroidserver/examples'
+            if not os.path.exists(examplesdir):  # use UNIX layout
+                examplesdir = os.path.dirname(tmp) + '/share/doc/fdroidserver/examples'
     else:
         # we're running straight out of the git repo
         prefix = os.path.normpath(os.path.join(os.path.dirname(__file__), '..'))