diff options
author | Julien Jehannet <julien.jehannet@logilab.fr> | 2010-09-30 18:51:40 +0200 |
---|---|---|
committer | Julien Jehannet <julien.jehannet@logilab.fr> | 2010-09-30 18:51:40 +0200 |
commit | 792dd0e553191c96dc33a086de5d7ca4bc4d3240 (patch) | |
tree | 4290420aedb74a3a77436018ada48dc7a6a170ca /modutils.py | |
parent | 7c7ee3fac839afba6e1af60b82280026bed21062 (diff) | |
download | logilab-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>`_
Diffstat (limited to 'modutils.py')
-rw-r--r-- | modutils.py | 12 |
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))) |