summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support/fuse/fuse3_3.16.2.bb
blob: e75c88210c29ce7fbca2850db508f099cc0527d7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
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] = "f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87"

S = "${WORKDIR}/fuse-${PV}"

UPSTREAM_CHECK_URI = "https://github.com/libfuse/libfuse/releases"
UPSTREAM_CHECK_REGEX = "fuse\-(?P<pver>3(\.\d+)+).tar.xz"

CVE_PRODUCT = "fuse_project:fuse"

inherit meson pkgconfig ptest

SRC_URI += " \
    file://run-ptest \
    file://fuse3.conf \
"
#python3-compile for filecmp module
RDEPENDS:${PN}-ptest += " \
    python3-compile \
    python3-pytest \
    python3-looseversion \
    bash \
"
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
}