rpms/gvfs/devel gvfs-1.5.1-dont-leak-mountoperation.patch, NONE, 1.1 gvfs-1.5.1-gphoto2-no-storageinfo-support.patch, NONE, 1.1 gvfs-1.5.1-obexftp-dbus-private-connection.patch, NONE, 1.1 gvfs.spec, 1.167, 1.168
Tomas Bzatek
tbzatek at fedoraproject.org
Tue Jan 12 15:12:57 UTC 2010
Author: tbzatek
Update of /cvs/extras/rpms/gvfs/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv1015
Modified Files:
gvfs.spec
Added Files:
gvfs-1.5.1-dont-leak-mountoperation.patch
gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
gvfs-1.5.1-obexftp-dbus-private-connection.patch
Log Message:
* Tue Jan 12 2010 Tomas Bzatek <tbzatek at redhat.com> - 1.5.1-4
- Don't leak mount job operation (#552842)
- Recognize gphoto2 cameras which don't implement get storageinfo (#552856)
- ObexFTP: Use a private D-Bus connection for obex-data-server (#539347)
gvfs-1.5.1-dont-leak-mountoperation.patch:
gvfsdaemon.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
--- NEW FILE gvfs-1.5.1-dont-leak-mountoperation.patch ---
>From 438628c6794fc8f9203fbd99b534371a1aa6d11a Mon Sep 17 00:00:00 2001
From: Hans de Goede <jwrdegoede at fedoraproject.org>
Date: Tue, 12 Jan 2010 12:36:11 +0000
Subject: Don't leak mount job operation
gvfs <= 1.5.1 does not properly call the finalize function of backends,
due to a missing unref call. This causes the cleanup functions of the
libraries underlying the backends to not get called.
In case of the gphoto2 backend, this causes the kernel driver for dual
mode webcams (which have a kernel space webcam driver and a userspace
stillcam driver), to not get re-attached to the device when then the gvfs
mount gets unmounted.
This patch fixes this by adding a g_object_unref (job) to
g_vfs_daemon_initiate_mount, which is needed as g_vfs_daemon_queue_job
takes a reference itself.
https://bugzilla.gnome.org/show_bug.cgi?id=606194
---
diff --git a/daemon/gvfsdaemon.c b/daemon/gvfsdaemon.c
index 15fffc7..909e1d7 100644
--- a/daemon/gvfsdaemon.c
+++ b/daemon/gvfsdaemon.c
@@ -1081,6 +1081,7 @@ g_vfs_daemon_initiate_mount (GVfsDaemon *daemon,
job = g_vfs_job_mount_new (mount_spec, mount_source, is_automount, request, backend);
g_vfs_daemon_queue_job (daemon, job);
+ g_object_unref (job);
}
/**
--
cgit v0.8.3.1
gvfs-1.5.1-gphoto2-no-storageinfo-support.patch:
ggphoto2volumemonitor.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
--- NEW FILE gvfs-1.5.1-gphoto2-no-storageinfo-support.patch ---
Not all gphoto drivers implement get storage info (drivers for proprietary
protocols often don't). This patch fixes the gphoto2volumemonitor to still
recognize cams which gphoto driver does not implement get storage info.
Signed-off-by: Hans de Goede <hdegoede at redhat.com>
diff -up gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c~ gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c
--- gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c~ 2009-11-18 13:14:51.000000000 +0100
+++ gvfs-1.5.1/monitor/gphoto2/ggphoto2volumemonitor.c 2010-01-06 11:46:16.000000000 +0100
@@ -605,7 +605,7 @@ get_stores_for_camera (int bus_num, int
GPContext *context;
GPPortInfo info;
GPPortInfoList *il;
- int num_storage_info, n;
+ int num_storage_info, n, rc;
Camera *camera;
char *port;
guint i;
@@ -637,8 +637,14 @@ get_stores_for_camera (int bus_num, int
goto out;
/* Get information about the storage heads */
- if (gp_camera_get_storageinfo (camera, &storage_info, &num_storage_info, context) != 0)
+ rc = gp_camera_get_storageinfo (camera, &storage_info, &num_storage_info, context);
+ if (rc != 0) {
+ /* Not all gphoto drivers implement get storage info (drivers for proprietary
+ protocols often don't) */
+ if (rc == GP_ERROR_NOT_SUPPORTED)
+ l = g_list_prepend (l, g_strdup ("/"));
goto out;
+ }
/* Append the data to the list */
for (i = 0; i < num_storage_info; i++)
gvfs-1.5.1-obexftp-dbus-private-connection.patch:
gvfsbackendobexftp.c | 22 ++++++++++++++++++++--
1 file changed, 20 insertions(+), 2 deletions(-)
--- NEW FILE gvfs-1.5.1-obexftp-dbus-private-connection.patch ---
>From 56c3b9cf90bfd53a699b5951677fee9f83b26c2f Mon Sep 17 00:00:00 2001
From: Bastien Nocera <hadess at hadess.net>
Date: Thu, 07 Jan 2010 18:08:00 +0000
Subject: [obexftp] Use a private D-Bus connection for obex-data-server
So as to avoid gvfs and our backend fighting over the session
bus connection, and causing crashers.
https://bugzilla.gnome.org/show_bug.cgi?id=570366
https://bugzilla.redhat.com/show_bug.cgi?id=539347
---
diff --git a/daemon/gvfsbackendobexftp.c b/daemon/gvfsbackendobexftp.c
index eb1b43b..8dc8bdf 100644
--- a/daemon/gvfsbackendobexftp.c
+++ b/daemon/gvfsbackendobexftp.c
@@ -502,9 +502,28 @@ g_vfs_backend_obexftp_finalize (GObject *object)
static void
g_vfs_backend_obexftp_init (GVfsBackendObexftp *backend)
{
+ DBusConnection *conn;
+ DBusGConnection *connection;
+ DBusError error;
GError *err = NULL;
- backend->connection = dbus_g_bus_get (DBUS_BUS_SESSION, &err);
+ /* Otherwise dbus-glib doesn't setup it value types */
+ connection = dbus_g_bus_get (DBUS_BUS_SESSION, NULL);
+
+ if (connection != NULL)
+ dbus_g_connection_unref (connection);
+
+ /* Connect to the session bus via a private connection */
+ dbus_error_init (&error);
+ conn = dbus_bus_get_private (DBUS_BUS_SESSION, &error);
+ if (conn == NULL) {
+ g_printerr ("Connecting to session bus failed: %s\n", err->message);
+ dbus_error_free (&error);
+ return;
+ }
+ dbus_connection_setup_with_g_main (conn, NULL);
+
+ backend->connection = dbus_connection_get_g_connection (conn);
if (backend->connection == NULL) {
g_printerr ("Connecting to session bus failed: %s\n", err->message);
g_error_free (err);
--
cgit v0.8.3.1
Index: gvfs.spec
===================================================================
RCS file: /cvs/extras/rpms/gvfs/devel/gvfs.spec,v
retrieving revision 1.167
retrieving revision 1.168
diff -u -p -r1.167 -r1.168
--- gvfs.spec 15 Dec 2009 15:57:41 -0000 1.167
+++ gvfs.spec 12 Jan 2010 15:12:56 -0000 1.168
@@ -1,7 +1,7 @@
Summary: Backends for the gio framework in GLib
Name: gvfs
Version: 1.5.1
-Release: 3%{?dist}
+Release: 4%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
URL: http://www.gtk.org
@@ -40,6 +40,13 @@ Patch4: gvfs-1.4.3-smb-queryfs-old-samba
Patch5: gvfs-1.5.2-metadata-gssize.patch
Patch6: gvfs-1.5.2-metadata-mtime.patch
Patch7: gvfs-1.5.2-fuse-timestamps.patch
+Patch14: gvfs-1.5.1-dont-leak-mountoperation.patch
+# Recognize gphoto2 cameras which don't implement get storageinfo
+# https://bugzilla.redhat.com/show_bug.cgi?id=552856
+Patch15: gvfs-1.5.1-gphoto2-no-storageinfo-support.patch
+# from upstream
+Patch16: gvfs-1.5.1-obexftp-dbus-private-connection.patch
+
Obsoletes: gnome-mount <= 0.8
@@ -142,6 +149,9 @@ and iPod Touches to applications using g
%patch5 -p1 -b .metadata-gssize
%patch6 -p1 -b .metadata-mtime
%patch7 -p1 -b .fuse-timestamps
+%patch14 -p1 -b .moutop-leak
+%patch15 -p1 -b .gphoto2-storageinfo
+%patch16 -p1 -b .obexftp-dbus
%build
@@ -307,6 +317,11 @@ killall -USR1 gvfsd >&/dev/null || :
%{_datadir}/gvfs/remote-volume-monitors/afc.monitor
%changelog
+* Tue Jan 12 2010 Tomas Bzatek <tbzatek at redhat.com> - 1.5.1-4
+- Don't leak mount job operation (#552842)
+- Recognize gphoto2 cameras which don't implement get storageinfo (#552856)
+- ObexFTP: Use a private D-Bus connection for obex-data-server (#539347)
+
* Tue Dec 15 2009 Tomas Bzatek <tbzatek at redhat.com> - 1.5.1-3
- Rebuilt against new libiphone
More information about the scm-commits
mailing list