xref: /OK3568_Linux_fs/yocto/meta-openembedded/meta-filesystems/recipes-support/fuse/fuse3_3.10.5.bb (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1SUMMARY = "Implementation of a fully functional filesystem in a userspace program"
2DESCRIPTION = "FUSE (Filesystem in Userspace) is a simple interface for userspace \
3               programs to export a virtual filesystem to the Linux kernel. FUSE \
4               also aims to provide a secure method for non privileged users to \
5               create and mount their own filesystem implementations. \
6              "
7HOMEPAGE = "https://github.com/libfuse/libfuse"
8SECTION = "libs"
9LICENSE = "GPL-2.0-only & LGPL-2.0-only"
10LIC_FILES_CHKSUM = "file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
11                    file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
12                    file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66"
13
14SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.xz \
15           file://0001-test-test_syscalls.c-allow-EBADF-in-fcheck_stat-631.patch \
16"
17SRC_URI[sha256sum] = "b2e283485d47404ac896dd0bb7f7ba81e1470838e677e45f659804c3a3b69666"
18
19S = "${WORKDIR}/fuse-${PV}"
20
21UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
22UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
23
24CVE_PRODUCT = "fuse_project:fuse"
25
26inherit meson pkgconfig ptest
27
28SRC_URI += " \
29        file://run-ptest \
30"
31
32RDEPENDS:${PN}-ptest += " \
33        ${PYTHON_PN}-pytest \
34	bash \
35"
36
37do_install_ptest() {
38        install -d ${D}${PTEST_PATH}/test
39        install -d ${D}${PTEST_PATH}/example
40        install -d ${D}${PTEST_PATH}/util
41        cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
42
43        example_excutables=`find ${B}/example -type f -executable`
44        util_excutables=`find ${B}/util -type f -executable`
45        test_excutables=`find ${B}/test -type f -executable`
46
47        for e in $example_excutables
48        do
49            cp -rf $e  ${D}${PTEST_PATH}/example/
50         done
51
52        for e in $util_excutables
53        do
54            cp -rf $e  ${D}${PTEST_PATH}/util/
55        done
56
57        for e in $test_excutables
58        do
59            cp -rf $e  ${D}${PTEST_PATH}/test
60        done
61}
62
63DEPENDS = "udev"
64
65PACKAGES =+ "fuse3-utils"
66
67RPROVIDES:${PN}-dbg += "fuse3-utils-dbg"
68
69RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
70
71FILES:${PN} += "${libdir}/libfuse3.so.*"
72FILES:${PN}-dev += "${libdir}/libfuse3*.la"
73
74# Forbid auto-renaming to libfuse3-utils
75FILES:fuse3-utils = "${bindir} ${base_sbindir}"
76DEBIAN_NOAUTONAME:fuse3-utils = "1"
77DEBIAN_NOAUTONAME:${PN}-dbg = "1"
78
79do_install:append() {
80    rm -rf ${D}${base_prefix}/dev
81}
82