From 6b0f329a9f37110020ca02b35c8125391ef282b7 Mon Sep 17 00:00:00 2001 From: Frederik Rietdijk Date: Sat, 24 Dec 2016 15:56:10 +0100 Subject: [PATCH] no ldconfig --- Lib/ctypes/util.py | 35 +---------------------------------- Lib/uuid.py | 47 ----------------------------------------------- 2 files changed, 1 insertion(+), 81 deletions(-) diff --git a/Lib/ctypes/util.py b/Lib/ctypes/util.py index ab10ec5..f253e34 100644 --- a/Lib/ctypes/util.py +++ b/Lib/ctypes/util.py @@ -235,40 +235,7 @@ elif os.name == "posix": else: def _findSoname_ldconfig(name): - import struct - if struct.calcsize('l') == 4: - machine = os.uname()[4] + '-32' - else: - machine = os.uname()[4] + '-64' - mach_map = { - 'x86_64-64': 'libc6,x86-64', - 'ppc64-64': 'libc6,64bit', - 'sparc64-64': 'libc6,64bit', - 's390x-64': 'libc6,64bit', - 'ia64-64': 'libc6,IA-64', - } - abi_type = mach_map.get(machine, 'libc6') - - # XXX assuming GLIBC's ldconfig (with option -p) - expr = r'\s+(lib%s\.[^\s]+)\s+\(%s' % (re.escape(name), abi_type) - - env = dict(os.environ) - env['LC_ALL'] = 'C' - env['LANG'] = 'C' - null = open(os.devnull, 'wb') - try: - with null: - p = subprocess.Popen(['/sbin/ldconfig', '-p'], - stderr=null, - stdout=subprocess.PIPE, - env=env) - except OSError: # E.g. command not found - return None - [data, _] = p.communicate() - res = re.search(expr, data) - if not res: - return None - return res.group(1) + return None def find_library(name): return _findSoname_ldconfig(name) or _get_soname(_findLib_gcc(name)) diff --git a/Lib/uuid.py b/Lib/uuid.py index 7432032..05eeee5 100644 --- a/Lib/uuid.py +++ b/Lib/uuid.py @@ -441,53 +441,6 @@ def _netbios_getnode(): # If ctypes is available, use it to find system routines for UUID generation. _uuid_generate_time = _UuidCreate = None -try: - import ctypes, ctypes.util - import sys - - # The uuid_generate_* routines are provided by libuuid on at least - # Linux and FreeBSD, and provided by libc on Mac OS X. - _libnames = ['uuid'] - if not sys.platform.startswith('win'): - _libnames.append('c') - for libname in _libnames: - try: - lib = ctypes.CDLL(ctypes.util.find_library(libname)) - except: - continue - if hasattr(lib, 'uuid_generate_time'): - _uuid_generate_time = lib.uuid_generate_time - break - del _libnames - - # The uuid_generate_* functions are broken on MacOS X 10.5, as noted - # in issue #8621 the function generates the same sequence of values - # in the parent process and all children created using fork (unless - # those children use exec as well). - # - # Assume that the uuid_generate functions are broken from 10.5 onward, - # the test can be adjusted when a later version is fixed. - if sys.platform == 'darwin': - import os - if int(os.uname()[2].split('.')[0]) >= 9: - _uuid_generate_time = None - - # On Windows prior to 2000, UuidCreate gives a UUID containing the - # hardware address. On Windows 2000 and later, UuidCreate makes a - # random UUID and UuidCreateSequential gives a UUID containing the - # hardware address. These routines are provided by the RPC runtime. - # NOTE: at least on Tim's WinXP Pro SP2 desktop box, while the last - # 6 bytes returned by UuidCreateSequential are fixed, they don't appear - # to bear any relationship to the MAC address of any network device - # on the box. - try: - lib = ctypes.windll.rpcrt4 - except: - lib = None - _UuidCreate = getattr(lib, 'UuidCreateSequential', - getattr(lib, 'UuidCreate', None)) -except: - pass def _unixdll_getnode(): """Get the hardware address on Unix using ctypes.""" -- 2.11.0