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 unified 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,21 +1,21 @@ @@ -1,21 +1,21 @@
1# $NetBSD: Makefile,v 1.5 2017/12/24 09:49:30 wiz Exp $ 1# $NetBSD: Makefile,v 1.6 2021/11/30 12:34:24 pho Exp $
2 2
3DISTNAME= bindfs-1.8.4 3DISTNAME= bindfs-1.15.1
4PKGNAME= fuse-${DISTNAME} 4PKGNAME= fuse-${DISTNAME}
5PKGREVISION= 1 
6CATEGORIES= filesystems 5CATEGORIES= filesystems
7MASTER_SITES= http://bindfs.googlecode.com/files/ 6MASTER_SITES= https://bindfs.org/downloads/
8 7
9MAINTAINER= pkgsrc-users@NetBSD.org 8MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://bindfs.org/ 9HOMEPAGE= https://bindfs.org/
11COMMENT= Remounts file system subtrees in arbitrary locations 10COMMENT= Remounts file system subtrees in arbitrary locations
12LICENSE= gnu-gpl-v2 11LICENSE= gnu-gpl-v2
13 12
14GNU_CONFIGURE= yes 13GNU_CONFIGURE= yes
15USE_LANGUAGES= c c++ 14USE_LANGUAGES= c c++
16USE_TOOLS+= autoconf gmake pkg-config 15USE_TOOLS+= automake autoreconf gmake pkg-config
17 16
18CPPFLAGS.NetBSD+= -D_NETBSD_SOURCE 17pre-configure:
 18 cd ${WRKSRC} && autoreconf
19 19
20.include "../../mk/fuse.buildlink3.mk" 20.include "../../mk/fuse.buildlink3.mk"
21.include "../../mk/bsd.pkg.mk" 21.include "../../mk/bsd.pkg.mk"

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