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