Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package seadrive-fuse for openSUSE:Factory 
checked in at 2026-01-22 15:13:33
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/seadrive-fuse (Old)
 and      /work/SRC/openSUSE:Factory/.seadrive-fuse.new.1928 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "seadrive-fuse"

Thu Jan 22 15:13:33 2026 rev:8 rq:1328284 version:3.0.18

Changes:
--------
--- /work/SRC/openSUSE:Factory/seadrive-fuse/seadrive-fuse.changes      
2025-12-25 19:57:59.748096586 +0100
+++ /work/SRC/openSUSE:Factory/.seadrive-fuse.new.1928/seadrive-fuse.changes    
2026-01-22 15:13:36.596814915 +0100
@@ -1,0 +2,5 @@
+Tue Jan 13 13:05:16 UTC 2026 - Paolo Stivanin <[email protected]>
+
+- Add fuse3.patch
+
+-------------------------------------------------------------------

New:
----
  fuse3.patch

----------(New B)----------
  New:
- Add fuse3.patch
----------(New E)----------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ seadrive-fuse.spec ++++++
--- /var/tmp/diff_new_pack.dA5hJp/_old  2026-01-22 15:13:37.296844087 +0100
+++ /var/tmp/diff_new_pack.dA5hJp/_new  2026-01-22 15:13:37.300844253 +0100
@@ -1,7 +1,7 @@
 #
 # spec file for package seadrive-fuse
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -23,11 +23,12 @@
 License:        GPL-2.0-only
 URL:            https://github.com/haiwen/seadrive-fuse/
 Source0:        
https://github.com/haiwen/seadrive-fuse/archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz
+Patch0:         fuse3.patch
 BuildRequires:  argon2-devel
 BuildRequires:  autoconf
 BuildRequires:  automake
 BuildRequires:  fdupes
-BuildRequires:  fuse-devel >= 2.7.3
+BuildRequires:  fuse3-devel >= 3.0.0
 BuildRequires:  intltool
 BuildRequires:  libsearpc-devel
 BuildRequires:  libtool

++++++ fuse3.patch ++++++
commit f646ef885f969b15ce59911e5b9b7e16b047da05
Author: Paolo Stivanin <[email protected]>
Date:   Tue Jan 13 13:56:28 2026 +0100

    Port to fuse3

diff --git a/README.md b/README.md
index 8be6fc9..f2af371 100644
--- a/README.md
+++ b/README.md
@@ -4,7 +4,7 @@ SeaDrive daemon with FUSE interface
 # Building
 ## Ubuntu Linux
 ```
-sudo apt-get install autoconf automake libtool libevent-dev 
libcurl4-openssl-dev libgtk2.0-dev uuid-dev intltool libsqlite3-dev valac 
libjansson-dev libssl-dev
+sudo apt-get install autoconf automake libtool libevent-dev 
libcurl4-openssl-dev libgtk2.0-dev uuid-dev intltool libsqlite3-dev valac 
libjansson-dev libssl-dev libfuse3-dev
 ```
 
 First, you shoud get the latest source of 
[libsearpc](https://github.com/haiwen/libsearpc) with `v3.2-latest` tag and 
[seadrive-fuse](https://github.com/haiwen/seadrive-fuse).
diff --git a/configure.ac b/configure.ac
index 3860ee5..7129f83 100644
--- a/configure.ac
+++ b/configure.ac
@@ -154,7 +154,7 @@ GLIB_REQUIRED=2.16.0
 SEARPC_REQUIRED=1.0
 JANSSON_REQUIRED=2.2.1
 CURL_REQUIRED=7.17
-FUSE_REQUIRED=2.7.3
+FUSE_REQUIRED=3.0.0
 ZLIB_REQUIRED=1.2.0
 WS_REQUIRED=4.0.20
 GNUTLS_REQUIRED=3.3.0
@@ -208,7 +208,7 @@ AC_SUBST(ZLIB_CFLAGS)
 AC_SUBST(ZLIB_LIBS)
 
 if test "${blinux}" = "true" -o "$bmac" = "true"; then
-   PKG_CHECK_MODULES(FUSE, [fuse >= $FUSE_REQUIRED])
+   PKG_CHECK_MODULES(FUSE, [fuse3 >= $FUSE_REQUIRED])
    AC_SUBST(FUSE_CFLAGS)
    AC_SUBST(FUSE_LIBS)
 fi
diff --git a/src/fuse-ops.c b/src/fuse-ops.c
index afd4936..cb5d4e5 100644
--- a/src/fuse-ops.c
+++ b/src/fuse-ops.c
@@ -2,8 +2,8 @@
 
 #if defined __linux__ || defined __APPLE__
 
-#define FUSE_USE_VERSION  26
-#include <fuse.h>
+#define FUSE_USE_VERSION 30
+#include <fuse3/fuse.h>
 
 #ifdef __APPLE__
 #include <libproc.h>
@@ -297,7 +297,7 @@ path_comps_free (FusePathComps *comps)
         account_info_free (comps->account_info);
 }
 
-static void
+static void G_GNUC_UNUSED
 notify_fs_op_error (const char *type, const char *path)
 {
     json_t *msg = json_object();
@@ -327,8 +327,9 @@ get_category_dir_mtime (const char *server, const char 
*user, RepoType type)
 }
 
 int
-seadrive_fuse_getattr(const char *path, struct stat *stbuf)
+seadrive_fuse_getattr(const char *path, struct stat *stbuf, struct 
fuse_file_info *fi)
 {
+    (void)fi;
     FusePathComps comps;
     int ret = 0;
     uid_t uid;
@@ -438,7 +439,7 @@ readdir_root_accounts (void *buf, fuse_fill_dir_t filler)
     }
     for (ptr = accounts; ptr; ptr = ptr->next) {
         account = ptr->data;
-        filler (buf, account->name, NULL, 0);
+        filler (buf, account->name, NULL, 0, 0);
     }
     g_list_free_full (accounts, (GDestroyNotify)seaf_account_free);
 
@@ -459,10 +460,10 @@ readdir_root (AccountInfo *account, void *buf, 
fuse_fill_dir_t filler)
         type_str = ptr->data;
 #ifdef __APPLE__
         dname_nfd = g_utf8_normalize (type_str, -1, G_NORMALIZE_NFD);
-        filler (buf, dname_nfd, NULL, 0);
+        filler (buf, dname_nfd, NULL, 0, 0);
         g_free (dname_nfd);
 #else
-        filler (buf, type_str, NULL, 0);
+        filler (buf, type_str, NULL, 0, 0);
 #endif
     }
 
@@ -498,10 +499,10 @@ readdir_category (AccountInfo *account, RepoType type, 
void *buf, fuse_fill_dir_
         dname = g_path_get_basename (info->display_name);
 #ifdef __APPLE__
         dname_nfd = g_utf8_normalize (dname, -1, G_NORMALIZE_NFD);
-        filler (buf, dname_nfd, NULL, 0);
+        filler (buf, dname_nfd, NULL, 0, 0);
         g_free (dname_nfd);
 #else
-        filler (buf, dname, NULL, 0);
+        filler (buf, dname, NULL, 0, 0);
 #endif
 
         g_free (dname);
@@ -550,7 +551,7 @@ readdir_repo (const char *repo_id, const char *path, void 
*buf, fuse_fill_dir_t
         if (seaf_repo_manager_is_path_invisible (seaf->repo_mgr, repo_id, 
dname)) {
             continue;
         }
-        filler (buf, dname, NULL, 0);
+        filler (buf, dname, NULL, 0, 0);
     }
     g_hash_table_destroy (dirents);
 
@@ -562,8 +563,10 @@ out:
 int
 seadrive_fuse_readdir(const char *path, void *buf,
                       fuse_fill_dir_t filler, off_t offset,
-                      struct fuse_file_info *info)
+                      struct fuse_file_info *info,
+                      enum fuse_readdir_flags flags)
 {
+    (void)flags;
     FusePathComps comps;
     int ret = 0;
 
@@ -572,8 +575,8 @@ seadrive_fuse_readdir(const char *path, void *buf,
     if (!seaf->started)
         return 0;
 
-    filler(buf, ".", NULL, 0);
-    filler(buf, "..", NULL, 0);
+    filler(buf, ".", NULL, 0, 0);
+    filler(buf, "..", NULL, 0, 0);
 
     memset (&comps, 0, sizeof(comps));
 
@@ -1225,8 +1228,11 @@ out:
     return ret;
 }
 
-int seadrive_fuse_rename (const char *oldpath, const char *newpath)
+int seadrive_fuse_rename (const char *oldpath, const char *newpath, unsigned 
int flags)
 {
+    if (flags != 0)
+        return -EINVAL;
+
     FusePathComps comps1, comps2;
     int ret = 0;
 
@@ -1556,8 +1562,9 @@ int seadrive_fuse_release (const char *path, struct 
fuse_file_info *info)
 }
 
 int
-seadrive_fuse_truncate (const char *path, off_t length)
+seadrive_fuse_truncate (const char *path, off_t length, struct fuse_file_info 
*fi)
 {
+    (void)fi;
     FusePathComps comps;
     char *repo_id, *file_path;
     FileCacheStat st;
@@ -1697,8 +1704,9 @@ seadrive_fuse_statfs (const char *path, struct statvfs 
*buf)
 }
 
 int
-seadrive_fuse_chmod (const char *path, mode_t mode)
+seadrive_fuse_chmod (const char *path, mode_t mode, struct fuse_file_info *fi)
 {
+    (void)fi;
     FusePathComps comps;
 
     seaf_debug ("chmod %s called. mode = %o.\n", path, mode);
@@ -1713,8 +1721,9 @@ seadrive_fuse_chmod (const char *path, mode_t mode)
 }
 
 int
-seadrive_fuse_utimens (const char *path, const struct timespec tv[2])
+seadrive_fuse_utimens (const char *path, const struct timespec tv[2], struct 
fuse_file_info *fi)
 {
+    (void)fi;
     RepoTreeStat tree_st;
     char *repo_id = NULL, *file_path = NULL;
     SeafRepo *repo = NULL;
diff --git a/src/fuse-ops.h b/src/fuse-ops.h
index 22339a4..3dc90d9 100644
--- a/src/fuse-ops.h
+++ b/src/fuse-ops.h
@@ -3,13 +3,17 @@
 
 #if defined __linux__ || defined __APPLE__
 
-#include <fuse.h>
+#ifndef FUSE_USE_VERSION
+#define FUSE_USE_VERSION 30
+#endif
+#include <fuse3/fuse.h>
 
-int seadrive_fuse_getattr(const char *path, struct stat *stbuf);
+int seadrive_fuse_getattr(const char *path, struct stat *stbuf, struct 
fuse_file_info *fi);
 
 int seadrive_fuse_readdir(const char *path, void *buf,
                           fuse_fill_dir_t filler, off_t offset,
-                          struct fuse_file_info *info);
+                          struct fuse_file_info *info,
+                          enum fuse_readdir_flags flags);
 
 int seadrive_fuse_mknod (const char *path, mode_t mode, dev_t dev);
 
@@ -19,7 +23,7 @@ int seadrive_fuse_unlink (const char *path);
 
 int seadrive_fuse_rmdir (const char *path);
 
-int seadrive_fuse_rename (const char *oldpath, const char *newpath);
+int seadrive_fuse_rename (const char *oldpath, const char *newpath, unsigned 
int flags);
 
 int seadrive_fuse_open (const char *path, struct fuse_file_info *info);
 
@@ -31,13 +35,13 @@ int seadrive_fuse_write (const char *path, const char *buf, 
size_t size,
 
 int seadrive_fuse_release (const char *path, struct fuse_file_info *fi);
 
-int seadrive_fuse_truncate (const char *path, off_t length);
+int seadrive_fuse_truncate (const char *path, off_t length, struct 
fuse_file_info *fi);
 
 int seadrive_fuse_statfs (const char *path, struct statvfs *buf);
 
-int seadrive_fuse_chmod (const char *path, mode_t mode);
+int seadrive_fuse_chmod (const char *path, mode_t mode, struct fuse_file_info 
*fi);
 
-int seadrive_fuse_utimens (const char *, const struct timespec tv[2]);
+int seadrive_fuse_utimens (const char *, const struct timespec tv[2], struct 
fuse_file_info *fi);
 
 int seadrive_fuse_symlink (const char *from, const char *to);
 
diff --git a/src/seadrive.c b/src/seadrive.c
index 63271f3..667a64d 100644
--- a/src/seadrive.c
+++ b/src/seadrive.c
@@ -41,9 +41,9 @@ static void print_version ()
 #include <fcntl.h>
 #include <sys/file.h>
 
-#define FUSE_USE_VERSION  26
-#include <fuse.h>
-#include <fuse_opt.h>
+#define FUSE_USE_VERSION 30
+#include <fuse3/fuse.h>
+#include <fuse3/fuse_opt.h>
 
 #include "fuse-ops.h"
 

Reply via email to