From: Helg Subject: [update] libfuse header reorg To: ports@openbsd.org Cc: bket@openbsd.org, james@calminferno.net Date: Sun, 23 Nov 2025 18:10:57 +0100 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