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