Tue Nov 30 12:34:24 2021 UTC ()
Update to bindfs-1.15.1 from 1.8.4

ChangeLog is too long to paste here:
https://bindfs.org/docs/ChangeLog.utf8.txt

Note: On NetBSD, bindfs always maps the root directory "/" regardless
of what source directory specified, unless the -f (foreground) option
is given. The issue existed in 1.8.4 and I thought updating the
package could fix it, but it didn't. The problem was actually in
librefuse, which is now fixed in HEAD:
http://mail-index.netbsd.org/source-changes/2021/11/30/msg134159.html


(pho)
diff -r1.5 -r1.6 pkgsrc/filesystems/fuse-bindfs/Makefile
diff -r1.4 -r1.5 pkgsrc/filesystems/fuse-bindfs/distinfo
diff -r1.1.1.1 -r0 pkgsrc/filesystems/fuse-bindfs/patches/patch-aa
diff -r0 -r1.1 pkgsrc/filesystems/fuse-bindfs/patches/patch-configure.ac
diff -r0 -r1.1 pkgsrc/filesystems/fuse-bindfs/patches/patch-src_bindfs.c

cvs diff -r1.5 -r1.6 pkgsrc/filesystems/fuse-bindfs/Makefile (expand / switch to context diff)
--- pkgsrc/filesystems/fuse-bindfs/Makefile 2017/12/24 09:49:30 1.5
+++ pkgsrc/filesystems/fuse-bindfs/Makefile 2021/11/30 12:34:24 1.6
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.5 2017/12/24 09:49:30 wiz Exp $
+# $NetBSD: Makefile,v 1.6 2021/11/30 12:34:24 pho Exp $
 
-DISTNAME=	bindfs-1.8.4
+DISTNAME=	bindfs-1.15.1
 PKGNAME=	fuse-${DISTNAME}
-PKGREVISION=	1
 CATEGORIES=	filesystems
-MASTER_SITES=	http://bindfs.googlecode.com/files/
+MASTER_SITES=	https://bindfs.org/downloads/
 
 MAINTAINER=	pkgsrc-users@NetBSD.org
 HOMEPAGE=	https://bindfs.org/
@@ -13,9 +12,10 @@
 
 GNU_CONFIGURE=	yes
 USE_LANGUAGES=	c c++
-USE_TOOLS+=	autoconf gmake pkg-config
+USE_TOOLS+=	automake autoreconf gmake pkg-config
 
-CPPFLAGS.NetBSD+=	-D_NETBSD_SOURCE
+pre-configure:
+	cd ${WRKSRC} && autoreconf
 
 .include "../../mk/fuse.buildlink3.mk"
 .include "../../mk/bsd.pkg.mk"

cvs diff -r1.4 -r1.5 pkgsrc/filesystems/fuse-bindfs/distinfo (expand / switch to context diff)
--- pkgsrc/filesystems/fuse-bindfs/distinfo 2021/10/26 10:25:26 1.4
+++ pkgsrc/filesystems/fuse-bindfs/distinfo 2021/11/30 12:34:24 1.5
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.4 2021/10/26 10:25:26 nia Exp $
+$NetBSD: distinfo,v 1.5 2021/11/30 12:34:24 pho Exp $
 
-BLAKE2s (bindfs-1.8.4.tar.gz) = 80e066965eed55720f97c3d483895d1fb4ea03f7443cee2905e87cd92c979703
+BLAKE2s (bindfs-1.15.1.tar.gz) = 0aa3194987049c03e5cff3b816e14e8dab4d0b89de7e1b7fdeca54400b06e61a
-SHA512 (bindfs-1.8.4.tar.gz) = ff65a4cfe5d05ac43ca19e8b54a9d17e0e7202b8c46082251dcf4805dc28a41865014dd9cde1367cd66ca1cc171f81e3f79eb643fb206cbaf0cbb4353985809c
+SHA512 (bindfs-1.15.1.tar.gz) = da9003f141b7aa2c23651b3b836b1d979bf1b19915f307c05e40ae6906aab738036cc8b5df6caeec158e4fa6b7bca71489ea7884ff1607c6fea72a603a048d59
-Size (bindfs-1.8.4.tar.gz) = 305725 bytes
+Size (bindfs-1.15.1.tar.gz) = 415676 bytes
-SHA1 (patch-aa) = 72053cb69ae5002c4b6cae562e3331c566a6b392
+SHA1 (patch-configure.ac) = 2b3c89e80f96e70ab1f921b81fc99fef8307d3b3
+SHA1 (patch-src_bindfs.c) = 7daba2605ae0086933209d8b5ef0c88dccb3f9a0

File Deleted: pkgsrc/filesystems/fuse-bindfs/patches/Attic/patch-aa

File Added: pkgsrc/filesystems/fuse-bindfs/patches/patch-configure.ac
$NetBSD: patch-configure.ac,v 1.1 2021/11/30 12:34:24 pho Exp $

* Fix shell portability.
* Fix an incorrect logic to detect fuse >= 2.6.

--- configure.ac.orig	2021-11-30 11:00:36.957203334 +0000
+++ configure.ac
@@ -17,11 +17,11 @@ AC_ARG_WITH([fuse2],
 AC_ARG_WITH([fuse3],
     [AS_HELP_STRING([--with-fuse3], [link against libfuse 3.x (default: autodetect, preferring 3.x)])])
 
-if test x"$enable_debug_output" == "xyes" ; then
+if test x"$enable_debug_output" = "xyes" ; then
     AC_DEFINE([BINDFS_DEBUG], [1], [Define to 1 to enable debugging messages])
 fi
 
-if test x"$with_core_foundation" == "xyes" ; then
+if test x"$with_core_foundation" = "xyes" ; then
     AC_MSG_NOTICE([Linking with Core Foundation])
     LDFLAGS="${LDFLAGS} -framework CoreFoundation"
 fi
@@ -69,7 +69,7 @@ AC_DEFUN([CHECK_FUSE2],
             AC_DEFINE([HAVE_FUSE_29], [1], [Have FUSE >= 2.9.0])
             AC_DEFINE([FUSE_USE_VERSION], [26], [FUSE API VERSION = 2.6])
         ],
-        [PKG_CHECK_MODULES([fuse], [fuse >= 2.8.0],
+        [PKG_CHECK_MODULES([fuse], [fuse >= 2.6.0],
             [
                 AC_DEFINE([FUSE_USE_VERSION], [26], [FUSE API VERSION = 2.6])
             ],
@@ -88,9 +88,9 @@ AC_DEFUN([CHECK_FUSE3],
     )]
 )
 
-AS_IF([test "x$with_fuse2" == "xyes"],
+AS_IF([test "x$with_fuse2" = "xyes"],
     [CHECK_FUSE2([AC_MSG_ERROR([FUSE 2 not found])])],
-    [AS_IF([test "x$with_fuse3" == "xyes"],
+    [AS_IF([test "x$with_fuse3" = "xyes"],
         [CHECK_FUSE3([AC_MSG_ERROR([FUSE 3 not found])])],
         [CHECK_FUSE3([CHECK_FUSE2([AC_MSG_ERROR([FUSE not found])])])]
     )]

File Added: pkgsrc/filesystems/fuse-bindfs/patches/patch-src_bindfs.c
$NetBSD: patch-src_bindfs.c,v 1.1 2021/11/30 12:34:24 pho Exp $

Fix compatibility with FUSE 2.6: ioctl() is not supported.

--- src/bindfs.c.orig	2021-11-30 11:04:33.969893934 +0000
+++ src/bindfs.c
@@ -1721,8 +1721,8 @@ static struct fuse_operations bindfs_ope
 #if defined(HAVE_FUSE_29) || defined(HAVE_FUSE_3)
     .lock       = bindfs_lock,
     .flock      = bindfs_flock,
-#endif
     .ioctl      = bindfs_ioctl,
+#endif
     .statfs     = bindfs_statfs,
     .release    = bindfs_release,
     .fsync      = bindfs_fsync,
@@ -2843,10 +2843,18 @@ int main(int argc, char *argv[])
     }
 #endif
 
+#if defined(HAVE_FUSE_29) || defined(HAVE_FUSE_3)
     /* Remove the ioctl implementation unless the user has enabled it */
     if (!settings.enable_ioctl) {
         bindfs_oper.ioctl = NULL;
     }
+#else
+    if (settings.enable_ioctl) {
+        fprintf(stderr, "To use --enable-ioctl, bindfs must be "
+                        "compiled with FUSE 2.9.0 or newer.\n");
+        return 1;
+    }
+#endif
 
     /* Remove/Ignore some special -o options */
     args = filter_special_opts(&args);