Download raw body.
[update] libfuse header reorg
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
[update] libfuse header reorg