meta-openembedded/meta-oe/recipes-support/fuse/fuse3_3.18.1.bb
Wang Mingyu f1407f17be
fuse3: upgrade 3.17.4 -> 3.18.1
Signed-off-by: Wang Mingyu <wangmy@fujitsu.com>
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2025-12-24 13:18:26 -08:00

104 lines
3.2 KiB
BlitzBasic

SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
programs to export a virtual filesystem to the Linux kernel. FUSE \
also aims to provide a secure method for non privileged users to \
create and mount their own filesystem implementations. \
"
HOMEPAGE = "https://github.com/libfuse/libfuse"
SECTION = "libs"
LICENSE = "GPL-2.0-only & LGPL-2.0-only"
LIC_FILES_CHKSUM = " \
file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66 \
"
SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz"
SRC_URI[sha256sum] = "dd395c88f29c7540bbdd0b830260ab8092ccb241bb6e66f603643f715fb9322c"
S = "${UNPACKDIR}/fuse-${PV}"
UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
UPSTREAM_CHECK_REGEX = "releases/tag/fuse-(?P<pver>\d+(\.\d+)+)"
CVE_PRODUCT = "fuse_project:fuse"
inherit meson pkgconfig ptest
# fix riscv32-yoe-linux-musl-ld.lld: error: undefined symbol: __atomic_fetch_add_8
LDFLAGS:append:toolchain-clang:riscv32 = " -latomic"
SRC_URI += " \
file://run-ptest \
file://fuse3.conf \
"
#python3-compile for filecmp module
RDEPENDS:${PN}-ptest += " \
python3-compile \
python3-pytest \
python3-looseversion \
bash \
file \
"
RRECOMMENDS:${PN}-ptest += " kernel-module-cuse"
do_install_ptest() {
install -d ${D}${PTEST_PATH}/test
install -d ${D}${PTEST_PATH}/example
install -d ${D}${PTEST_PATH}/util
cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
example_excutables=`find ${B}/example -type f -executable`
util_excutables=`find ${B}/util -type f -executable`
test_excutables=`find ${B}/test -type f -executable`
for e in $example_excutables
do
cp -rf $e ${D}${PTEST_PATH}/example/
done
for e in $util_excutables
do
cp -rf $e ${D}${PTEST_PATH}/util/
done
for e in $test_excutables
do
cp -rf $e ${D}${PTEST_PATH}/test
done
}
DEPENDS = "udev"
PACKAGES =+ "fuse3-utils"
RPROVIDES:${PN}-dbg += "fuse3-utils-dbg"
RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
FILES:${PN} += "${libdir}/libfuse3.so.*"
FILES:${PN}-dev += "${libdir}/libfuse3*.la"
# Forbid auto-renaming to libfuse3-utils
FILES:fuse3-utils = "${bindir} ${base_sbindir}"
DEBIAN_NOAUTONAME:fuse3-utils = "1"
DEBIAN_NOAUTONAME:${PN}-dbg = "1"
SYSTEMD_SERVICE:${PN} = ""
do_install:append() {
rm -rf ${D}${base_prefix}/dev
# systemd class remove the sysv_initddir only if systemd_system_unitdir
# contains anything, but it's not needed if sysvinit is not in DISTRO_FEATURES
if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'false', 'true', d)}; then
rm -rf ${D}${sysconfdir}/init.d/
fi
# Install systemd related configuration file
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${sysconfdir}/modules-load.d
install -m 0644 ${UNPACKDIR}/fuse3.conf ${D}${sysconfdir}/modules-load.d
fi
}