mirror of
https://git.yoctoproject.org/git/poky
synced 2026-01-01 13:58:04 +00:00
python3-libarchive-c: Avoid using find_library python API
find_library API depends on platform to provide ldconfig, ld, gcc, objdump etc, so either we add these dependencies or avoid them by computing the libarchive library name during build, which we can be done. This ensures that ffi module works with musl as well as glibc equally as musl does not provide ldconfig like glibc does (From OE-Core rev: db350fa7c3c33956fb652eef8aefebaf18ead841) Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org> Cc: Ross Burton <ross.burton@arm.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
cc5879e4f5
commit
e366c7a671
|
|
@ -0,0 +1,29 @@
|
|||
From ed20aba335996d3aa97d99dfc122eb5a3a26ba1b Mon Sep 17 00:00:00 2001
|
||||
From: Khem Raj <raj.khem@gmail.com>
|
||||
Date: Sat, 2 Nov 2024 11:06:01 -0700
|
||||
Subject: [PATCH] ffi: Insert a replacable anchor for find_library
|
||||
|
||||
@@REPLACE_FIND_LIBRARY_API@@ must be sustituted from bitbake environment via
|
||||
recipe. This also helps in detecting changes to code from upstream in
|
||||
this area as this patch will fail to apply.
|
||||
|
||||
Upstream-Status: Inappropriate [OE-Specific]
|
||||
|
||||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
|
||||
---
|
||||
libarchive/ffi.py | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libarchive/ffi.py b/libarchive/ffi.py
|
||||
index 1fc321a..991f1b6 100644
|
||||
--- a/libarchive/ffi.py
|
||||
+++ b/libarchive/ffi.py
|
||||
@@ -22,7 +22,7 @@ logger = logging.getLogger('libarchive')
|
||||
|
||||
page_size = mmap.PAGESIZE
|
||||
|
||||
-libarchive_path = os.environ.get('LIBARCHIVE') or find_library('archive')
|
||||
+libarchive_path = os.environ.get('LIBARCHIVE') or @@REPLACE_FIND_LIBRARY_API@@
|
||||
libarchive = ctypes.cdll.LoadLibrary(libarchive_path)
|
||||
|
||||
|
||||
|
|
@ -7,6 +7,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.md;md5=bcab380227a83bc147350b40a81e6ffc"
|
|||
|
||||
SRC_URI += " \
|
||||
file://new-libarchive.patch \
|
||||
file://0001-ffi-Insert-a-replacable-anchor-for-find_library.patch \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
|
|
@ -16,6 +17,14 @@ inherit pypi setuptools3 ptest
|
|||
|
||||
SRC_URI[sha256sum] = "7bcce24ea6c0fa3bc62468476c6d2f6264156db2f04878a372027c10615a2721"
|
||||
|
||||
DEPENDS += "patchelf-native libarchive"
|
||||
# Avoid using find_library API which needs ldconfig and ld/objdump
|
||||
# https://docs.python.org/3/library/ctypes.html#ctypes-reference
|
||||
#
|
||||
do_configure:append() {
|
||||
sed -i -e "s|@@REPLACE_FIND_LIBRARY_API@@|'${libdir}/$(patchelf --print-soname ${STAGING_LIBDIR}/libarchive.so)'|" ${S}/libarchive/ffi.py
|
||||
}
|
||||
|
||||
RDEPENDS:${PN} += "\
|
||||
libarchive \
|
||||
python3-ctypes \
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user