- Update to 1.5.5

This commit is contained in:
Tomas Bzatek 2010-03-08 14:45:12 +00:00
parent 70ebb6f5a9
commit 8b6f8eb2d1
5 changed files with 6 additions and 150 deletions

View File

@ -1,15 +0,0 @@
diff -up gvfs-1.4.3/monitor/Makefile.am.bak gvfs-1.4.3/monitor/Makefile.am
--- gvfs-1.4.3/monitor/Makefile.am.bak 2010-01-13 16:51:15.000000000 +0100
+++ gvfs-1.4.3/monitor/Makefile.am 2010-01-13 17:29:08.000000000 +0100
@@ -1,10 +1,6 @@
-DIST_SUBDIRS = proxy hal gdu gphoto2 afc
+DIST_SUBDIRS = proxy gdu gphoto2 afc
SUBDIRS = proxy
-if USE_HAL
-SUBDIRS += hal
-endif
-
if USE_GDU
SUBDIRS += gdu
endif

View File

@ -1,114 +0,0 @@
From f06989be68a60215b66376210bd367507c7b5c3c Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Mon, 15 Feb 2010 13:57:33 +0000
Subject: sftp: Cancel all pending reads in reply_stream on unmount
Close the active read_reply_async() channel waiting for input from the sftp process.
---
diff --git a/daemon/gvfsbackendsftp.c b/daemon/gvfsbackendsftp.c
index 6b618ea..659ed93 100644
--- a/daemon/gvfsbackendsftp.c
+++ b/daemon/gvfsbackendsftp.c
@@ -161,6 +161,8 @@ struct _GVfsBackendSftp
GInputStream *reply_stream;
GDataInputStream *error_stream;
+ GCancellable *reply_stream_cancellable;
+
guint32 current_id;
/* Output Queue */
@@ -254,6 +256,9 @@ g_vfs_backend_sftp_finalize (GObject *object)
if (backend->command_stream)
g_object_unref (backend->command_stream);
+ if (backend->reply_stream_cancellable)
+ g_object_unref (backend->reply_stream_cancellable);
+
if (backend->reply_stream)
g_object_unref (backend->reply_stream);
@@ -1216,6 +1221,13 @@ read_reply_async_got_len (GObject *source_object,
error = NULL;
res = g_input_stream_read_finish (G_INPUT_STREAM (source_object), result, &error);
+ /* Bail out if cancelled */
+ if (g_error_matches (error, G_IO_ERROR, G_IO_ERROR_CANCELLED))
+ {
+ g_object_unref (backend);
+ return;
+ }
+
check_input_stream_read_result (backend, res, error);
backend->reply_size_read += res;
@@ -1224,7 +1236,8 @@ read_reply_async_got_len (GObject *source_object,
{
g_input_stream_read_async (backend->reply_stream,
&backend->reply_size + backend->reply_size_read, 4 - backend->reply_size_read,
- 0, NULL, read_reply_async_got_len, backend);
+ 0, backend->reply_stream_cancellable, read_reply_async_got_len,
+ backend);
return;
}
backend->reply_size = GUINT32_FROM_BE (backend->reply_size);
@@ -1242,7 +1255,9 @@ read_reply_async (GVfsBackendSftp *backend)
backend->reply_size_read = 0;
g_input_stream_read_async (backend->reply_stream,
&backend->reply_size, 4,
- 0, NULL, read_reply_async_got_len, backend);
+ 0, backend->reply_stream_cancellable,
+ read_reply_async_got_len,
+ backend);
}
static void send_command (GVfsBackendSftp *backend);
@@ -1595,6 +1610,7 @@ do_mount (GVfsBackend *backend,
}
op_backend->reply_stream = g_unix_input_stream_new (stdout_fd, TRUE);
+ op_backend->reply_stream_cancellable = g_cancellable_new ();
make_fd_nonblocking (stderr_fd);
is = g_unix_input_stream_new (stderr_fd, TRUE);
@@ -1641,7 +1657,7 @@ do_mount (GVfsBackend *backend,
return;
}
- read_reply_async (op_backend);
+ read_reply_async (g_object_ref (op_backend));
sftp_mount_spec = g_mount_spec_new ("sftp");
if (op_backend->user_specified_in_uri)
@@ -1738,6 +1754,21 @@ try_mount (GVfsBackend *backend,
return FALSE;
}
+static gboolean
+try_unmount (GVfsBackend *backend,
+ GVfsJobUnmount *job,
+ GMountUnmountFlags flags,
+ GMountSource *mount_source)
+{
+ GVfsBackendSftp *op_backend = G_VFS_BACKEND_SFTP (backend);
+
+ if (op_backend->reply_stream && op_backend->reply_stream_cancellable)
+ g_cancellable_cancel (op_backend->reply_stream_cancellable);
+ g_vfs_job_succeeded (G_VFS_JOB (job));
+
+ return TRUE;
+}
+
static int
io_error_code_for_sftp_error (guint32 code, int failure_error)
{
@@ -4664,6 +4695,7 @@ g_vfs_backend_sftp_class_init (GVfsBackendSftpClass *klass)
backend_class->mount = real_do_mount;
backend_class->try_mount = try_mount;
+ backend_class->try_unmount = try_unmount;
backend_class->try_open_icon_for_read = try_open_icon_for_read;
backend_class->try_open_for_read = try_open_for_read;
backend_class->try_read = try_read;
--
cgit v0.8.3.1

View File

@ -1,7 +1,7 @@
Summary: Backends for the gio framework in GLib Summary: Backends for the gio framework in GLib
Name: gvfs Name: gvfs
Version: 1.5.4 Version: 1.5.5
Release: 2%{?dist} Release: 1%{?dist}
License: LGPLv2+ License: LGPLv2+
Group: System Environment/Libraries Group: System Environment/Libraries
URL: http://www.gtk.org URL: http://www.gtk.org
@ -24,7 +24,6 @@ BuildRequires: gnome-disk-utility-devel >= 2.29.90-1
BuildRequires: PolicyKit-devel BuildRequires: PolicyKit-devel
BuildRequires: expat-devel BuildRequires: expat-devel
Requires(post): desktop-file-utils Requires(post): desktop-file-utils
Requires(postun): desktop-file-utils Requires(postun): desktop-file-utils
@ -39,8 +38,6 @@ Patch0: gvfs-archive-integration.patch
# https://bugzilla.redhat.com/show_bug.cgi?id=552856 # https://bugzilla.redhat.com/show_bug.cgi?id=552856
Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
Patch16: servicedir.patch
BuildRequires: autoconf automake libtool gnome-common intltool
Obsoletes: gnome-mount <= 0.8 Obsoletes: gnome-mount <= 0.8
Obsoletes: gnome-mount-nautilus-properties <= 0.8 Obsoletes: gnome-mount-nautilus-properties <= 0.8
@ -137,9 +134,6 @@ including phones and music players to applications using gvfs.
%setup -q %setup -q
%patch0 -p1 -b .archive-integration %patch0 -p1 -b .archive-integration
%patch15 -p1 -b .gphoto2-storageinfo %patch15 -p1 -b .gphoto2-storageinfo
%patch16 -p1 -b .servicedir
autoreconf -i -f
%build %build
@ -319,6 +313,9 @@ killall -USR1 gvfsd >&/dev/null || :
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor %{_datadir}/gvfs/remote-volume-monitors/afc.monitor
%changelog %changelog
* Mon Mar 8 2010 Tomas Bzatek <tbzatek@redhat.com> - 1.5.5-1
- Update to 1.5.5
* Thu Feb 25 2010 Matthias Clasen <mclasen@redhat.com> - 1.5.4-2 * Thu Feb 25 2010 Matthias Clasen <mclasen@redhat.com> - 1.5.4-2
- Re-add missing service files - Re-add missing service files

View File

@ -1,12 +0,0 @@
diff -up gvfs-1.5.4/configure.ac.servicedir gvfs-1.5.4/configure.ac
--- gvfs-1.5.4/configure.ac.servicedir 2010-02-22 10:39:26.000000000 -0500
+++ gvfs-1.5.4/configure.ac 2010-02-25 19:46:43.964765020 -0500
@@ -49,7 +49,7 @@ PKG_CHECK_MODULES(DBUS, dbus-1)
AC_ARG_WITH(dbus_service_dir,
AS_HELP_STRING([--with-dbus-service-dir=PATH],[choose directory for dbus service files]),
- [default=PREFIX/share/dbus-1/services]], with_dbus_service_dir="$withval", with_dbus_service_dir=$datadir/dbus-1/services)
+ with_dbus_service_dir="$withval", with_dbus_service_dir=$datadir/dbus-1/services)
DBUS_SERVICE_DIR=$with_dbus_service_dir
AC_SUBST(DBUS_SERVICE_DIR)

View File

@ -1 +1 @@
1e766cbb66c998ff8c382f20136f7377 gvfs-1.5.4.tar.bz2 d4ae94acdea317d8a8bf88a793b8df3f gvfs-1.5.5.tar.bz2