pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/filesystems Conditionalise workarounds for old NetBSD ...



details:   https://anonhg.NetBSD.org/pkgsrc/rev/aeaae5a61e0f
branches:  trunk
changeset: 372289:aeaae5a61e0f
user:      pho <pho%pkgsrc.org@localhost>
date:      Sat Jan 22 18:41:21 2022 +0000

description:
Conditionalise workarounds for old NetBSD librefuse

diffstat:

 filesystems/fuse-httpfs/Makefile                 |    4 +-
 filesystems/fuse-httpfs/distinfo                 |    4 +-
 filesystems/fuse-httpfs/patches/patch-aa         |   79 ++++++++++++++-
 filesystems/fuse-obexfs/Makefile                 |    8 +-
 filesystems/fuse-obexfs/distinfo                 |    4 +-
 filesystems/fuse-obexfs/patches/patch-aa         |   29 +++-
 filesystems/fuse-pod/Makefile                    |    5 +-
 filesystems/fuse-pod/distinfo                    |    4 +-
 filesystems/fuse-pod/patches/patch-aa            |   16 ++-
 filesystems/fuse-sshfs/Makefile                  |    4 +-
 filesystems/fuse-sshfs/distinfo                  |    7 +-
 filesystems/fuse-sshfs/patches/patch-cache.c     |   36 +++---
 filesystems/fuse-sshfs/patches/patch-meson.build |   19 ---
 filesystems/fuse-sshfs/patches/patch-sshfs.c     |  117 +++++++++++-----------
 filesystems/fuse-wdfs/Makefile                   |    5 +-
 filesystems/fuse-wdfs/distinfo                   |    4 +-
 filesystems/fuse-wdfs/patches/patch-aa           |   43 +-------
 17 files changed, 212 insertions(+), 176 deletions(-)

diffs (truncated from 944 to 300 lines):

diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-httpfs/Makefile
--- a/filesystems/fuse-httpfs/Makefile  Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-httpfs/Makefile  Sat Jan 22 18:41:21 2022 +0000
@@ -1,14 +1,16 @@
-# $NetBSD: Makefile,v 1.4 2012/10/03 16:08:32 asau Exp $
+# $NetBSD: Makefile,v 1.5 2022/01/22 18:41:21 pho Exp $
 #
 
 DISTNAME=      httpfs_with_static_binaries_${DIST_VER}
 PKGNAME=       fuse-httpfs-${DIST_VER}
+PKGREVISION=   1
 CATEGORIES=    filesystems
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=httpfs/}
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      http://httpfs.sourceforge.net/
 COMMENT=       FUSE HTTP filesystem
+LICENSE=       gnu-gpl-v2
 
 DIST_VER=      2.06.08.26
 
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-httpfs/distinfo
--- a/filesystems/fuse-httpfs/distinfo  Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-httpfs/distinfo  Sat Jan 22 18:41:21 2022 +0000
@@ -1,6 +1,6 @@
-$NetBSD: distinfo,v 1.5 2021/10/26 10:25:27 nia Exp $
+$NetBSD: distinfo,v 1.6 2022/01/22 18:41:21 pho Exp $
 
 BLAKE2s (httpfs_with_static_binaries_2.06.08.26.tar.gz) = 92ffd4710d5d14a13eb94799df2ec2b8ead531dacc80c2af6e81a007388c3e87
 SHA512 (httpfs_with_static_binaries_2.06.08.26.tar.gz) = 49620221d7dac0e831670666772d35f63e3a153d1fb75156f1825d72b158a1492eed7f4db3441807aec4a7fa86408d05f1adef03b8075d0889a7d8f685676fd2
 Size (httpfs_with_static_binaries_2.06.08.26.tar.gz) = 115384 bytes
-SHA1 (patch-aa) = 6dc82d997847f2bb5e6618f59736d5bee5d97eb1
+SHA1 (patch-aa) = 2e3932c89211268cfe6ec696c8b3f9013813e3e6
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-httpfs/patches/patch-aa
--- a/filesystems/fuse-httpfs/patches/patch-aa  Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-httpfs/patches/patch-aa  Sat Jan 22 18:41:21 2022 +0000
@@ -1,6 +1,21 @@
-$NetBSD: patch-aa,v 1.1 2009/08/03 13:50:39 joerg Exp $
+$NetBSD: patch-aa,v 1.2 2022/01/22 18:41:21 pho Exp $
+
+Hunk #0:
+    Be explicit about the API version it wants to use.
 
---- httpfs.c.orig      2009-08-03 15:46:22.000000000 +0200
+Hunk #1, #2, #3, #5:
+    httpfs performs a weird hack that obtains a reference to the
+    directory it is going to be mounted on, and then tries to call
+    statvfs(2) and opendir(3) on that directory in respective
+    filesystem callbacks. On Linux this can somehow avoid deadlocks it
+    seems (possibly due to the way how Linux vfs is implemented?), but
+    on NetBSD it can't. Don't try to do that.
+
+Hunk #4:
+    Workaround for NetBSD librefuse that had an API incompatible with
+    FUSE. Already fixed in HEAD.
+
+--- httpfs.c.orig      2006-08-26 06:29:28.000000000 +0000
 +++ httpfs.c
 @@ -1,3 +1,5 @@
 +#define FUSE_USE_VERSION 25
@@ -8,12 +23,66 @@
  /*
   * HTTPFS: import a file from a web server to local file system
   * the main use is, to mount an iso on a web server with loop device
-@@ -802,7 +804,7 @@ static int httpfs_fsync(const char *path
+@@ -550,6 +552,9 @@ static int httpfs_readlink(const char *p
+ 
+ static int httpfs_readdir(const char *path, void *buf, fuse_fill_dir_t filler,
+                          off_t offset, struct fuse_file_info *fi) {
++#if defined(__NetBSD__)
++    filler(buf, httpfs_path + 1, NULL, 0);
++#else
+     DIR *dp;
+     struct dirent *de;
+     (void) offset;
+@@ -574,6 +579,7 @@ static int httpfs_readdir(const char *pa
+     }
+ 
+     closedir(dp);
++#endif
+ 
+     return 0;
+ }
+@@ -778,11 +784,15 @@ static int httpfs_statfs(const char *pat
+     int res;
+     (void) path;
+ 
++#if defined(__NetBSD__)
++    return -ENOSYS;
++#else
+     res = statvfs(".", stbuf);
+     if (res == -1)
+         return -errno;
+ 
+     return 0;
++#endif
+ }
+ 
+ static int httpfs_release(const char *path, struct fuse_file_info *fi) {
+@@ -802,7 +812,11 @@ static int httpfs_fsync(const char *path
      return 0;
  }
  
--static void *httpfs_init(void) {
-+static void *httpfs_init(struct fuse_conn_info *arg) {
++#if defined(__NetBSD__) && FUSE_H_ < 20211204
++static void *httpfs_init(struct fuse_conn_info *conn) {
++#else
+ static void *httpfs_init(void) {
++#endif
      fchdir(targetFd); /* that's the catch */
      return NULL;
  }
+@@ -924,11 +938,15 @@ int main(int argc, char *argv[]) {
+       (void) fprintf(stderr, "%s: %s is not a directory\n", argv0, argv2);
+       return 1;
+     }
+-    
++
++#if defined(__NetBSD__)
++    targetFd = open("/", 0); /* Unused */
++#else
+     if ((targetFd = open(argv2, 0)) == -1) {
+       (void) fprintf(stderr, "%s: open %s failed\n", argv0, argv2);
+       return 1;
+     }
++#endif
+     
+     ri = rindex(file_name, '/');
+     if (ri == (char *) 0) {
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-obexfs/Makefile
--- a/filesystems/fuse-obexfs/Makefile  Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-obexfs/Makefile  Sat Jan 22 18:41:21 2022 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.9 2017/08/01 16:47:38 wiz Exp $
+# $NetBSD: Makefile,v 1.10 2022/01/22 18:43:19 pho Exp $
 #
 
 DISTNAME=      obexfs-0.8
 PKGNAME=       fuse-${DISTNAME}
-PKGREVISION=   1
+PKGREVISION=   2
 CATEGORIES=    filesystems
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=openobex/}
 
@@ -15,10 +15,6 @@
 GNU_CONFIGURE= yes
 USE_TOOLS+=    autoconf gmake pkg-config
 
-CPPFLAGS.NetBSD+=      -D_KERNTYPES
-
-BUILDLINK_API_DEPENDS.openobex+=       openobex>=1.3nb2
-
 pre-configure:
        cd ${WRKSRC} && autoconf
 
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-obexfs/distinfo
--- a/filesystems/fuse-obexfs/distinfo  Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-obexfs/distinfo  Sat Jan 22 18:41:21 2022 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.5 2021/10/26 10:25:28 nia Exp $
+$NetBSD: distinfo,v 1.6 2022/01/22 18:43:19 pho Exp $
 
 BLAKE2s (obexfs-0.8.tar.gz) = f8e0463c0199df63e4c5111e3b947e56a594f159b2eea75e9f79ff82efb1472a
 SHA512 (obexfs-0.8.tar.gz) = 3fdca66b52315c8d119dd7ee3f48e974cc3b0834531dd99f8cdd61b8d7558a9899e4f25fef29461d5a9fc8c9dd1fdaccbf8af43521d75ddd413a45f48a26a73d
 Size (obexfs-0.8.tar.gz) = 76393 bytes
-SHA1 (patch-aa) = beef802678c5839fe37fa84288bb545934001ef2
+SHA1 (patch-aa) = 2e607af6ee2cd4a57091e4cce9ca799ca0fd5dcf
 SHA1 (patch-ab) = 63936898afa0cbf1c2e972d9aef9a6681de65f20
 SHA1 (patch-ac) = 42a1f77900e49f7e3afc9b3e935d66443b92ad69
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-obexfs/patches/patch-aa
--- a/filesystems/fuse-obexfs/patches/patch-aa  Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-obexfs/patches/patch-aa  Sat Jan 22 18:41:21 2022 +0000
@@ -1,16 +1,27 @@
-$NetBSD: patch-aa,v 1.2 2007/05/16 11:02:12 xtraeme Exp $
+$NetBSD: patch-aa,v 1.3 2022/01/22 18:43:20 pho Exp $
+
+* Use the correct API version: opendir() appeared on FUSE 2.3, not
+  2.2.
 
---- fuse/obexfs.c.orig 2006-01-19 15:46:43.000000000 +0100
-+++ fuse/obexfs.c      2007-05-16 12:52:58.000000000 +0200
-@@ -26,6 +26,8 @@
+* Work around an API incompatibility in the past versions of NetBSD
+  librefuse: it had a wrong prototype for the callback
+  statfs(). Already fixed in HEAD.
+
+--- fuse/obexfs.c.orig 2006-01-19 14:46:43.000000000 +0000
++++ fuse/obexfs.c
+@@ -26,8 +26,10 @@
  /* strndup */
  #define _GNU_SOURCE
  
+-/* at least fuse v 2.2 is needed */
+-#define FUSE_USE_VERSION 22
 +#include "config.h"
 +
- /* at least fuse v 2.2 is needed */
- #define FUSE_USE_VERSION 22
++/* at least fuse v 2.3 is needed */
++#define FUSE_USE_VERSION 23
  #include <fuse.h>
+ #include <stdio.h>
+ #include <stdlib.h>
 @@ -37,7 +39,11 @@
  #include <fcntl.h>
  #include <dirent.h>
@@ -31,11 +42,11 @@
  #ifdef DEBUGOUPUT
  #define DEBUG(...) fprintf(stderr, __VA_ARGS__)
  #else
-@@ -412,12 +417,20 @@
+@@ -412,12 +417,20 @@ static int ofs_release(const char *path,
        return 0;
  }
  
-+#if HAVE_SYS_STATVFS_H
++#if HAVE_SYS_STATVFS_H && defined(__NetBSD__) && FUSE_H_ < 20211204
 +static int ofs_statfs(const char *UNUSED(label), struct statvfs *st)
 +#else
  static int ofs_statfs(const char *UNUSED(label), struct statfs *st)
@@ -44,7 +55,7 @@
        int res;
        int size, free;
  
-+#if HAVE_SYS_STATVFS_H
++#if HAVE_SYS_STATVFS_H && defined(__NetBSD__) && FUSE_H_ < 20211204
 +      memset(st, 0, sizeof(struct statvfs));
 +#else
        memset(st, 0, sizeof(struct statfs));
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-pod/Makefile
--- a/filesystems/fuse-pod/Makefile     Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-pod/Makefile     Sat Jan 22 18:41:21 2022 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.43 2021/12/08 16:04:21 adam Exp $
+# $NetBSD: Makefile,v 1.44 2022/01/22 18:45:13 pho Exp $
 #
 
 DISTNAME=      fusepod-0.5.1
 PKGNAME=       fuse-pod-0.5.1
-PKGREVISION=   37
+PKGREVISION=   38
 CATEGORIES=    filesystems
 MASTER_SITES=  ${MASTER_SITE_SOURCEFORGE:=fusepod/}
 EXTRACT_SUFX=  .tar.bz2
@@ -11,6 +11,7 @@
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 HOMEPAGE=      http://fusepod.sourceforge.net/
 COMMENT=       FUSE-based filesystem for iPod
+LICENSE=       gnu-gpl-v2
 
 GNU_CONFIGURE= yes
 USE_LANGUAGES+=        c c++03
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-pod/distinfo
--- a/filesystems/fuse-pod/distinfo     Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-pod/distinfo     Sat Jan 22 18:41:21 2022 +0000
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.5 2021/10/26 10:25:28 nia Exp $
+$NetBSD: distinfo,v 1.6 2022/01/22 18:45:13 pho Exp $
 
 BLAKE2s (fusepod-0.5.1.tar.bz2) = 761fcac8d17829efc153b43e1b38337a346c3f48e0219a0a00f6870bf65ffcf6
 SHA512 (fusepod-0.5.1.tar.bz2) = 3a4d526bdd2cd7f2cc28458898399fc2c50aca989a19d2bc2d9921eaf841195eaa0f9f6a86ac5ebccc8ab56117464a64081e510afef1456817297eebcd7465f8
 Size (fusepod-0.5.1.tar.bz2) = 78547 bytes
-SHA1 (patch-aa) = cb2aceb2aefaa8b99dc95fce70835edb85ab1a92
+SHA1 (patch-aa) = a2897d44503c6018c7aec02773a0aeee307197ea
 SHA1 (patch-ab) = 923f7f7449c85d2ea537845b779aebec6aede1e8
 SHA1 (patch-src_fusepod__util.h) = 71485be8dfdecc1f2be61d1c5c08ac9d3447c0c5
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-pod/patches/patch-aa
--- a/filesystems/fuse-pod/patches/patch-aa     Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-pod/patches/patch-aa     Sat Jan 22 18:41:21 2022 +0000
@@ -1,13 +1,19 @@
-$NetBSD: patch-aa,v 1.1.1.1 2007/05/04 23:48:33 agc Exp $
+$NetBSD: patch-aa,v 1.2 2022/01/22 18:45:13 pho Exp $
 
---- src/fusepod.cpp    2007/05/04 23:21:09     1.1
-+++ src/fusepod.cpp    2007/05/04 23:23:52
-@@ -672,7 +672,7 @@
+NetBSD librefuse used to have a wrong prototype for init() in FUSE 2.5
+API. Already fixed in HEAD.
+
+--- src/fusepod.cpp.orig       2006-08-07 14:39:18.000000000 +0000
++++ src/fusepod.cpp
+@@ -672,7 +672,11 @@ static vector<string> get_string_desc ()
      return paths;
  }
  
--void * fusepod_init () {
++#if defined(__NetBSD__) && FUSE_H_ < 20211204
 +void * fusepod_init (fuse_conn_info *connection) {
++#else
+ void * fusepod_init () {
++#endif
      syncing = false;
      syncing_file = "";
  
diff -r 5f78711f13d3 -r aeaae5a61e0f filesystems/fuse-sshfs/Makefile
--- a/filesystems/fuse-sshfs/Makefile   Sat Jan 22 18:34:51 2022 +0000
+++ b/filesystems/fuse-sshfs/Makefile   Sat Jan 22 18:41:21 2022 +0000
@@ -1,9 +1,9 @@
-# $NetBSD: Makefile,v 1.6 2021/12/20 07:09:07 nia Exp $



Home | Main Index | Thread Index | Old Index