[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] Merged.
Use the auxbin module to find the appropriate install directory for our Python # HG changeset patch # User emellor@xxxxxxxxxxxxxxxxxxxxxx # Node ID d61fc1f33954b70e61fc4b086aed50f499fcf8b9 # Parent 3534801f08da20eb302285d888162542bebe12b1 Use the auxbin module to find the appropriate install directory for our Python scripts. This fixes a bug with xm-test not working on 64-bit systems. Signed-off-by: Ewan Mellor <ewan@xxxxxxxxxxxxx> --- tools/misc/xend | 24 ++++++++++++++++++++---- tools/python/xen/util/auxbin.py | 19 ++++++++++++------- tools/xm-test/configure.ac | 2 +- tools/xm-test/lib/XmTestLib/__init__.py | 20 +++++++++++++++++--- 4 files changed, 50 insertions(+), 15 deletions(-) diff -r 3534801f08da -r d61fc1f33954 tools/misc/xend --- a/tools/misc/xend Fri May 05 16:46:48 2006 +0100 +++ b/tools/misc/xend Fri May 05 18:36:12 2006 +0100 @@ -2,7 +2,7 @@ # -*- mode: python; -*- #============================================================================ # Copyright (C) 2004 Mike Wray <mike.wray@xxxxxx> -# Copyright (C) 2005 XenSource Ltd +# Copyright (C) 2005-2006 XenSource Inc #============================================================================ """Xen management daemon. @@ -21,15 +21,31 @@ and recover its state when restarted. """ import os +import os.path import sys import socket import signal import time import commands -# add fallback path for non-native python path installs if needed -sys.path.append('/usr/lib/python') -sys.path.append('/usr/lib64/python') + +# Use the auxbin module in Xend to determine the correct Python path. We +# take the first installed instance of auxbin that we find, and then run it +# to determine the correct path, appending that to sys.path. + +AUXBIN = 'xen/util/auxbin.py' + +for p in ['python%s' % sys.version[:3], 'python']: + for l in ['/usr/lib64', '/usr/lib']: + d = os.path.join(l, p) + if os.path.exists(os.path.join(d, AUXBIN)): + sys.path.append(d) + import xen.util.auxbin + libpath = xen.util.auxbin.libpath() + sys.path = sys.path[:-1] + sys.path.append(libpath) + break + from xen.xend.server import SrvDaemon class CheckError(ValueError): diff -r 3534801f08da -r d61fc1f33954 tools/python/xen/util/auxbin.py --- a/tools/python/xen/util/auxbin.py Fri May 05 16:46:48 2006 +0100 +++ b/tools/python/xen/util/auxbin.py Fri May 05 18:36:12 2006 +0100 @@ -12,14 +12,15 @@ # License along with this library; if not, write to the Free Software # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #============================================================================ -# Copyright (C) 2005 XenSource Ltd +# Copyright (C) 2005-2006 XenSource Inc. #============================================================================ -LIB_BIN_32 = "/usr/lib/xen/bin" -LIB_BIN_64 = "/usr/lib64/xen/bin" +LIB_32 = "/usr/lib" +LIB_64 = "/usr/lib64" +LIB_BIN_SUFFIX = "xen/bin" -## The architectures on which the LIB_BIN_64 directory is used. This +## The architectures on which the LIB_64 directory is used. This # deliberately excludes ia64. LIB_64_ARCHS = [ 'x86_64', 'ppc64', 's390x', 'sparc64'] @@ -41,8 +42,12 @@ def pathTo(exe): def path(): + return os.path.join(libpath(), LIB_BIN_SUFFIX) + + +def libpath(): machine = os.uname()[4] - if machine in LIB_64_ARCHS and os.path.exists(LIB_BIN_64): - return LIB_BIN_64 + if machine in LIB_64_ARCHS and os.path.exists(LIB_64): + return LIB_64 else: - return LIB_BIN_32 + return LIB_32 diff -r 3534801f08da -r d61fc1f33954 tools/xm-test/configure.ac --- a/tools/xm-test/configure.ac Fri May 05 16:46:48 2006 +0100 +++ b/tools/xm-test/configure.ac Fri May 05 18:36:12 2006 +0100 @@ -13,7 +13,7 @@ AC_CHECK_PROG([LILO], lilo, lilo, "no", # are two levels above the tests TESTLIB=../../lib RD_PATH=../../ramdisk -TENV="PYTHONPATH=$PYTHONPATH:$TESTLIB:/usr/lib/python RD_PATH=$RD_PATH" +TENV="PYTHONPATH=$PYTHONPATH:$TESTLIB RD_PATH=$RD_PATH" AC_ARG_ENABLE(hvm-support, [[ --enable-hvm-support enable hardware virtual machine assist]], diff -r 3534801f08da -r d61fc1f33954 tools/xm-test/lib/XmTestLib/__init__.py --- a/tools/xm-test/lib/XmTestLib/__init__.py Fri May 05 16:46:48 2006 +0100 +++ b/tools/xm-test/lib/XmTestLib/__init__.py Fri May 05 18:36:12 2006 +0100 @@ -11,11 +11,25 @@ from XenDevice import * from XenDevice import * from NetConfig import * -# Make sure xen modules are in path -sys.path.append('/usr/lib/python') +# Use the auxbin module in Xend to determine the correct Python path. We +# take the first installed instance of auxbin that we find, and then run it +# to determine the correct path, appending that to sys.path. + +AUXBIN = 'xen/util/auxbin.py' + +for p in ['python%s' % sys.version[:3], 'python']: + for l in ['/usr/lib64', '/usr/lib']: + d = os.path.join(l, p) + if os.path.exists(os.path.join(d, AUXBIN)): + sys.path.append(d) + import xen.util.auxbin + libpath = xen.util.auxbin.libpath() + sys.path = sys.path[:-1] + sys.path.append(libpath) + break # Give this test a clean slate -destroyAllDomUs(); +destroyAllDomUs() if os.environ.get("TEST_VERBOSE"): verbose = True _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |