summaryrefslogtreecommitdiff
path: root/extra/gvfs
diff options
context:
space:
mode:
authorroot <root@rshg054.dnsready.net>2013-07-03 00:48:29 -0700
committerroot <root@rshg054.dnsready.net>2013-07-03 00:48:29 -0700
commit68e8645dcd1ce619af6d92f3645c43b15bc5ac71 (patch)
treefc71038e4bda87188130eebe5cee6d23bfda5472 /extra/gvfs
parent8917cf5e44af1562114fe0d243dcea7d187c8047 (diff)
Wed Jul 3 00:48:29 PDT 2013
Diffstat (limited to 'extra/gvfs')
-rw-r--r--extra/gvfs/PKGBUILD16
-rw-r--r--extra/gvfs/imobiledevice-1.1.5.patch221
2 files changed, 233 insertions, 4 deletions
diff --git a/extra/gvfs/PKGBUILD b/extra/gvfs/PKGBUILD
index 0f5d88352..3cfaf9caf 100644
--- a/extra/gvfs/PKGBUILD
+++ b/extra/gvfs/PKGBUILD
@@ -1,20 +1,28 @@
-# $Id: PKGBUILD 188470 2013-06-14 19:24:13Z heftig $
+# $Id: PKGBUILD 189282 2013-07-02 08:23:35Z jgc $
# Maintainer: Jan de Groot <jgc@archlinux.org>
pkgbase=gvfs
pkgname=('gvfs' 'gvfs-smb' 'gvfs-afc' 'gvfs-afp' 'gvfs-gphoto2' 'gvfs-obexftp' 'gvfs-goa' 'gvfs-mtp')
pkgver=1.16.3
-pkgrel=1
+pkgrel=2
arch=('i686' 'x86_64')
license=('LGPL')
makedepends=('avahi' 'bluez-libs' 'dbus-glib' 'fuse' 'intltool' 'libarchive' 'libcdio-paranoia' 'libgphoto2' 'libimobiledevice' 'libsoup>=2.24.0' 'smbclient' 'udisks2' 'libsecret' 'docbook-xsl' 'gtk3' 'libmtp' 'gnome-online-accounts' 'libbluray')
url="http://www.gnome.org"
options=(!libtool)
-source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz)
-sha256sums=('02a4483d0dd2e307f58f8e1d34dd29dbe06d3a345b73ac8d6f87bb91189c8e49')
+source=(http://ftp.gnome.org/pub/gnome/sources/$pkgbase/${pkgver%.*}/$pkgbase-$pkgver.tar.xz
+ imobiledevice-1.1.5.patch)
+sha256sums=('02a4483d0dd2e307f58f8e1d34dd29dbe06d3a345b73ac8d6f87bb91189c8e49'
+ '3faf3027ef40c5cea3f01cb9d37e4cf848ed2ecfe6cde3b7bf86087da4a2d2e1')
+
+prepare() {
+ cd $pkgbase-$pkgver
+ patch -Np1 -i ../imobiledevice-1.1.5.patch
+}
build() {
cd "$pkgbase-$pkgver"
+ autoreconf -fi
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var --disable-static \
--libexecdir=/usr/lib/gvfs \
diff --git a/extra/gvfs/imobiledevice-1.1.5.patch b/extra/gvfs/imobiledevice-1.1.5.patch
new file mode 100644
index 000000000..00e9358dc
--- /dev/null
+++ b/extra/gvfs/imobiledevice-1.1.5.patch
@@ -0,0 +1,221 @@
+From d71c6108901460842de25012d5ece727a0c70d27 Mon Sep 17 00:00:00 2001
+From: Ondrej Holy <oholy@redhat.com>
+Date: Tue, 11 Jun 2013 11:33:23 +0000
+Subject: afc: Update to libimobiledevice new api
+
+https://bugzilla.redhat.com/show_bug.cgi?id=951731
+https://bugzilla.gnome.org/show_bug.cgi?id=702577
+---
+diff --git a/configure.ac b/configure.ac
+index 12dbdcd..2846d82 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -372,14 +372,11 @@ AFC_LIBS=
+ AFC_CFLAGS=
+
+ if test "x$enable_afc" != "xno" ; then
+- PKG_CHECK_EXISTS(libimobiledevice-1.0 >= 1.1.0 libplist >= 0.15, msg_afc=yes)
++ PKG_CHECK_EXISTS(libimobiledevice-1.0 >= 1.1.5 libplist >= 0.15, msg_afc=yes)
+
+ if test "x$msg_afc" = "xyes"; then
+ PKG_CHECK_MODULES(AFC, libimobiledevice-1.0 libplist)
+ AC_DEFINE(HAVE_AFC, 1, [Define to 1 if AFC is going to be built])
+- PKG_CHECK_EXISTS(libimobiledevice-1.0 >= 1.1.2,
+- [AC_DEFINE(HAVE_LIBIMOBILEDEVICE_1_1_2, 1,
+- [Define to 1 if libimobiledevice-1.1.2 found])])
+ fi
+ fi
+
+diff --git a/daemon/gvfsbackendafc.c b/daemon/gvfsbackendafc.c
+index ab4a9ce..6b0b64f 100644
+--- a/daemon/gvfsbackendafc.c
++++ b/daemon/gvfsbackendafc.c
+@@ -349,12 +349,7 @@ _idevice_event_cb (const idevice_event_t *event, void *user_data)
+ if (event->event != IDEVICE_DEVICE_REMOVE)
+ return;
+
+-#ifdef HAVE_LIBIMOBILEDEVICE_1_1_2
+ event_udid = event->udid;
+-#else
+- event_udid = event->uuid;
+-#endif
+-
+ if (g_str_equal (event_udid, afc_backend->uuid) == FALSE)
+ return;
+
+@@ -401,7 +396,7 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
+ const char *str;
+ char *tmp;
+ char *display_name = NULL;
+- guint16 port;
++ lockdownd_service_descriptor_t lockdown_service = NULL;
+ int virtual_port;
+ GMountSpec *real_spec;
+ GVfsBackendAfc *self;
+@@ -414,6 +409,7 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
+ char **dcim_afcinfo;
+ plist_t value;
+ lockdownd_error_t lerr;
++ afc_error_t aerr;
+ const gchar *choices[] = {_("Try again"), _("Cancel"), NULL}; /* keep in sync with the enum above */
+ gboolean aborted = FALSE;
+ gchar *message = NULL;
+@@ -649,41 +645,38 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
+
+ switch (self->mode) {
+ case ACCESS_MODE_AFC:
+- lerr = lockdownd_start_service (lockdown_cli, self->service, &port);
++ lerr = lockdownd_start_service (lockdown_cli, self->service, &lockdown_service);
+ if (G_UNLIKELY(g_vfs_backend_lockdownd_check (lerr, G_VFS_JOB(job))))
+ {
+ goto out_destroy_lockdown;
+ }
+- if (G_UNLIKELY(g_vfs_backend_afc_check (afc_client_new (self->dev,
+- port, &self->afc_cli),
+- G_VFS_JOB(job))))
++ aerr = afc_client_new (self->dev, lockdown_service, &self->afc_cli);
++ if (G_UNLIKELY(g_vfs_backend_afc_check (aerr, G_VFS_JOB(job))))
+ {
+ goto out_destroy_lockdown;
+ }
+ break;
+ case ACCESS_MODE_HOUSE_ARREST:
+- lerr = lockdownd_start_service (lockdown_cli, "com.apple.mobile.installation_proxy", &port);
++ lerr = lockdownd_start_service (lockdown_cli, "com.apple.mobile.installation_proxy", &lockdown_service);
+ if (G_UNLIKELY(g_vfs_backend_lockdownd_check (lerr, G_VFS_JOB(job))))
+ {
+ g_warning ("couldn't start inst proxy");
+ goto out_destroy_lockdown;
+ }
+- if (G_UNLIKELY(g_vfs_backend_inst_check (instproxy_client_new (self->dev,
+- port, &self->inst),
+- G_VFS_JOB(job))))
++ aerr = instproxy_client_new (self->dev, lockdown_service, &self->inst);
++ if (G_UNLIKELY(g_vfs_backend_inst_check (aerr, G_VFS_JOB(job))))
+ {
+ g_warning ("couldn't create inst proxy instance");
+ goto out_destroy_lockdown;
+ }
+- lerr = lockdownd_start_service (lockdown_cli, "com.apple.springboardservices", &port);
++ lerr = lockdownd_start_service (lockdown_cli, "com.apple.springboardservices", &lockdown_service);
+ if (G_UNLIKELY(g_vfs_backend_lockdownd_check (lerr, G_VFS_JOB(job))))
+ {
+ g_warning ("couldn't start SBServices proxy");
+ goto out_destroy_lockdown;
+ }
+- if (G_UNLIKELY(g_vfs_backend_sbs_check (sbservices_client_new (self->dev,
+- port, &self->sbs),
+- G_VFS_JOB(job))))
++ aerr = sbservices_client_new (self->dev, lockdown_service, &self->sbs);
++ if (G_UNLIKELY(g_vfs_backend_sbs_check (aerr, G_VFS_JOB(job))))
+ {
+ g_warning ("couldn't create SBServices proxy instance");
+ goto out_destroy_lockdown;
+@@ -705,6 +698,7 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
+
+ /* lockdown connection is not needed anymore */
+ lockdownd_client_free (lockdown_cli);
++ lockdownd_service_descriptor_free (lockdown_service);
+
+ /* Add camera item if necessary */
+ if (self->mode == ACCESS_MODE_AFC)
+@@ -723,6 +717,7 @@ g_vfs_backend_afc_mount (GVfsBackend *backend,
+
+ out_destroy_lockdown:
+ lockdownd_client_free (lockdown_cli);
++ lockdownd_service_descriptor_free (lockdown_service);
+
+ out_destroy_dev:
+ idevice_free (self->dev);
+@@ -794,10 +789,11 @@ g_vfs_backend_setup_afc_for_app (GVfsBackendAfc *self,
+ {
+ AppInfo *info;
+ lockdownd_client_t lockdown_cli;
+- guint16 port;
++ lockdownd_service_descriptor_t lockdown_service = NULL;
+ house_arrest_client_t house_arrest;
+ afc_client_t afc;
+ plist_t dict, error;
++ lockdownd_error_t lerr;
+
+ info = g_hash_table_lookup (self->apps, id);
+
+@@ -812,7 +808,8 @@ g_vfs_backend_setup_afc_for_app (GVfsBackendAfc *self,
+ g_warning ("Failed to get a lockdown to start house arrest for app %s", info->id);
+ return;
+ }
+- if (lockdownd_start_service (lockdown_cli, "com.apple.mobile.house_arrest", &port) != LOCKDOWN_E_SUCCESS)
++ lerr = lockdownd_start_service (lockdown_cli, "com.apple.mobile.house_arrest", &lockdown_service);
++ if (lerr != LOCKDOWN_E_SUCCESS)
+ {
+ lockdownd_client_free (lockdown_cli);
+ g_warning ("Failed to start house arrest for app %s", info->id);
+@@ -820,14 +817,17 @@ g_vfs_backend_setup_afc_for_app (GVfsBackendAfc *self,
+ }
+
+ house_arrest = NULL;
+- house_arrest_client_new (self->dev, port, &house_arrest);
++ house_arrest_client_new (self->dev, lockdown_service, &house_arrest);
+ if (house_arrest == NULL)
+ {
+ g_warning ("Failed to start house arrest for app %s", info->id);
+ lockdownd_client_free (lockdown_cli);
++ lockdownd_service_descriptor_free (lockdown_service);
+ return;
+ }
+
++ lockdownd_service_descriptor_free (lockdown_service);
++
+ dict = NULL;
+ if (house_arrest_send_command (house_arrest, "VendContainer", info->id) != HOUSE_ARREST_E_SUCCESS ||
+ house_arrest_get_result (house_arrest, &dict) != HOUSE_ARREST_E_SUCCESS)
+diff --git a/monitor/afc/afcvolume.c b/monitor/afc/afcvolume.c
+index 9829077..b7284b0 100644
+--- a/monitor/afc/afcvolume.c
++++ b/monitor/afc/afcvolume.c
+@@ -80,6 +80,8 @@ _g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
+ guint retries;
+ plist_t value;
+ char *model, *display_name;
++ lockdownd_service_descriptor_t lockdown_service = NULL;
++ lockdownd_error_t lerr;
+
+ retries = 0;
+ do {
+@@ -94,14 +96,14 @@ _g_vfs_afc_volume_update_metadata (GVfsAfcVolume *self)
+
+ if (self->service != NULL)
+ {
+- guint16 port;
+-
+ if (lockdownd_client_new_with_handshake (dev, &lockdown_cli, "gvfs-afc-volume-monitor") != LOCKDOWN_E_SUCCESS)
+ {
+ idevice_free (dev);
+ return 0;
+ }
+- if (lockdownd_start_service(lockdown_cli, "com.apple.mobile.house_arrest", &port) != LOCKDOWN_E_SUCCESS)
++ lerr = lockdownd_start_service (lockdown_cli, "com.apple.mobile.house_arrest", &lockdown_service);
++ lockdownd_service_descriptor_free (lockdown_service);
++ if (lerr != LOCKDOWN_E_SUCCESS)
+ {
+ idevice_free (dev);
+ return 0;
+diff --git a/monitor/afc/afcvolumemonitor.c b/monitor/afc/afcvolumemonitor.c
+index 3545bdf..995ef4d 100644
+--- a/monitor/afc/afcvolumemonitor.c
++++ b/monitor/afc/afcvolumemonitor.c
+@@ -89,12 +89,7 @@ g_vfs_afc_monitor_idevice_event (const idevice_event_t *event, void *user_data)
+
+ self = G_VFS_AFC_VOLUME_MONITOR(user_data);
+
+-#ifdef HAVE_LIBIMOBILEDEVICE_1_1_2
+ event_udid = event->udid;
+-#else
+- event_udid = event->uuid;
+-#endif
+-
+ if (event->event == IDEVICE_DEVICE_ADD)
+ g_vfs_afc_monitor_create_volume (self, event_udid);
+ else
+--
+cgit v0.9.2