chiark / gitweb /
support egg-link format when installed from git repo
authorHans-Christoph Steiner <hans@eds.org>
Fri, 31 Jul 2015 22:36:51 +0000 (00:36 +0200)
committerHans-Christoph Steiner <hans@eds.org>
Fri, 31 Jul 2015 22:38:41 +0000 (00:38 +0200)
If you run `python setup.py install` from the git repo, then it will be
installed using the .egg-link format, which just points to the git repo.
`fdroid init` needs to handle that when looking for example files to copy.

fdroidserver/init.py

index 388c2aabd82f7a8960bf29dd192bb3e21090fe52..0ed66d6b9b2ad2f9d5fc5a4656752aae3d9891fe 100644 (file)
@@ -70,10 +70,16 @@ def main():
     # find root install prefix
     tmp = os.path.dirname(sys.argv[0])
     if os.path.basename(tmp) == 'bin':
-        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'
+        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'
     else:
         # we're running straight out of the git repo
         prefix = os.path.normpath(os.path.join(os.path.dirname(__file__), '..'))