Download raw body.
[update] libfuse header reorg
Hi ports@
I've reorganised the libfuse header files as a preperatory patch for
supporting the low-level FUSE API:
It introduces the following new files.
- /usr/include/fuse/fuse_common.h
- /usr/include/fuse/fuse_lowlevel.h
- /usr/src/lib/libfuse/fuse_chan.c
Additionally, it relocates all libfuse header files to the
/usr/include/fuse directory so that it now contains.
- /usr/include/fuse/fuse.h
- /usr/include/fuse/fuse_opt.h
- /usr/include/fuse/fuse_common.h
- /usr/include/fuse/fuse_lowlevel.h
This change avoids FUSE header clutter in /usr/include and aligns with
how Linux organises FUSE related headers.
Before I commit this patch to the source tree, I need to ensure that all
FUSE filesystems in ports still compile. I've run the following to
compile them all.
env SUBDIRLIST=/home/helg/fuse-ports.txt make FETCH_PACKAGES=
fuse-ports.txt contains:
archivers/fuse-zip
devel/fossil
security/encfs
security/libbde
security/libewf
#security/veracrypt
sysutils/curlftpfs
sysutils/libfsapfs
sysutils/libfsntfs
sysutils/libfvde
sysutils/libluksde
sysutils/libolecf
sysutils/libqcow
sysutils/libregf
sysutils/libsmraw
sysutils/libvhdi
sysutils/libvmdk
sysutils/libvshadow
sysutils/libvslvm
sysutils/ntfs-3g
sysutils/simple-mtpfs
sysutils/sshfs-fuse
sysutils/unionfs-fuse
sysutils/usmb
All except 3 compiled without problems. The below is a diff for fossil
and unionfs-fuse. veracrypt failed with a bunch of dependenciEs on my
system via make and pkg_add. Maybe someone else can test this.
Fossil successfully knows to add -lfuse to LIBS as port of configure
but doesn't also add -I/usr/include/fuse to CFLAGS. My understanding of
autoconfig is not good enough to know why.
Either way, by using pkg-config everything should work before and after
I commit my fuse headers patch.
ok?
Index: devel/fossil/patches/patch-auto_def
===================================================================
RCS file: /cvs/ports/devel/fossil/patches/patch-auto_def,v
diff -u -p -r1.20 patch-auto_def
--- devel/fossil/patches/patch-auto_def 6 May 2025 21:58:23 -0000 1.20
+++ devel/fossil/patches/patch-auto_def 23 Nov 2025 16:04:05 -0000
@@ -10,3 +10,13 @@ Index: auto.def
msg-result "Trying to link statically"
} else {
define-append EXTRA_CFLAGS -DFOSSIL_DYNAMIC_BUILD=1
+@@ -814,7 +814,8 @@ if {[opt-bool fusefs]} {
+ if {[opt-bool static]} {
+ msg-result "FuseFS support disabled due to -static"
+ } elseif {[cc-check-function-in-lib fuse_mount fuse]} {
+- define-append EXTRA_CFLAGS -DFOSSIL_HAVE_FUSEFS
++ set cflags [exec pkg-config fuse --cflags-only-I]
++ define-append EXTRA_CFLAGS -DFOSSIL_HAVE_FUSEFS $cflags
+ define FOSSIL_HAVE_FUSEFS 1
+ msg-result "FuseFS support enabled"
+ }
Index: sysutils/unionfs-fuse/Makefile
===================================================================
RCS file: /cvs/ports/sysutils/unionfs-fuse/Makefile,v
diff -u -p -r1.10 Makefile
--- sysutils/unionfs-fuse/Makefile 26 Sep 2025 04:51:46 -0000 1.10
+++ sysutils/unionfs-fuse/Makefile 23 Nov 2025 16:04:59 -0000
@@ -11,7 +11,8 @@ PERMIT_PACKAGE = Yes
WANTLIB = c fuse pthread
-MAKE_FLAGS = CPPFLAGS="-DFUSE_USE_VERSION=29 -DDISABLE_XATTR" \
+MAKE_FLAGS = CPPFLAGS="-DFUSE_USE_VERSION=29 -DDISABLE_XATTR \
+ `pkg-config --cflags fuse`" \
LIB="-lfuse -lpthread"
ALL_TARGET = build
[update] libfuse header reorg