summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulien Jehannet <julien.jehannet@logilab.fr>2010-09-30 18:51:40 +0200
committerJulien Jehannet <julien.jehannet@logilab.fr>2010-09-30 18:51:40 +0200
commit792dd0e553191c96dc33a086de5d7ca4bc4d3240 (patch)
tree4290420aedb74a3a77436018ada48dc7a6a170ca
parent7c7ee3fac839afba6e1af60b82280026bed21062 (diff)
downloadlogilab-common-792dd0e553191c96dc33a086de5d7ca4bc4d3240.tar.gz
[modutils] Consider arch-specific installation for STD_LIB_DIR definition
:mod:`distutils.sysconfig` contains to much hardcoded values to rely on On POSIX systems: STD_LIB_DIR = get_python_lib(standard_lib=1) should be rewritten to: STD_LIB_DIR = join(get_config_var("LIBDIR"), get_python_version()) to take care of arch-dependant installation of python :see: `Problems with /usr/lib64 builds <http://bugs.python.org/issue1294959>`_ :see: `FHS <http://www.pathname.com/fhs/pub/fhs-2.3.html#LIBLTQUALGTALTERNATEFORMATESSENTIAL>`_
-rw-r--r--modutils.py12
1 files changed, 10 insertions, 2 deletions
diff --git a/modutils.py b/modutils.py
index 379d24c..b635928 100644
--- a/modutils.py
+++ b/modutils.py
@@ -33,6 +33,7 @@ import sys
import os
from os.path import splitext, join, abspath, isdir, dirname, exists, basename
from imp import find_module, load_module, C_BUILTIN, PY_COMPILED, PKG_DIRECTORY
+from distutils.sysconfig import get_config_var, get_python_lib, get_python_version
try:
import zipimport
@@ -43,14 +44,21 @@ ZIPFILE = object()
from logilab.common import STD_BLACKLIST, _handle_blacklist
+# Notes about STD_LIB_DIR
+# Consider arch-specific installation for STD_LIB_DIR definition
+# :mod:`distutils.sysconfig` contains to much hardcoded values to rely on
+#
+# :see: `Problems with /usr/lib64 builds <http://bugs.python.org/issue1294959>`_
+# :see: `FHS <http://www.pathname.com/fhs/pub/fhs-2.3.html#LIBLTQUALGTALTERNATEFORMATESSENTIAL>`_
if sys.platform.startswith('win'):
PY_SOURCE_EXTS = ('py', 'pyw')
PY_COMPILED_EXTS = ('dll', 'pyd')
- STD_LIB_DIR = join(sys.prefix, 'lib')
+ STD_LIB_DIR = get_python_lib(standard_lib=1)
else:
PY_SOURCE_EXTS = ('py',)
PY_COMPILED_EXTS = ('so',)
- STD_LIB_DIR = join(sys.prefix, 'lib', 'python%s' % sys.version[:3])
+ # extend lib dir with some arch-dependant paths
+ STD_LIB_DIR = join(get_config_var("LIBDIR"), "python%s" % get_python_version())
BUILTIN_MODULES = dict(zip(sys.builtin_module_names,
[1]*len(sys.builtin_module_names)))