pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/filesystems/fuse-sshfs
Module Name: pkgsrc
Committed By: vins
Date: Sun May 10 11:40:18 UTC 2026
Modified Files:
pkgsrc/filesystems/fuse-sshfs: Makefile distinfo
pkgsrc/filesystems/fuse-sshfs/patches: patch-cache.c patch-sshfs.c
Log Message:
filesystems/fuse-sshfs: update to 3.7.5
# changes
* New maintainers added
* Main documentation updates to using Markdown
* Updated Windows and macOS support
* Added IPv6 support in -o directport
* Added -o vsock option
* Minor bugfixes
To generate a diff of this commit:
cvs rdiff -u -r1.14 -r1.15 pkgsrc/filesystems/fuse-sshfs/Makefile
cvs rdiff -u -r1.10 -r1.11 pkgsrc/filesystems/fuse-sshfs/distinfo
cvs rdiff -u -r1.2 -r1.3 pkgsrc/filesystems/fuse-sshfs/patches/patch-cache.c
cvs rdiff -u -r1.3 -r1.4 pkgsrc/filesystems/fuse-sshfs/patches/patch-sshfs.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/filesystems/fuse-sshfs/Makefile
diff -u pkgsrc/filesystems/fuse-sshfs/Makefile:1.14 pkgsrc/filesystems/fuse-sshfs/Makefile:1.15
--- pkgsrc/filesystems/fuse-sshfs/Makefile:1.14 Thu Oct 23 20:36:54 2025
+++ pkgsrc/filesystems/fuse-sshfs/Makefile Sun May 10 11:40:18 2026
@@ -1,11 +1,9 @@
-# $NetBSD: Makefile,v 1.14 2025/10/23 20:36:54 wiz Exp $
+# $NetBSD: Makefile,v 1.15 2026/05/10 11:40:18 vins Exp $
-DISTNAME= sshfs-3.7.4a
+DISTNAME= sshfs-3.7.5
PKGNAME= fuse-${DISTNAME}
-PKGREVISION= 1
CATEGORIES= filesystems
-#MASTER_SITES= ${MASTER_SITE_GITHUB:=libfuse/}
-MASTER_SITES= ${MASTER_SITE_GITHUB:=deadbeefsociety/}
+MASTER_SITES= ${MASTER_SITE_GITHUB:=libfuse/}
GITHUB_PROJECT= sshfs
GITHUB_RELEASE= ${DISTNAME}
EXTRACT_SUFX= .tar.xz
@@ -21,6 +19,11 @@ EXTRACT_OPTS_TAR.${DISTNAME}${EXTRACT_SU
USE_LANGUAGES= c
USE_TOOLS= pkg-config
+USE_FUSE3= yes
+
+.if !empty(LP32PLATFORMS:@.PLAT.@${MACHINE_PLATFORM:M${.PLAT.}}@)
+CFLAGS+= -D_FILE_OFFSET_BITS=64
+.endif
PYTHON_FOR_BUILD_ONLY= tool
PYTHON_VERSIONS_INCOMPATIBLE= 27
Index: pkgsrc/filesystems/fuse-sshfs/distinfo
diff -u pkgsrc/filesystems/fuse-sshfs/distinfo:1.10 pkgsrc/filesystems/fuse-sshfs/distinfo:1.11
--- pkgsrc/filesystems/fuse-sshfs/distinfo:1.10 Wed Nov 22 19:46:10 2023
+++ pkgsrc/filesystems/fuse-sshfs/distinfo Sun May 10 11:40:18 2026
@@ -1,9 +1,9 @@
-$NetBSD: distinfo,v 1.10 2023/11/22 19:46:10 wiz Exp $
+$NetBSD: distinfo,v 1.11 2026/05/10 11:40:18 vins Exp $
-BLAKE2s (sshfs-3.7.4a.tar.xz) = d0f3a3a9d7c08556e7da738ae0096b1d7a64823874bb3af20388a7f818598231
-SHA512 (sshfs-3.7.4a.tar.xz) = 904e4f72a393349e760fa585f8ff0523907d55bded0bcbf32de079a44bcd836b9930eadee4f0b0f4be3a775551cdafb0558addbfa8f11f55d465668c6eeae669
-Size (sshfs-3.7.4a.tar.xz) = 56656 bytes
-SHA1 (patch-cache.c) = 570525d7cae09055537b00e3eeadb639c6f1fa5b
+BLAKE2s (sshfs-3.7.5.tar.xz) = 19b267c097fd5a432750959897388d9fe73e3b75895cab19584d2b597a1339d5
+SHA512 (sshfs-3.7.5.tar.xz) = c76d8d725c4f8ef8b95c699ae25407fd6789cd5ce94b36d241a6754e4e6d8cae9729bbe9b1e21e421f6148bf822c9441cf6626206ec7540e7b26d298e2616929
+Size (sshfs-3.7.5.tar.xz) = 51604 bytes
+SHA1 (patch-cache.c) = ecefe5035df00e0da6b381515d56eb7cd8c1e3ae
SHA1 (patch-meson.build) = 2d10515de44239d6fad0fd5f512140d86f4dff7a
-SHA1 (patch-sshfs.c) = 82d7b3618d233ec63adaf555943ce883f6f42c29
+SHA1 (patch-sshfs.c) = 0b324faef95d828ae145765635e89231f1321c7d
SHA1 (patch-utils_install__helper.sh) = 7e31f031ecf40731acb4a96b0c23543b7015c290
Index: pkgsrc/filesystems/fuse-sshfs/patches/patch-cache.c
diff -u pkgsrc/filesystems/fuse-sshfs/patches/patch-cache.c:1.2 pkgsrc/filesystems/fuse-sshfs/patches/patch-cache.c:1.3
--- pkgsrc/filesystems/fuse-sshfs/patches/patch-cache.c:1.2 Sat Jan 22 18:48:04 2022
+++ pkgsrc/filesystems/fuse-sshfs/patches/patch-cache.c Sun May 10 11:40:18 2026
@@ -1,12 +1,12 @@
-$NetBSD: patch-cache.c,v 1.2 2022/01/22 18:48:04 pho Exp $
+$NetBSD: patch-cache.c,v 1.3 2026/05/10 11:40:18 vins Exp $
Impedance adjustment with librefuse which used to provide an old API
incompatible with FUSE 3.1. This patch can go away when NetBSD 9
reaches its EOL, except for one thing (see comments).
---- cache.c.orig 2021-06-08 08:52:08.000000000 +0000
+--- cache.c.orig 2025-11-11 19:46:43.000000000 +0000
+++ cache.c
-@@ -251,6 +251,12 @@ uint64_t cache_get_write_ctr(void)
+@@ -269,6 +269,12 @@ uint64_t cache_get_write_ctr(void)
return res;
}
@@ -19,7 +19,7 @@ reaches its EOL, except for one thing (s
static void *cache_init(struct fuse_conn_info *conn,
struct fuse_config *cfg)
{
-@@ -262,14 +268,23 @@ static void *cache_init(struct fuse_conn
+@@ -280,14 +286,23 @@ static void *cache_init(struct fuse_conn
return res;
}
@@ -43,7 +43,7 @@ reaches its EOL, except for one thing (s
if (!err)
cache_add_attr(path, stbuf, wrctr);
}
-@@ -331,15 +346,24 @@ static int cache_releasedir(const char *
+@@ -349,15 +364,24 @@ static int cache_releasedir(const char *
return err;
}
@@ -61,14 +61,14 @@ reaches its EOL, except for one thing (s
ch = (struct readdir_handle*) buf;
+#if defined(__NetBSD__) && FUSE_H_ < 20211204
-+ err = ch->filler(ch->buf, name, stbuf, off);
++ err = ch->filler(ch->buf, name, stbuf, off)
+#else
err = ch->filler(ch->buf, name, stbuf, off, flags);
+#endif
if (!err) {
- g_ptr_array_add(ch->dir, g_strdup(name));
- if (stbuf->st_mode & S_IFMT) {
-@@ -354,9 +378,14 @@ static int cache_dirfill (void *buf, con
+ struct cache_dirent *cdent = g_malloc(sizeof(struct cache_dirent));
+ cdent->name = g_strdup(name);
+@@ -375,9 +399,14 @@ static int cache_dirfill (void *buf, con
return err;
}
@@ -83,21 +83,21 @@ reaches its EOL, except for one thing (s
{
struct readdir_handle ch;
struct file_handle *cfi;
-@@ -373,7 +402,11 @@ static int cache_readdir(const char *pat
+@@ -394,7 +423,11 @@ static int cache_readdir(const char *pat
+ time_t now = time(NULL);
if (node->dir_valid - now >= 0) {
- for(dir = node->dir; *dir != NULL; dir++)
- // FIXME: What about st_mode?
+ for(cdent = (struct cache_dirent**)node->dir->pdata; *cdent != NULL; cdent++) {
+#if defined(__NetBSD__) && FUSE_H_ < 20211204
-+ filler(buf, *dir, NULL, 0);
++ filler(buf, (*cdent)->name, &(*cdent)->stat, 0);
+#else
- filler(buf, *dir, NULL, 0, 0);
+ filler(buf, (*cdent)->name, &(*cdent)->stat, 0, 0);
+#endif
+ }
pthread_mutex_unlock(&cache.lock);
return 0;
- }
-@@ -398,7 +431,19 @@ static int cache_readdir(const char *pat
- ch.filler = filler;
+@@ -421,7 +454,19 @@ static int cache_readdir(const char *pat
ch.dir = g_ptr_array_new();
+ g_ptr_array_set_free_func(ch.dir, free_cache_dirent);
ch.wrctr = cache_get_write_ctr();
+#if defined(__NetBSD__) && FUSE_H_ < 20211204
+ err = cache.next_oper->readdir(path, &ch, cache_dirfill, offset, fi);
@@ -105,17 +105,17 @@ reaches its EOL, except for one thing (s
err = cache.next_oper->readdir(path, &ch, cache_dirfill, offset, fi, flags);
+#endif
+ /* fi->fh is set to an underlying file handle at this
-+ * point. We must set it back to the cache file_handle or
-+ * otherwise cache_releasedir() will dereference a wrong
-+ * pointer. I believe this is an upstream bug but have no idea
-+ * why it works on Linux. FUSE doesn't call releasedir()
-+ * perhaps? */
-+ fi->fh = (unsigned long) cfi;
++ * point. We must set it back to the cache file_handle or
++ * otherwise cache_releasedir() will dereference a wrong
++ * pointer. I believe this is an upstream bug but have no idea
++ * why it works on Linux. FUSE doesn't call releasedir()
++ * perhaps? */
++ fi->fh = (unsigned long) cfi;
+
g_ptr_array_add(ch.dir, NULL);
- dir = (char **) ch.dir->pdata;
+ dir = ch.dir;
if (!err) {
-@@ -451,6 +496,15 @@ static int cache_symlink(const char *fro
+@@ -473,6 +518,15 @@ static int cache_symlink(const char *fro
return err;
}
@@ -131,7 +131,7 @@ reaches its EOL, except for one thing (s
static int cache_rename(const char *from, const char *to, unsigned int flags)
{
int err = cache.next_oper->rename(from, to, flags);
-@@ -458,6 +512,7 @@ static int cache_rename(const char *from
+@@ -480,6 +534,7 @@ static int cache_rename(const char *from
cache_do_rename(from, to);
return err;
}
@@ -139,7 +139,7 @@ reaches its EOL, except for one thing (s
static int cache_link(const char *from, const char *to)
{
-@@ -469,6 +524,15 @@ static int cache_link(const char *from,
+@@ -491,6 +546,15 @@ static int cache_link(const char *from,
return err;
}
@@ -155,7 +155,7 @@ reaches its EOL, except for one thing (s
static int cache_chmod(const char *path, mode_t mode,
struct fuse_file_info *fi)
{
-@@ -477,7 +541,17 @@ static int cache_chmod(const char *path,
+@@ -499,7 +563,17 @@ static int cache_chmod(const char *path,
cache_invalidate(path);
return err;
}
@@ -173,7 +173,7 @@ reaches its EOL, except for one thing (s
static int cache_chown(const char *path, uid_t uid, gid_t gid,
struct fuse_file_info *fi)
{
-@@ -486,7 +560,17 @@ static int cache_chown(const char *path,
+@@ -508,7 +582,17 @@ static int cache_chown(const char *path,
cache_invalidate(path);
return err;
}
@@ -191,7 +191,7 @@ reaches its EOL, except for one thing (s
static int cache_utimens(const char *path, const struct timespec tv[2],
struct fuse_file_info *fi)
{
-@@ -495,6 +579,7 @@ static int cache_utimens(const char *pat
+@@ -517,6 +601,7 @@ static int cache_utimens(const char *pat
cache_invalidate(path);
return err;
}
@@ -199,7 +199,7 @@ reaches its EOL, except for one thing (s
static int cache_write(const char *path, const char *buf, size_t size,
off_t offset, struct fuse_file_info *fi)
-@@ -514,6 +599,15 @@ static int cache_create(const char *path
+@@ -536,6 +621,15 @@ static int cache_create(const char *path
return err;
}
@@ -215,7 +215,7 @@ reaches its EOL, except for one thing (s
static int cache_truncate(const char *path, off_t size,
struct fuse_file_info *fi)
{
-@@ -522,6 +616,7 @@ static int cache_truncate(const char *pa
+@@ -544,6 +638,7 @@ static int cache_truncate(const char *pa
cache_invalidate(path);
return err;
}
Index: pkgsrc/filesystems/fuse-sshfs/patches/patch-sshfs.c
diff -u pkgsrc/filesystems/fuse-sshfs/patches/patch-sshfs.c:1.3 pkgsrc/filesystems/fuse-sshfs/patches/patch-sshfs.c:1.4
--- pkgsrc/filesystems/fuse-sshfs/patches/patch-sshfs.c:1.3 Wed Aug 24 22:26:33 2022
+++ pkgsrc/filesystems/fuse-sshfs/patches/patch-sshfs.c Sun May 10 11:40:18 2026
@@ -1,12 +1,13 @@
-$NetBSD: patch-sshfs.c,v 1.3 2022/08/24 22:26:33 wiz Exp $
+$NetBSD: patch-sshfs.c,v 1.4 2026/05/10 11:40:18 vins Exp $
-Impedance adjustment with librefuse which used to provide an old API
-incompatible with FUSE 3.1. This patch can go away when NetBSD 9
-reaches its EOL.
+* Impedance adjustment with librefuse which used to provide an old API
+ incompatible with FUSE 3.1. This patch can go away when NetBSD 9
+ reaches its EOL.
+* Use posix_openpt.
---- sshfs.c.orig 2022-05-26 13:23:35.000000000 +0000
+--- sshfs.c.orig 2025-11-11 19:46:43.000000000 +0000
+++ sshfs.c
-@@ -980,7 +980,11 @@ static int buf_get_entries(struct buffer
+@@ -982,7 +982,11 @@ static int buf_get_entries(struct buffer
S_ISLNK(stbuf.st_mode)) {
stbuf.st_mode = 0;
}
@@ -18,7 +19,16 @@ reaches its EOL.
}
}
free(name);
-@@ -1884,6 +1888,21 @@ static int start_processing_thread(struc
+@@ -1110,7 +1114,7 @@ static int pty_master(char **name)
+ {
+ int mfd;
+
+- mfd = open("/dev/ptmx", O_RDWR | O_NOCTTY);
++ mfd = posix_openpt(O_RDWR | O_NOCTTY);
+ if (mfd == -1) {
+ perror("failed to open pty");
+ return -1;
+@@ -1953,6 +1957,21 @@ static int start_processing_thread(struc
return 0;
}
@@ -40,7 +50,7 @@ reaches its EOL.
static void *sshfs_init(struct fuse_conn_info *conn,
struct fuse_config *cfg)
{
-@@ -1909,6 +1928,7 @@ static void *sshfs_init(struct fuse_conn
+@@ -1978,6 +1997,7 @@ static void *sshfs_init(struct fuse_conn
return NULL;
}
@@ -48,7 +58,7 @@ reaches its EOL.
static int sftp_request_wait(struct request *req, uint8_t type,
uint8_t expect_type, struct buffer *outbuf)
-@@ -2069,7 +2089,11 @@ static int sshfs_access(const char *path
+@@ -2138,7 +2158,11 @@ static int sshfs_access(const char *path
int err = 0;
if (mask & X_OK) {
@@ -60,7 +70,7 @@ reaches its EOL.
if (!err) {
if (S_ISREG(stbuf.st_mode) &&
!(stbuf.st_mode & (S_IXUSR|S_IXGRP|S_IXOTH)))
-@@ -2323,11 +2347,15 @@ static int sshfs_opendir(const char *pat
+@@ -2392,11 +2416,15 @@ static int sshfs_opendir(const char *pat
return err;
}
@@ -79,7 +89,7 @@ reaches its EOL.
int err;
struct dir_handle *handle;
-@@ -2491,13 +2519,19 @@ static void random_string(char *str, int
+@@ -2560,13 +2588,19 @@ static void random_string(char *str, int
*str = '\0';
}
@@ -99,7 +109,7 @@ reaches its EOL.
if (sshfs.ext_posix_rename)
err = sshfs_ext_posix_rename(from, to);
-@@ -2572,19 +2606,24 @@ static inline struct sshfs_file *get_ssh
+@@ -2641,19 +2675,24 @@ static inline struct sshfs_file *get_ssh
return (struct sshfs_file *) (uintptr_t) fi->fh;
}
@@ -125,7 +135,7 @@ reaches its EOL.
buf_init(&buf, 0);
if (sf == NULL)
-@@ -2605,19 +2644,24 @@ static int sshfs_chmod(const char *path,
+@@ -2674,19 +2713,24 @@ static int sshfs_chmod(const char *path,
return err;
}
@@ -151,7 +161,7 @@ reaches its EOL.
if (sshfs.remote_uid_detected) {
if (uid == sshfs.local_uid)
-@@ -2650,8 +2694,12 @@ static int sshfs_chown(const char *path,
+@@ -2719,8 +2763,12 @@ static int sshfs_chown(const char *path,
return err;
}
@@ -164,7 +174,7 @@ reaches its EOL.
static void sshfs_inc_modifver(void)
{
-@@ -2660,10 +2708,13 @@ static void sshfs_inc_modifver(void)
+@@ -2729,10 +2777,13 @@ static void sshfs_inc_modifver(void)
pthread_mutex_unlock(&sshfs.lock);
}
@@ -179,7 +189,7 @@ reaches its EOL.
int err;
struct buffer buf;
struct sshfs_file *sf = NULL;
-@@ -2676,11 +2727,13 @@ static int sshfs_utimens(const char *pat
+@@ -2745,11 +2796,13 @@ static int sshfs_utimens(const char *pat
if (msec == 0)
msec = now.tv_sec;
@@ -193,7 +203,7 @@ reaches its EOL.
buf_init(&buf, 0);
if (sf == NULL)
-@@ -3338,22 +3391,32 @@ static int sshfs_create(const char *path
+@@ -3407,22 +3460,32 @@ static int sshfs_create(const char *path
return sshfs_open_common(path, mode, fi);
}
@@ -226,7 +236,7 @@ reaches its EOL.
buf_init(&buf, 0);
-@@ -3372,19 +3435,37 @@ static int sshfs_truncate(const char *pa
+@@ -3441,19 +3504,37 @@ static int sshfs_truncate(const char *pa
return err;
}
@@ -264,7 +274,7 @@ reaches its EOL.
buf_init(&buf, 0);
if(sf == NULL) {
-@@ -3508,15 +3589,23 @@ static int sshfs_truncate_extend(const c
+@@ -3577,15 +3658,23 @@ static int sshfs_truncate_extend(const c
* If new size is greater than current size, then write a zero byte to
* the new end of the file.
*/
@@ -288,7 +298,7 @@ reaches its EOL.
if (err)
return err;
if (stbuf.st_size == size)
-@@ -3524,7 +3613,11 @@ static int sshfs_truncate_workaround(con
+@@ -3593,7 +3682,11 @@ static int sshfs_truncate_workaround(con
else if (stbuf.st_size > size)
return sshfs_truncate_shrink(path, size);
else
@@ -300,7 +310,7 @@ reaches its EOL.
}
}
-@@ -4156,7 +4249,9 @@ int main(int argc, char *argv[])
+@@ -4236,7 +4329,9 @@ int main(int argc, char *argv[])
char *fsname;
const char *sftp_server;
struct fuse *fuse;
@@ -310,7 +320,7 @@ reaches its EOL.
int i;
#ifdef __APPLE__
-@@ -4216,7 +4311,11 @@ int main(int argc, char *argv[])
+@@ -4296,7 +4391,11 @@ int main(int argc, char *argv[])
if (sshfs.show_version) {
printf("SSHFS version %s\n", PACKAGE_VERSION);
@@ -322,7 +332,7 @@ reaches its EOL.
#if !defined(__CYGWIN__)
fuse_lowlevel_version();
#endif
-@@ -4225,7 +4324,11 @@ int main(int argc, char *argv[])
+@@ -4305,7 +4404,11 @@ int main(int argc, char *argv[])
if (sshfs.show_help) {
usage(args.argv[0]);
@@ -334,7 +344,7 @@ reaches its EOL.
exit(0);
} else if (!sshfs.host) {
fprintf(stderr, "missing host\n");
-@@ -4359,20 +4462,16 @@ int main(int argc, char *argv[])
+@@ -4439,20 +4542,16 @@ int main(int argc, char *argv[])
sizeof(struct fuse_operations), NULL);
if(fuse == NULL)
exit(1);
@@ -358,7 +368,7 @@ reaches its EOL.
res = fcntl(fuse_session_fd(se), F_SETFD, FD_CLOEXEC);
if (res == -1)
perror("WARNING: failed to set FD_CLOEXEC on fuse device");
-@@ -4384,29 +4483,58 @@ int main(int argc, char *argv[])
+@@ -4464,29 +4563,58 @@ int main(int argc, char *argv[])
*/
res = ssh_connect();
if (res == -1) {
Home |
Main Index |
Thread Index |
Old Index