blob: 2b0797a6f53e43618b9813f75d4a42eb5d8ae405 [file] [log] [blame]
Patrick Williamsac13d5f2023-11-24 18:59:46 -06001SUMMARY = "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"
Patrick Williamsb58112e2024-03-07 11:16:36 -060010LIC_FILES_CHKSUM = " \
11 file://GPL2.txt;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
12 file://LGPL2.txt;md5=4fbd65380cdd255951079008b364516c \
13 file://LICENSE;md5=a55c12a2d7d742ecb41ca9ae0a6ddc66 \
14"
Patrick Williamsac13d5f2023-11-24 18:59:46 -060015
16SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz \
17"
18SRC_URI[sha256sum] = "f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87"
19
20S = "${WORKDIR}/fuse-${PV}"
21
22UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
23UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"
24
25CVE_PRODUCT = "fuse_project:fuse"
26
27inherit meson pkgconfig ptest
28
29SRC_URI += " \
Patrick Williamsb58112e2024-03-07 11:16:36 -060030 file://run-ptest \
Patrick Williamsac13d5f2023-11-24 18:59:46 -060031"
32
33RDEPENDS:${PN}-ptest += " \
Patrick Williams39653562024-03-01 08:54:02 -060034 python3-pytest \
35 python3-looseversion \
Patrick Williams39653562024-03-01 08:54:02 -060036 bash \
Patrick Williamsac13d5f2023-11-24 18:59:46 -060037"
Patrick Williamsb58112e2024-03-07 11:16:36 -060038RRECOMMENDS:${PN}-ptest += " kernel-module-cuse"
Patrick Williamsac13d5f2023-11-24 18:59:46 -060039
40do_install_ptest() {
Patrick Williamsb58112e2024-03-07 11:16:36 -060041 install -d ${D}${PTEST_PATH}/test
42 install -d ${D}${PTEST_PATH}/example
43 install -d ${D}${PTEST_PATH}/util
44 cp -rf ${S}/test/* ${D}${PTEST_PATH}/test/
Patrick Williamsac13d5f2023-11-24 18:59:46 -060045
Patrick Williamsb58112e2024-03-07 11:16:36 -060046 example_excutables=`find ${B}/example -type f -executable`
47 util_excutables=`find ${B}/util -type f -executable`
48 test_excutables=`find ${B}/test -type f -executable`
Patrick Williamsac13d5f2023-11-24 18:59:46 -060049
Patrick Williamsb58112e2024-03-07 11:16:36 -060050 for e in $example_excutables
51 do
52 cp -rf $e ${D}${PTEST_PATH}/example/
53 done
Patrick Williamsac13d5f2023-11-24 18:59:46 -060054
Patrick Williamsb58112e2024-03-07 11:16:36 -060055 for e in $util_excutables
56 do
57 cp -rf $e ${D}${PTEST_PATH}/util/
58 done
Patrick Williamsac13d5f2023-11-24 18:59:46 -060059
Patrick Williamsb58112e2024-03-07 11:16:36 -060060 for e in $test_excutables
61 do
62 cp -rf $e ${D}${PTEST_PATH}/test
63 done
Patrick Williamsac13d5f2023-11-24 18:59:46 -060064}
65
66DEPENDS = "udev"
67
68PACKAGES =+ "fuse3-utils"
69
70RPROVIDES:${PN}-dbg += "fuse3-utils-dbg"
71
72RRECOMMENDS:${PN}:class-target = "kernel-module-fuse fuse3-utils"
73
74FILES:${PN} += "${libdir}/libfuse3.so.*"
75FILES:${PN}-dev += "${libdir}/libfuse3*.la"
76
77# Forbid auto-renaming to libfuse3-utils
78FILES:fuse3-utils = "${bindir} ${base_sbindir}"
79DEBIAN_NOAUTONAME:fuse3-utils = "1"
80DEBIAN_NOAUTONAME:${PN}-dbg = "1"
81
82do_install:append() {
83 rm -rf ${D}${base_prefix}/dev
84}