From f779362e9d9f0d4512263e34d73aaedf984b8734 Mon Sep 17 00:00:00 2001 From: Bastien Nocera Date: Mar 22 2010 16:14:29 +0000 Subject: - Fix build with new libimobiledevice - Don't mount both gphoto and AFC mounts on AFC devices --- diff --git a/0001-Ignore-gphoto2-mounts-on-AFC-capable-devices.patch b/0001-Ignore-gphoto2-mounts-on-AFC-capable-devices.patch new file mode 100644 index 0000000..82fa701 --- /dev/null +++ b/0001-Ignore-gphoto2-mounts-on-AFC-capable-devices.patch @@ -0,0 +1,37 @@ +From 870ad88dab23112c2b6e5c592d33e3224fa6cd3b Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Mon, 22 Mar 2010 15:21:31 +0000 +Subject: [PATCH 1/2] Ignore gphoto2 mounts on AFC capable devices + +Requires a small usbmuxd udev rules change, to mark devices +with the USBMUXD_AFC_DEVICE property. + +https://bugzilla.gnome.org/show_bug.cgi?id=591009 +--- + monitor/gphoto2/ggphoto2volumemonitor.c | 10 ++++++++++ + 1 files changed, 10 insertions(+), 0 deletions(-) + +diff --git a/monitor/gphoto2/ggphoto2volumemonitor.c b/monitor/gphoto2/ggphoto2volumemonitor.c +index 8b87074..9fefc5d 100644 +--- a/monitor/gphoto2/ggphoto2volumemonitor.c ++++ b/monitor/gphoto2/ggphoto2volumemonitor.c +@@ -199,6 +199,16 @@ gudev_add_camera (GGPhoto2VolumeMonitor *monitor, GUdevDevice *device, gboolean + int usb_bus_num; + int usb_device_num; + ++ /* For iPhones and iPod Touches, don't mount gphoto mounts, ++ * we already have access through AFC */ ++#ifdef HAVE_AFC ++ if (g_udev_device_get_property_as_boolean (device, "USBMUX_SUPPORTED")) ++ { ++ /* g_debug ("ignoring device, is AFC"); */ ++ return; ++ } ++#endif /* HAVE_AFC */ ++ + property = g_udev_device_get_property (device, "BUSNUM"); + if (property == NULL) { + g_warning("device %s has no BUSNUM property, ignoring", g_udev_device_get_device_file (device)); +-- +1.7.0.1 + diff --git a/0002-Fix-compilation-with-libimobiledevice-1.0.0.patch b/0002-Fix-compilation-with-libimobiledevice-1.0.0.patch new file mode 100644 index 0000000..3a33bd1 --- /dev/null +++ b/0002-Fix-compilation-with-libimobiledevice-1.0.0.patch @@ -0,0 +1,41 @@ +From cbecef5aa8678a6564ca3610adc2ff03f8dd75e1 Mon Sep 17 00:00:00 2001 +From: Bastien Nocera +Date: Mon, 22 Mar 2010 14:31:23 +0000 +Subject: [PATCH 2/2] Fix compilation with libimobiledevice 1.0.0 + +AFC_E_INVALID_ARGUMENT was renamed to AFC_E_INVALID_ARG +in http://github.com/MattColyer/libiphone/commit/36048ded8efda588a20b5cf284670a984f7cc650 + +https://bugzilla.gnome.org/show_bug.cgi?id=613588 +--- + daemon/gvfsbackendafc.c | 7 ++++++- + 1 files changed, 6 insertions(+), 1 deletions(-) + +diff --git a/daemon/gvfsbackendafc.c b/daemon/gvfsbackendafc.c +index c056718..be6f0a3 100644 +--- a/daemon/gvfsbackendafc.c ++++ b/daemon/gvfsbackendafc.c +@@ -38,6 +38,11 @@ + #define G_VFS_BACKEND_AFC_MAX_FILE_SIZE G_MAXINT64 + int g_blocksize = 4096; /* assume this is the default block size */ + ++/* AFC_E_INVALID_ARGUMENT was renamed between 0.9.7 and 1.0.0 */ ++#ifndef AFC_E_INVALID_ARG ++#define AFC_E_INVALID_ARG AFC_E_INVALID_ARGUMENT ++#endif /* !AFC_E_INVALID_ARG */ ++ + struct _GVfsBackendAfc { + GVfsBackend backend; + +@@ -62,7 +67,7 @@ static struct afc_error_mapping afc_error_to_g_io_error[] = { + { AFC_E_READ_ERROR , G_IO_ERROR_NOT_DIRECTORY }, + { AFC_E_WRITE_ERROR , G_IO_ERROR_FAILED }, + { AFC_E_UNKNOWN_PACKET_TYPE , G_IO_ERROR_FAILED }, +- { AFC_E_INVALID_ARGUMENT , G_IO_ERROR_INVALID_ARGUMENT }, ++ { AFC_E_INVALID_ARG , G_IO_ERROR_INVALID_ARGUMENT }, + { AFC_E_OBJECT_NOT_FOUND , G_IO_ERROR_NOT_FOUND }, + { AFC_E_OBJECT_IS_DIR , G_IO_ERROR_IS_DIRECTORY }, + { AFC_E_DIR_NOT_EMPTY , G_IO_ERROR_NOT_EMPTY }, +-- +1.7.0.1 + diff --git a/gvfs.spec b/gvfs.spec index 0ae732b..c55c618 100644 --- a/gvfs.spec +++ b/gvfs.spec @@ -1,7 +1,7 @@ Summary: Backends for the gio framework in GLib Name: gvfs Version: 1.5.5 -Release: 1%{?dist} +Release: 2%{?dist} License: LGPLv2+ Group: System Environment/Libraries URL: http://www.gtk.org @@ -34,6 +34,12 @@ BuildRequires: libtool # http://bugzilla.gnome.org/show_bug.cgi?id=567235 Patch0: gvfs-archive-integration.patch +# https://bugzilla.gnome.org/show_bug.cgi?id=591009 +Patch1: 0001-Ignore-gphoto2-mounts-on-AFC-capable-devices.patch + +# https://bugzilla.gnome.org/show_bug.cgi?id=613588 +Patch2: 0002-Fix-compilation-with-libimobiledevice-1.0.0.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 @@ -133,6 +139,8 @@ including phones and music players to applications using gvfs. %prep %setup -q %patch0 -p1 -b .archive-integration +%patch1 -p1 -b .only-afc-on-afc +%patch2 -p1 -b .libimobiledevice-1.0 %patch15 -p1 -b .gphoto2-storageinfo %build @@ -313,6 +321,10 @@ killall -USR1 gvfsd >&/dev/null || : %{_datadir}/gvfs/remote-volume-monitors/afc.monitor %changelog +* Mon Mar 22 2010 Bastien Nocera 1.5.5-2 +- Fix build with new libimobiledevice +- Don't mount both gphoto and AFC mounts on AFC devices + * Mon Mar 8 2010 Tomas Bzatek - 1.5.5-1 - Update to 1.5.5