[packages/gvfs] up to 1.58.0
atler
atler at pld-linux.org
Sun Nov 30 01:32:57 CET 2025
commit d007d20f6c15eaccb22205d99af1b4cc2e896834
Author: Jan Palus <atler at pld-linux.org>
Date: Sun Nov 30 01:32:22 2025 +0100
up to 1.58.0
gvfs-libnfs.patch | 530 ------------------------------------------------------
gvfs.spec | 33 ++--
2 files changed, 16 insertions(+), 547 deletions(-)
---
diff --git a/gvfs.spec b/gvfs.spec
index 633ef4f..1c7a4e9 100644
--- a/gvfs.spec
+++ b/gvfs.spec
@@ -39,13 +39,12 @@
Summary: gvfs - userspace virtual filesystem
Summary(pl.UTF-8): gvfs - wirtualny system plików w przestrzeni użytkownika
Name: gvfs
-Version: 1.56.1
-Release: 7
+Version: 1.58.0
+Release: 1
License: LGPL v2+
Group: Libraries
-Source0: https://download.gnome.org/sources/gvfs/1.56/%{name}-%{version}.tar.xz
-# Source0-md5: 5ba12cd02b17c058aa71adc39c5eb6cf
-Patch0: %{name}-libnfs.patch
+Source0: https://download.gnome.org/sources/gvfs/1.58/%{name}-%{version}.tar.xz
+# Source0-md5: 00508bb91f4402c2953a531c6dcdf3f4
URL: https://wiki.gnome.org/Projects/gvfs
%{?with_avahi:BuildRequires: avahi-devel >= 0.6.22}
%{?with_avahi:BuildRequires: avahi-glib-devel >= 0.6.22}
@@ -54,9 +53,9 @@ BuildRequires: dbus-devel
%{?with_doc:BuildRequires: docbook-style-xsl}
BuildRequires: gcr4-devel >= 4
BuildRequires: gettext-tools >= 0.19.4
-BuildRequires: glib2-devel >= 1:2.80.0
+BuildRequires: glib2-devel >= 1:2.83.0
%if %{with goa} || %{with onedrive}
-BuildRequires: gnome-online-accounts-devel >= 3.18.0
+BuildRequires: gnome-online-accounts-devel >= 3.53.1
%endif
BuildRequires: gsettings-desktop-schemas-devel >= 3.33.0
BuildRequires: gtk+3-devel >= 3.0
@@ -64,7 +63,7 @@ BuildRequires: gtk+3-devel >= 3.0
%{?with_bluray:BuildRequires: libbluray-devel}
%{?with_admin:BuildRequires: libcap-devel}
%{?with_cdda:BuildRequires: libcdio-paranoia-devel >= 0.78.2}
-%{?with_fuse:BuildRequires: libfuse3-devel >= 3.0.0}
+%{?with_fuse:BuildRequires: libfuse3-devel >= 3.17.0}
BuildRequires: libgcrypt-devel >= 1.2.2
%{?with_google:BuildRequires: libgdata-devel >= 0.18.0}
%{?with_gphoto2:BuildRequires: libgphoto2-devel >= 2.5.0}
@@ -80,7 +79,7 @@ BuildRequires: libusb-devel >= 1.0.21
BuildRequires: libxml2-devel >= 1:2.6.31
%{?with_doc:BuildRequires: libxslt-progs}
BuildRequires: meson >= 0.57.0
-%{?with_onedrive:BuildRequires: msgraph-devel}
+%{?with_onedrive:BuildRequires: msgraph-devel >= 0.3.0}
BuildRequires: ninja >= 1.5
# find_program('ssh') for sftp
BuildRequires: openssh-clients
@@ -93,7 +92,7 @@ BuildRequires: udev-devel >= 1:138
%{?with_gudev:BuildRequires: udev-glib-devel >= 1:147}
%{?with_udisks2:BuildRequires: udisks2-devel >= 1.97.0}
BuildRequires: xz
-Requires(post,postun): glib2 >= 1:2.80.0
+Requires(post,postun): glib2 >= 1:2.83.0
Requires: %{name}-libs = %{version}-%{release}
%{?with_avahi:Requires: avahi-glib >= 0.6.22}
Requires: gsettings-desktop-schemas >= 3.33.0
@@ -136,7 +135,7 @@ gfvs-a do wszystkich aplikacji używających API gio.
Summary: Common GVFS shared libraries
Summary(pl.UTF-8): Wspólne biblioteki współdzielone GVFS
Group: Libraries
-Requires: glib2 >= 1:2.80.0
+Requires: glib2 >= 1:2.83.0
Conflicts: gvfs < 1.22.3-2
%description libs
@@ -150,7 +149,7 @@ Summary: Header files for gvfs library
Summary(pl.UTF-8): Pliki nagłówkowe biblioteki gvfs
Group: Development/Libraries
Requires: %{name}-libs = %{version}-%{release}
-Requires: glib2-devel >= 1:2.80.0
+Requires: glib2-devel >= 1:2.83.0
%description devel
Header files for gvfs library.
@@ -212,7 +211,7 @@ Summary: FUSE support for gvfs
Summary(pl.UTF-8): Obsługa FUSE dla gvfs
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Requires: libfuse3
+Requires: libfuse3 >= 3.17.0
%description fuse
This package provides support for applications not using gio to access
@@ -227,7 +226,7 @@ Summary: GOA support for gvfs
Summary(pl.UTF-8): Obsługa GOA dla gvfs
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Requires: gnome-online-accounts-libs >= 3.18.0
+Requires: gnome-online-accounts-libs >= 3.53.1
%description goa
This package provides seamless integration with gnome-online-accounts
@@ -242,7 +241,7 @@ Summary: Google Drive support for gvfs
Summary(pl.UTF-8): Obsługa Google Drive dla gvfs
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Requires: gnome-online-accounts-libs >= 3.18.0
+Requires: gnome-online-accounts-libs >= 3.53.1
Requires: libgdata >= 0.18.0
%description google
@@ -292,7 +291,8 @@ Summary: OneDrive support for gvfs
Summary(pl.UTF-8): Obsługa OneDrive dla gvfs
Group: Libraries
Requires: %{name} = %{version}-%{release}
-Requires: gnome-online-accounts-libs >= 3.18.0
+Requires: gnome-online-accounts-libs >= 3.53.1
+Requires: msgraph >= 0.3.0
%description onedrive
This package provides support for OneDrive to applications using
@@ -318,7 +318,6 @@ sieciowych Windows (SMB) dla aplikacji wykorzystujących gvfs.
%prep
%setup -q
-%patch -P0 -p1
%build
%meson \
diff --git a/gvfs-libnfs.patch b/gvfs-libnfs.patch
deleted file mode 100644
index 7ff221f..0000000
--- a/gvfs-libnfs.patch
+++ /dev/null
@@ -1,530 +0,0 @@
-From b75208c86d842c7bc2f613f40bc80cc7594629aa Mon Sep 17 00:00:00 2001
-From: Ondrej Holy <oholy at redhat.com>
-Date: Mon, 4 Nov 2024 15:21:45 +0100
-Subject: [PATCH] nfs: Fail append with G_IO_ERROR_IS_DIRECTORY when dir exists
-
-Currently, the append/edit job succeeds for the NFS backend even though
-there is a directory. The consequent write operation fails with the
-invalid address error. As per the documentation, the append/edit
-operation should fail imediatelly with the `G_IO_ERROR_IS_DIRECTORY`
-error. Let's add an extra stat call to achieve that behavior.
----
- daemon/gvfsbackendnfs.c | 49 ++++++++++++++++++++++++++++++++++++-----
- 1 file changed, 43 insertions(+), 6 deletions(-)
-
-diff --git a/daemon/gvfsbackendnfs.c b/daemon/gvfsbackendnfs.c
-index c9e9ed60b..6219895a5 100644
---- a/daemon/gvfsbackendnfs.c
-+++ b/daemon/gvfsbackendnfs.c
-@@ -727,7 +727,10 @@ write_handle_free (WriteHandle *handle)
- }
-
- static void
--append_cb (int err, struct nfs_context *ctx, void *data, void *private_data)
-+append_create_cb (int err,
-+ struct nfs_context *ctx,
-+ void *data,
-+ void *private_data)
- {
- GVfsJob *job = G_VFS_JOB (private_data);
- if (err == 0)
-@@ -747,6 +750,42 @@ append_cb (int err, struct nfs_context *ctx, void *data, void *private_data)
- }
- }
-
-+static void
-+append_stat_cb (int err,
-+ struct nfs_context *ctx,
-+ void *data,
-+ void *private_data)
-+{
-+ GVfsJob *job = G_VFS_JOB (private_data);
-+ GVfsJobOpenForWrite *op_job = G_VFS_JOB_OPEN_FOR_WRITE (job);
-+ GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (op_job->backend);
-+
-+ if (err == 0)
-+ {
-+ struct nfs_stat_64 *st = data;
-+
-+ if (S_ISDIR (st->nfs_mode))
-+ {
-+ g_vfs_job_failed_literal (job,
-+ G_IO_ERROR, G_IO_ERROR_IS_DIRECTORY,
-+ _("Target file is a directory"));
-+ return;
-+ }
-+ }
-+ else if (err != -ENOENT)
-+ {
-+ g_vfs_job_failed_from_errno (job, -err);
-+ return;
-+ }
-+
-+ nfs_create_async (op_backend->ctx,
-+ op_job->filename,
-+ O_APPEND,
-+ (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-+ append_create_cb,
-+ job);
-+}
-+
- static gboolean
- try_append_to (GVfsBackend *backend,
- GVfsJobOpenForWrite *job,
-@@ -755,11 +794,9 @@ try_append_to (GVfsBackend *backend,
- {
- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
-
-- nfs_create_async (op_backend->ctx,
-- filename,
-- O_APPEND,
-- (flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-- append_cb, job);
-+ /* Check for existing directory because libnfs doesn't fail in this case. */
-+ nfs_stat64_async (op_backend->ctx, filename, append_stat_cb, job);
-+
- return TRUE;
- }
-
---
-GitLab
-
-From aa3eef707ae81cd8bab0d7eb94a8729c59061f61 Mon Sep 17 00:00:00 2001
-From: Ondrej Holy <oholy at redhat.com>
-Date: Thu, 28 Nov 2024 14:58:12 +0100
-Subject: [PATCH] nfs: Set intitial_offset when appending
-
-Currently the `initial_offset` is not set when appening. This is wrong
-as the `GDaemonOutputStream` implemetation relies on it to be set. Let's
-do so to fix the `g_seekable_tell` output.
----
- daemon/gvfsbackendnfs.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/daemon/gvfsbackendnfs.c b/daemon/gvfsbackendnfs.c
-index 6219895a..85632174 100644
---- a/daemon/gvfsbackendnfs.c
-+++ b/daemon/gvfsbackendnfs.c
-@@ -759,11 +759,10 @@ append_stat_cb (int err,
- GVfsJob *job = G_VFS_JOB (private_data);
- GVfsJobOpenForWrite *op_job = G_VFS_JOB_OPEN_FOR_WRITE (job);
- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (op_job->backend);
-+ struct nfs_stat_64 *st = data;
-
- if (err == 0)
- {
-- struct nfs_stat_64 *st = data;
--
- if (S_ISDIR (st->nfs_mode))
- {
- g_vfs_job_failed_literal (job,
-@@ -778,6 +777,7 @@ append_stat_cb (int err,
- return;
- }
-
-+ g_vfs_job_open_for_write_set_initial_offset (op_job, st->nfs_size);
- nfs_create_async (op_backend->ctx,
- op_job->filename,
- O_APPEND,
---
-GitLab
-
-From 56f18838f0af940284af8f22afc5ce4d122df71e Mon Sep 17 00:00:00 2001
-From: Ondrej Holy <oholy at redhat.com>
-Date: Mon, 14 Oct 2024 14:15:12 +0200
-Subject: [PATCH] nfs: Implement support for edit mode
-
-Implement support for the newly added edit mode in the NFS backend.
-
-Related: https://gitlab.gnome.org/GNOME/gvfs/-/issues/249
----
- daemon/gvfsbackendnfs.c | 108 +++++++++++++++++++++++-----------------
- 1 file changed, 61 insertions(+), 47 deletions(-)
-
-diff --git a/daemon/gvfsbackendnfs.c b/daemon/gvfsbackendnfs.c
-index 85632174..925e894e 100644
---- a/daemon/gvfsbackendnfs.c
-+++ b/daemon/gvfsbackendnfs.c
-@@ -727,10 +727,10 @@ write_handle_free (WriteHandle *handle)
- }
-
- static void
--append_create_cb (int err,
-- struct nfs_context *ctx,
-- void *data,
-- void *private_data)
-+open_for_write_create_cb (int err,
-+ struct nfs_context *ctx,
-+ void *data,
-+ void *private_data)
- {
- GVfsJob *job = G_VFS_JOB (private_data);
- if (err == 0)
-@@ -751,15 +751,32 @@ append_create_cb (int err,
- }
-
- static void
--append_stat_cb (int err,
-- struct nfs_context *ctx,
-- void *data,
-- void *private_data)
-+open_for_write_create (GVfsBackend *backend,
-+ GVfsJobOpenForWrite *job,
-+ const char *filename,
-+ GFileCreateFlags flags,
-+ int open_flags)
-+{
-+ GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
-+
-+ nfs_create_async (op_backend->ctx,
-+ filename,
-+ open_flags,
-+ (flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-+ open_for_write_create_cb,
-+ job);
-+}
-+
-+static void
-+open_for_write_stat_cb (int err,
-+ struct nfs_context *ctx,
-+ void *data,
-+ void *private_data)
- {
- GVfsJob *job = G_VFS_JOB (private_data);
- GVfsJobOpenForWrite *op_job = G_VFS_JOB_OPEN_FOR_WRITE (job);
-- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (op_job->backend);
- struct nfs_stat_64 *st = data;
-+ int open_flags = 0;
-
- if (err == 0)
- {
-@@ -777,13 +794,28 @@ append_stat_cb (int err,
- return;
- }
-
-- g_vfs_job_open_for_write_set_initial_offset (op_job, st->nfs_size);
-- nfs_create_async (op_backend->ctx,
-- op_job->filename,
-- O_APPEND,
-- (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-- append_create_cb,
-- job);
-+ if (op_job->mode == OPEN_FOR_WRITE_APPEND)
-+ {
-+ open_flags = O_APPEND;
-+ g_vfs_job_open_for_write_set_initial_offset (op_job, st->nfs_size);
-+ }
-+
-+ open_for_write_create (op_job->backend,
-+ op_job,
-+ op_job->filename,
-+ op_job->flags,
-+ open_flags);
-+}
-+
-+static void
-+open_for_write (GVfsBackend *backend,
-+ GVfsJobOpenForWrite *job,
-+ const char *filename)
-+{
-+ GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
-+
-+ /* Check for existing directory because libnfs doesn't fail in this case. */
-+ nfs_stat64_async (op_backend->ctx, filename, open_for_write_stat_cb, job);
- }
-
- static gboolean
-@@ -792,10 +824,18 @@ try_append_to (GVfsBackend *backend,
- const char *filename,
- GFileCreateFlags flags)
- {
-- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
-+ open_for_write (backend, job, filename);
-
-- /* Check for existing directory because libnfs doesn't fail in this case. */
-- nfs_stat64_async (op_backend->ctx, filename, append_stat_cb, job);
-+ return TRUE;
-+}
-+
-+static gboolean
-+try_edit (GVfsBackend *backend,
-+ GVfsJobOpenForWrite *job,
-+ const char *filename,
-+ GFileCreateFlags flags)
-+{
-+ open_for_write (backend, job, filename);
-
- return TRUE;
- }
-@@ -1344,41 +1384,14 @@ try_replace (GVfsBackend *backend,
- return TRUE;
- }
-
--static void
--create_cb (int err, struct nfs_context *ctx, void *data, void *private_data)
--{
-- GVfsJob *job = G_VFS_JOB (private_data);
--
-- if (err == 0)
-- {
-- GVfsJobOpenForWrite *op_job = G_VFS_JOB_OPEN_FOR_WRITE (job);
-- WriteHandle *handle = g_slice_new0 (WriteHandle);
--
-- handle->fh = data;
-- g_vfs_job_open_for_write_set_handle (op_job, handle);
-- g_vfs_job_open_for_write_set_can_seek (op_job, TRUE);
-- g_vfs_job_open_for_write_set_can_truncate (op_job, TRUE);
-- g_vfs_job_succeeded (job);
-- }
-- else
-- {
-- g_vfs_job_failed_from_errno (job, -err);
-- }
--}
--
- static gboolean
- try_create (GVfsBackend *backend,
- GVfsJobOpenForWrite *job,
- const char *filename,
- GFileCreateFlags flags)
- {
-- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
-+ open_for_write_create (backend, job, filename, flags, O_EXCL);
-
-- nfs_create_async (op_backend->ctx,
-- filename,
-- O_EXCL,
-- (flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-- create_cb, job);
- return TRUE;
- }
-
-#@@ -2617,6 +2630,7 @@ g_vfs_backend_nfs_class_init (GVfsBackendNfsClass *klass)
-# backend_class->try_make_symlink = try_make_symlink;
-# backend_class->try_create = try_create;
-# backend_class->try_append_to = try_append_to;
-#+ backend_class->try_edit = try_edit;
-# backend_class->try_replace = try_replace;
-# backend_class->try_write = try_write;
-# backend_class->try_query_info_on_write = try_query_info_on_write;
---
-GitLab
-
-From 50c0845928983830ebe12d1d2ba82a6735cec77b Mon Sep 17 00:00:00 2001
-From: Jan Alexander Steffens <jan.steffens at gmail.com>
-Date: Mon, 20 Jan 2025 10:06:08 +0000
-Subject: [PATCH] nfs: Support libnfs 6
-
-Libnfs 6 brings version 2 of its API. It is not compatible with the earlier API.
-Let's use the LIBNFS_API_V2 symbol to handle differences.
-
-Fixes: https://gitlab.gnome.org/GNOME/gvfs/-/issues/781
----
- daemon/gvfsbackendnfs.c | 72 +++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 72 insertions(+)
-
-diff --git a/daemon/gvfsbackendnfs.c b/daemon/gvfsbackendnfs.c
-index 925e894e..b9db96ab 100644
---- a/daemon/gvfsbackendnfs.c
-+++ b/daemon/gvfsbackendnfs.c
-@@ -407,7 +407,9 @@ read_cb (int err, struct nfs_context *ctx, void *data, void *private_data)
- {
- GVfsJobRead *op_job = G_VFS_JOB_READ (job);
-
-+#ifndef LIBNFS_API_V2
- memcpy (op_job->buffer, data, err);
-+#endif
- g_vfs_job_read_set_size (op_job, err);
- g_vfs_job_succeeded (job);
- }
-@@ -427,7 +429,11 @@ try_read (GVfsBackend *backend,
- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
- struct nfsfh *fh = _handle;
-
-+#ifdef LIBNFS_API_V2
-+ nfs_read_async (op_backend->ctx, fh, buffer, bytes_requested, read_cb, job);
-+#else
- nfs_read_async (op_backend->ctx, fh, bytes_requested, read_cb, job);
-+#endif
- return TRUE;
- }
-
-@@ -759,12 +765,21 @@ open_for_write_create (GVfsBackend *backend,
- {
- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
-
-+#ifdef LIBNFS_API_V2
-+ nfs_open2_async (op_backend->ctx,
-+ filename,
-+ O_CREAT | open_flags,
-+ (flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-+ open_for_write_create_cb,
-+ job);
-+#else
- nfs_create_async (op_backend->ctx,
- filename,
- open_flags,
- (flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
- open_for_write_create_cb,
- job);
-+#endif
- }
-
- static void
-@@ -855,6 +870,9 @@ typedef struct
- int mode;
- CopyFileCallback cb;
- void *private_data;
-+#ifdef LIBNFS_API_V2
-+ char buffer[COPY_BLKSIZE];
-+#endif
- } CopyHandle;
-
- static void
-@@ -882,7 +900,11 @@ copy_write_cb (int err,
- CopyHandle *handle = private_data;
-
- if (err > 0)
-+#ifdef LIBNFS_API_V2
-+ nfs_read_async (ctx, handle->srcfh, handle->buffer, COPY_BLKSIZE, copy_read_cb, handle);
-+#else
- nfs_read_async (ctx, handle->srcfh, COPY_BLKSIZE, copy_read_cb, handle);
-+#endif
- else
- copy_handle_complete (ctx, handle, FALSE);
- }
-@@ -895,7 +917,11 @@ copy_read_cb (int err, struct nfs_context *ctx, void *data, void *private_data)
- if (err == 0)
- copy_handle_complete (ctx, handle, TRUE);
- else if (err > 0)
-+#ifdef LIBNFS_API_V2
-+ nfs_write_async (ctx, handle->destfh, handle->buffer, err, copy_write_cb, handle);
-+#else
- nfs_write_async (ctx, handle->destfh, err, data, copy_write_cb, handle);
-+#endif
- else
- copy_handle_complete (ctx, handle, FALSE);
- }
-@@ -911,7 +937,11 @@ copy_open_dest_cb (int err,
- {
- handle->destfh = data;
-
-+#ifdef LIBNFS_API_V2
-+ nfs_read_async (ctx, handle->srcfh, handle->buffer, COPY_BLKSIZE, copy_read_cb, handle);
-+#else
- nfs_read_async (ctx, handle->srcfh, COPY_BLKSIZE, copy_read_cb, handle);
-+#endif
- }
- else
- {
-@@ -929,9 +959,15 @@ copy_open_source_cb (int err,
- if (err == 0)
- {
- handle->srcfh = data;
-+#ifdef LIBNFS_API_V2
-+ nfs_open2_async (ctx,
-+ handle->dest, O_CREAT | O_TRUNC, handle->mode & 0777,
-+ copy_open_dest_cb, handle);
-+#else
- nfs_create_async (ctx,
- handle->dest, O_TRUNC, handle->mode & 0777,
- copy_open_dest_cb, handle);
-+#endif
- g_free (handle->dest);
- }
- else
-@@ -1012,11 +1048,19 @@ replace_backup_chown_cb (int err,
- GVfsJobOpenForWrite *op_job = G_VFS_JOB_OPEN_FOR_WRITE (job);
- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (op_job->backend);
-
-+#ifdef LIBNFS_API_V2
-+ nfs_open2_async (op_backend->ctx,
-+ op_job->filename,
-+ O_CREAT | O_TRUNC,
-+ (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-+ replace_trunc_cb, handle);
-+#else
- nfs_create_async (op_backend->ctx,
- op_job->filename,
- O_TRUNC,
- (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
- replace_trunc_cb, handle);
-+#endif
- }
- else
- {
-@@ -1096,11 +1140,19 @@ replace_truncate (struct nfs_context *ctx, WriteHandle *handle)
- }
- else
- {
-+#ifdef LIBNFS_API_V2
-+ nfs_open2_async (ctx,
-+ op_job->filename,
-+ O_CREAT | O_TRUNC,
-+ (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-+ replace_trunc_cb, handle);
-+#else
- nfs_create_async (ctx,
- op_job->filename,
- O_TRUNC,
- (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
- replace_trunc_cb, handle);
-+#endif
- }
- }
-
-@@ -1288,11 +1340,19 @@ replace_stat_cb (int err,
- handle->tempname = g_build_filename (dirname, basename, NULL);
- g_free (dirname);
-
-+#ifdef LIBNFS_API_V2
-+ nfs_open2_async (ctx,
-+ handle->tempname,
-+ O_CREAT | O_EXCL,
-+ (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-+ replace_temp_cb, handle);
-+#else
- nfs_create_async (ctx,
- handle->tempname,
- O_EXCL,
- (op_job->flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
- replace_temp_cb, handle);
-+#endif
- }
- else
- {
-@@ -1376,11 +1436,19 @@ try_replace (GVfsBackend *backend,
- {
- GVfsBackendNfs *op_backend = G_VFS_BACKEND_NFS (backend);
-
-+#ifdef LIBNFS_API_V2
-+ nfs_open2_async (op_backend->ctx,
-+ filename,
-+ O_CREAT | O_EXCL,
-+ (flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
-+ replace_create_cb, job);
-+#else
- nfs_create_async (op_backend->ctx,
- filename,
- O_EXCL,
- (flags & G_FILE_CREATE_PRIVATE ? 0600 : 0666) & ~op_backend->umask,
- replace_create_cb, job);
-+#endif
- return TRUE;
- }
-
-@@ -1422,7 +1490,11 @@ try_write (GVfsBackend *backend,
- WriteHandle *handle = _handle;
- struct nfsfh *fh = handle->fh;
-
-+#ifdef LIBNFS_API_V2
-+ nfs_write_async (op_backend->ctx, fh, buffer, buffer_size, write_cb, job);
-+#else
- nfs_write_async (op_backend->ctx, fh, buffer_size, buffer, write_cb, job);
-+#endif
- return TRUE;
- }
-
---
-GitLab
-
================================================================
---- gitweb:
http://git.pld-linux.org/gitweb.cgi/packages/gvfs.git/commitdiff/d007d20f6c15eaccb22205d99af1b4cc2e896834
More information about the pld-cvs-commit
mailing list