mirror of
https://github.com/xen-project/xen.git
synced 2026-10-28 18:21:39 +01:00
python: get rid of hardcoded search pathes in python code.
Signed-off-by: Christoph Egger <Christoph.Egger@amd.com>
This commit is contained in:
1 parent
cc0c5e1dfc
commit
9125594e4e
3 files changed
+22
-31
No files matched your search
+11
-2
@@ -13,9 +13,18 @@ POTFILE := $(PODIR)/xen-xm.pot
|
||||
I18NSRCFILES = $(shell find xen/xm/ -name '*.py')
|
||||
CATALOGS = $(patsubst %,xen/xm/messages/%.mo,$(LINGUAS))
|
||||
NLSDIR = $(SHAREDIR)/locale
|
||||
xenpath = "xen/util/path.py"
|
||||
|
||||
.PHONY: build buildpy genpath
|
||||
genpath:
|
||||
rm -f ${xenpath}
|
||||
echo "SBINDIR=\"$(SBINDIR)\"" >> ${xenpath}
|
||||
echo "BINDIR=\"$(BINDIR)\"" >> ${xenpath}
|
||||
echo "LIBEXEC=\"$(LIBEXEC)\"" >> ${xenpath}
|
||||
echo "LIBDIR=\"$(LIBDIR)\"" >> ${xenpath}
|
||||
echo "PRIVATE_BINDIR=\"$(PRIVATE_BINDIR)\"" >> ${xenpath}
|
||||
|
||||
.PHONY: build buildpy
|
||||
buildpy:
|
||||
buildpy: genpath
|
||||
CC="$(CC)" CFLAGS="$(CFLAGS)" $(PYTHON) setup.py build
|
||||
|
||||
build: buildpy refresh-pot refresh-po $(CATALOGS)
|
||||
|
||||
@@ -16,19 +16,10 @@
|
||||
#============================================================================
|
||||
|
||||
|
||||
LIB_32 = "/usr/lib"
|
||||
LIB_64 = "/usr/lib64"
|
||||
LIB_BIN_SUFFIX = "xen/bin"
|
||||
|
||||
## The architectures on which the LIB_64 directory is used. This
|
||||
# deliberately excludes ia64 and ppc64, and Solaris.
|
||||
LIB_64_ARCHS = [ 'x86_64', 's390x', 'sparc64']
|
||||
|
||||
|
||||
import os
|
||||
import os.path
|
||||
import sys
|
||||
|
||||
from xen.util.path import SBINDIR,BINDIR,LIBEXEC,LIBDIR,PRIVATE_BINDIR
|
||||
|
||||
def execute(exe, args = None):
|
||||
exepath = pathTo(exe)
|
||||
@@ -41,26 +32,16 @@ def execute(exe, args = None):
|
||||
print exepath, ": ", exn
|
||||
sys.exit(1)
|
||||
|
||||
|
||||
def pathTo(exe):
|
||||
return os.path.join(path(), exe)
|
||||
|
||||
SEARCHDIRS = [ BINDIR, SBINDIR, LIBEXEC, PRIVATE_BINDIR ]
|
||||
def pathTo(exebin):
|
||||
for dir in SEARCHDIRS:
|
||||
exe = os.path.join(dir, exebin)
|
||||
if os.path.exists(exe):
|
||||
return exe
|
||||
return None
|
||||
|
||||
def path():
|
||||
return os.path.join(libpath(), LIB_BIN_SUFFIX)
|
||||
|
||||
return LIBEXEC
|
||||
|
||||
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:
|
||||
return LIB_32
|
||||
return LIBDIR
|
||||