* gregor herrmann <[email protected]>, 2012-02-25, 16:30:
--- gnutls/library/__init__.py  2010-01-26 13:46:04.000000000 +0100
+++ /tmp/python-gnutls-1.2.4/gnutls/library/__init__.py 2011-11-11 
18:23:49.000000000 +0100
@@ -15,39 +15,29 @@

def library_locations(name, version):
    import os
-    from ctypes.util import find_library
- +
    system = get_system_name()
    if system == 'darwin':
[snip - code from other OSes]
    else:
        library_name = 'lib%s.so.%d' % (name, version)
-        library_alias = 'lib%s.so' % name
-        search_name = name
+        dynamic_loader_env_vars = ['LD_LIBRARY_PATH']
        additional_paths = ['/usr/local/lib']
-    library = find_library(search_name)
-    if library is not None:
-        yield library
-    library = find_library(library_name)
-    if library is not None:
-        yield library
-    for path in additional_paths:
+    for path in (path for env_var in dynamic_loader_env_vars for path in 
os.environ.get(env_var, '').split(':') if os.path.isdir(path)):
        yield os.path.join(path, library_name)
+    yield library_name
    for path in additional_paths:
-        yield os.path.join(path, library_alias)
+        yield os.path.join(path, library_name)

This all appears unnecessarily complicated: the dynamic linker would find the library itself, there's no need to iterate over LD_LIBARY_PATH or explicitly look into /usr/local/lib. But other than that, the patch looks good.

--
Jakub Wilk



--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]

Reply via email to