0001-Workaround-finding-libudev-on-systems-without-ldconf.patch 1.6 KB
From e86a1c199d45c9751da67f947af202927dee07f8 Mon Sep 17 00:00:00 2001
From: Yegor Yefremov <yegorslists@googlemail.com>
Date: Thu, 10 Dec 2015 08:44:55 +0100
Subject: [PATCH] Workaround finding libudev on systems without ldconf

This patch tries to load libudev.so directly without relying on
Python's find_library(). find_library() fails on systems
without library cache mechanism.

Taken from pyudev issue 117 discussion:
https://github.com/pyudev/pyudev/pull/117

Signed-off-by: Yegor Yefremov <yegorslists@googlemail.com>
---
 src/pyudev/_libudev.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/src/pyudev/_libudev.py b/src/pyudev/_libudev.py
index a0de8fb..1348d17 100644
--- a/src/pyudev/_libudev.py
+++ b/src/pyudev/_libudev.py
@@ -30,7 +30,7 @@
 from __future__ import (print_function, division, unicode_literals,
                         absolute_import)
 
-from ctypes import (CDLL, Structure, POINTER,
+from ctypes import (cdll, CDLL, Structure, POINTER,
                     c_char, c_char_p, c_int, c_uint, c_ulonglong)
 from ctypes.util import find_library
 
@@ -265,10 +265,10 @@ def load_udev_library():
 
     Raise :exc:`~exceptions.ImportError`, if the udev library was not found.
     """
-    udev_library_name = find_library('udev')
-    if not udev_library_name:
+    try:
+        libudev = cdll.LoadLibrary('libudev.so')
+    except OSError:
         raise ImportError('No library named udev')
-    libudev = CDLL(udev_library_name, use_errno=True)
     # context function signature
     for namespace, members in SIGNATURES.items():
         for funcname in members:
-- 
2.1.4