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:
Khem Raj
2024-11-02 14:14:55 -07:00
committed by Richard Purdie
parent cc5879e4f5
commit e366c7a671
2 changed files with 38 additions and 0 deletions

View File

@@ -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 \