kumquat-buildroot/package/python-pyudev/0001-Workaround-finding-libudev-on-systems-without-ldconf.patch
Fabrice Fontaine 57aa6e718f package/python-pyudev: fix build with python 2
Build with python 2 is broken since bump to version 0.22.0 in commit
0adb141d34:

error:   File "/usr/lib/python2.7/site-packages/pyudev/_ctypeslib/utils.py", line 54
    lib = cdll.LoadLibrary(f'lib{name}.so')
                                         ^
SyntaxError: invalid syntax

Fixes:
 - http://autobuild.buildroot.org/results/8b35ca6910dfd881953968f8d88ac842d57c9262

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2021-09-04 11:24:32 +02:00

52 lines
1.7 KiB
Diff

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>
[Marcin: adjust to 0.22.0]
Signed-off-by: Marcin Niestroj <m.niestroj@grinn-global.com>
[Fabrice: Use %-formatting instead of f-string for python 2]
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
---
src/pyudev/_ctypeslib/utils.py | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/pyudev/_ctypeslib/utils.py b/src/pyudev/_ctypeslib/utils.py
index 9dffb3c..aa9942f 100644
--- a/src/pyudev/_ctypeslib/utils.py
+++ b/src/pyudev/_ctypeslib/utils.py
@@ -28,7 +28,7 @@
from __future__ import print_function
from __future__ import unicode_literals
-from ctypes import CDLL
+from ctypes import cdll, CDLL
from ctypes.util import find_library
@@ -50,10 +50,10 @@ def load_ctypes_library(name, signatures, error_checkers):
:rtype: ctypes.CDLL
:raises ImportError: if the library is not found
"""
- library_name = find_library(name)
- if not library_name:
+ try:
+ lib = cdll.LoadLibrary('lib%s.so' % name)
+ except OSError:
raise ImportError('No library named %s' % name)
- lib = CDLL(library_name, use_errno=True)
# Add function signatures
for funcname, signature in signatures.items():
function = getattr(lib, funcname, None)
--
2.29.1