From: James Turner Subject: Re: [update] libfuse header reorg To: Helg Cc: ports@openbsd.org, bket@openbsd.org Date: Sun, 23 Nov 2025 19:04:46 +0100 On Sun, Nov 23, 2025 at 06:10:57PM +0100, Helg wrote: > 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? > ok fossil > > > 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