diff mbox series

[scarthgap,meta-filesystems,V2] fuse3: remove sysv init script and install fuse kernel module explictly

Message ID 20240524022350.2415086-1-changqing.li@windriver.com
State New
Headers show
Series [scarthgap,meta-filesystems,V2] fuse3: remove sysv init script and install fuse kernel module explictly | expand

Commit Message

Changqing Li May 24, 2024, 2:23 a.m. UTC
From: Changqing Li <changqing.li@windriver.com>

For systemd, there is not a fuse.service since systemd provides
sys-fs-fuse-connections.mount to mount the fuse control filesystem, so
instead, only fuse3.conf is added to modules-load.d to load the required
fuse kernel module.

Signed-off-by: Changqing Li <changqing.li@windriver.com>
---
 .../recipes-support/fuse/fuse3/fuse3.conf         |  1 +
 .../recipes-support/fuse/fuse3_3.16.2.bb          | 15 +++++++++++++++
 2 files changed, 16 insertions(+)
 create mode 100644 meta-filesystems/recipes-support/fuse/fuse3/fuse3.conf
diff mbox series

Patch

diff --git a/meta-filesystems/recipes-support/fuse/fuse3/fuse3.conf b/meta-filesystems/recipes-support/fuse/fuse3/fuse3.conf
new file mode 100644
index 000000000..a517c488f
--- /dev/null
+++ b/meta-filesystems/recipes-support/fuse/fuse3/fuse3.conf
@@ -0,0 +1 @@ 
+fuse
diff --git a/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb b/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
index 2b0797a6f..b946b63ee 100644
--- a/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
+++ b/meta-filesystems/recipes-support/fuse/fuse3_3.16.2.bb
@@ -14,6 +14,7 @@  LIC_FILES_CHKSUM = " \
 "
 
 SRC_URI = "https://github.com/libfuse/libfuse/releases/download/fuse-${PV}/fuse-${PV}.tar.gz \
+           file://fuse3.conf \
 "
 SRC_URI[sha256sum] = "f797055d9296b275e981f5f62d4e32e089614fc253d1ef2985851025b8a0ce87"
 
@@ -79,6 +80,20 @@  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 ${WORKDIR}/fuse3.conf ${D}${sysconfdir}/modules-load.d
+    fi
 }