|
@@ -0,0 +1,47 @@
|
|
|
+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
|
|
|
+
|