[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] adjust tools' path calculation



In the hope that it will be acceptable, I'm suggesting this change to
make another tiny step towards the ability to run the tools e.g. out of
the build tree (so that multiple different Xen versions can co-exist
without the requirement to re-install the respective version with each
boot).

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>

Index: 2007-06-18/tools/misc/xen-python-path
===================================================================
--- 2007-06-18.orig/tools/misc/xen-python-path  2007-06-19 11:25:18.000000000 
+0200
+++ 2007-06-18/tools/misc/xen-python-path       2007-06-18 12:15:35.000000000 
+0200
@@ -28,8 +28,13 @@ import os
 import os.path
 import sys
 
-for p in ['python%s' % sys.version[:3], 'python']:
-    for l in ['/usr/lib64', '/usr/lib']:
+usr   = os.path.dirname(os.path.dirname(sys.argv[0]))
+list  = [ os.path.join(usr,'lib64') ]
+list += [ os.path.join(usr,'lib') ]
+list += ['/usr/lib64', '/usr/lib']
+
+for l in list:
+    for p in ['python%s' % sys.version[:3], 'python']:
         for k in ['', 'site-packages/']:
             d = os.path.join(l, p, k)
             if os.path.exists(os.path.join(d, AUXBIN)):
Index: 2007-06-18/tools/python/xen/util/auxbin.py
===================================================================
--- 2007-06-18.orig/tools/python/xen/util/auxbin.py     2007-06-19 
11:25:18.000000000 +0200
+++ 2007-06-18/tools/python/xen/util/auxbin.py  2007-06-18 12:15:35.000000000 
+0200
@@ -27,6 +27,7 @@ LIB_64_ARCHS = [ 'x86_64', 's390x', 'spa
 
 import os
 import os.path
+import sys
 
 
 def execute(exe, args = None):
@@ -47,6 +48,14 @@ def path():
 
 def libpath():
     machine = os.uname()[4]
+    if sys.argv[0] != '-c':
+        prefix = os.path.dirname(os.path.dirname(sys.argv[0]))
+        path = os.path.join(prefix, os.path.basename(LIB_64))
+        if machine in LIB_64_ARCHS and os.path.exists(path):
+            return path
+        path = os.path.join(prefix, os.path.basename(LIB_32))
+        if os.path.exists(path):
+            return path
     if machine in LIB_64_ARCHS and os.path.exists(LIB_64):
         return LIB_64
     else:




_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.