diff options
Diffstat (limited to 'tools')
-rw-r--r-- | tools/misc/xen-python-path | 9 | ||||
-rw-r--r-- | tools/python/xen/util/auxbin.py | 9 |
2 files changed, 16 insertions, 2 deletions
diff --git a/tools/misc/xen-python-path b/tools/misc/xen-python-path index da3d2dd2ba..57774a332b 100644 --- a/tools/misc/xen-python-path +++ b/tools/misc/xen-python-path @@ -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)): diff --git a/tools/python/xen/util/auxbin.py b/tools/python/xen/util/auxbin.py index 5d2066157c..75e38a838e 100644 --- a/tools/python/xen/util/auxbin.py +++ b/tools/python/xen/util/auxbin.py @@ -27,6 +27,7 @@ LIB_64_ARCHS = [ 'x86_64', 's390x', 'sparc64'] 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: |