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