diff options
author | Gilles Dartiguelongue <eva@gentoo.org> | 2009-01-26 22:53:53 +0000 |
---|---|---|
committer | Gilles Dartiguelongue <eva@gentoo.org> | 2009-01-26 22:53:53 +0000 |
commit | 284f1982d47d2450b59809314b3bb464d527537e (patch) | |
tree | ae8bb04c1b64a92c3ee3fb8e9c81b862e9ed6262 /gnome-base | |
parent | fix broken atom (diff) | |
download | historical-284f1982d47d2450b59809314b3bb464d527537e.tar.gz historical-284f1982d47d2450b59809314b3bb464d527537e.tar.bz2 historical-284f1982d47d2450b59809314b3bb464d527537e.zip |
Add patch for bluez-4, bug #250615.
Package-Manager: portage-2.2_rc22/cvs/Linux 2.6.24-gentoo-r8-mactel x86_64
Diffstat (limited to 'gnome-base')
-rw-r--r-- | gnome-base/gvfs/ChangeLog | 8 | ||||
-rw-r--r-- | gnome-base/gvfs/Manifest | 14 | ||||
-rw-r--r-- | gnome-base/gvfs/files/gvfs-1.0.3-bluez4.patch | 475 | ||||
-rw-r--r-- | gnome-base/gvfs/gvfs-1.0.3-r10.ebuild | 81 |
4 files changed, 576 insertions, 2 deletions
diff --git a/gnome-base/gvfs/ChangeLog b/gnome-base/gvfs/ChangeLog index c7a85fa73d18..b423566977e6 100644 --- a/gnome-base/gvfs/ChangeLog +++ b/gnome-base/gvfs/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for gnome-base/gvfs # Copyright 1999-2009 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/gnome-base/gvfs/ChangeLog,v 1.42 2009/01/20 11:13:56 armin76 Exp $ +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gvfs/ChangeLog,v 1.43 2009/01/26 22:53:53 eva Exp $ + +*gvfs-1.0.3-r10 (26 Jan 2009) + + 26 Jan 2009; Gilles Dartiguelongue <eva@gentoo.org> + +files/gvfs-1.0.3-bluez4.patch, +gvfs-1.0.3-r10.ebuild: + Add patch for bluez-4, bug #250615. 20 Jan 2009; Raúl Porcel <armin76@gentoo.org> gvfs-0.2.5-r3.ebuild, gvfs-1.0.3.ebuild: diff --git a/gnome-base/gvfs/Manifest b/gnome-base/gvfs/Manifest index f042231cfa0a..ed2b0f7980dc 100644 --- a/gnome-base/gvfs/Manifest +++ b/gnome-base/gvfs/Manifest @@ -1,5 +1,9 @@ +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + AUX gvfs-0.2.5-bash-completion.patch 2002 RMD160 4be918587bf2e5ed0a05c8aaaca86e38fcc63cd6 SHA1 620b3e22d6b2e0558f632cc1962d95695458ff1a SHA256 04b247915f396734b29398a611d078a972b33a085c53766a56d0053797961fc4 AUX gvfs-0.2.5-dbus-crash.patch 678 RMD160 01832303f17c260ef4032ee5e17ba9accc8fc688 SHA1 50f1c096b65061586f651cbdfcb24ce2610f3ead SHA256 81d34b013e48bd4ae27e40cf8b699a0e0d1d45ae23c87cee8d153b7b62aad139 +AUX gvfs-1.0.3-bluez4.patch 15992 RMD160 ce019597f52e3f58bea23e098ffab70ac1f1ed83 SHA1 3734c27032184c956013c46b3915e05d84dd5009 SHA256 e9eb881f06b1b404e0c362c6e66975cdef2e5956b103720364a8fd6db7c9a4ce DIST gvfs-0.2.5.tar.bz2 826404 RMD160 f1b403c859ce91a5620ca16067d225f8a733857f SHA1 b92b27792fe711319f9f0bba678dc9c074cb5b97 SHA256 f8bb3d32b1fe797190b9d8f2a6b0cdf91e897326a26cf8d9583e41f0d3aae86b DIST gvfs-1.0.1.tar.bz2 898295 RMD160 a22d08085e1b6f55aa455e3a6d3ab1128d53a9fe SHA1 691f543a294899e582c912c2ad500e67966dfd6f SHA256 67e7dd1dca32a99eb1102a853d2df1bac782d50a4361511409572cfe8ea51147 DIST gvfs-1.0.2.tar.bz2 918268 RMD160 b8f6a107923fae1c0752ee7eb4a1c27c50e3c93d SHA1 7f005cc579532b82072268ad399a2bc5ec353000 SHA256 f3606dc28b1fa140c7d0191478097a89f7ef7a3183a811a1410a230052b71eb4 @@ -9,6 +13,14 @@ EBUILD gvfs-0.2.5-r3.ebuild 2105 RMD160 e68bbb0df96a8b4a2878c9b6b2cd912e8ce358c5 EBUILD gvfs-0.2.5.ebuild 1617 RMD160 0d42c19eae4d464502fa11f7daa91795ef110b10 SHA1 d5ac0328257d6d16d865d5fd0fbcfd06864a2f89 SHA256 9198321bcf88b471bf6553c6953b757dd6aaaacecc00c74afbd6a475855449c3 EBUILD gvfs-1.0.1.ebuild 2061 RMD160 09c628095179467703a7174dbda969df26c5c2f4 SHA1 f310692fbd758343fdeac1f25a25d286150ecac3 SHA256 404eac5b9a31bbfc6f7f3503c81dab185581c03d45721319bedc98b7d8d32846 EBUILD gvfs-1.0.2.ebuild 2061 RMD160 50f181ad457750013105becceb5c0615f6566cc2 SHA1 aa733236e5e2a03a5260aeb7639cfdc64c0deba0 SHA256 0646a412b91c5ae01684b09ae802f14c1b75b36f30dd896b37b9e2f9fbfbaaee +EBUILD gvfs-1.0.3-r10.ebuild 2112 RMD160 75d220f546fb05ab11be593bce200ae5e1d0be7f SHA1 85116e8f97108fbd5f7603e74beb735746dba5f6 SHA256 cd6f94f01153a8af69099ec264906bca346bd318b0d7b49aad4399f4e07c2897 EBUILD gvfs-1.0.3.ebuild 2074 RMD160 cf2e052a9ac6a68aaa6c263b7adc8e9cd89ed580 SHA1 1b979503bf6f3d12320332be68e4e0c4a7f7cd78 SHA256 b5ca8620a91aec6c9953477898ece953c81f1c009cd54f878da1c8332009b67a -MISC ChangeLog 5805 RMD160 5eb0ee99f1a634d058b7b25ed4e8d27c39a90577 SHA1 f25b1bb7bbb7a45815d7a22fc17f42d829b4c465 SHA256 c4284b5f899a2580aa91a5871767a586f08cddb6072520e6775d597bf2a72b4e +MISC ChangeLog 5983 RMD160 52d328b9f33901c9b2376fc98acd4e417938571b SHA1 a13607f0937c583e341663b840c087eb8d3779c2 SHA256 91f24f53f8a3d9815fcc52010ca06b3ac8f9f79702a90f35f97142f6c3adf90d MISC metadata.xml 864 RMD160 71f72e397643a884a5df4613040bd7a711ffc8f4 SHA1 2b83f7169d29d389e6aba00812b2dfb25d7f1a77 SHA256 7122d3aa2f01e10a870560059bf8b3a2bec93730d3451e73f9d7e145acce3783 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.0.9 (GNU/Linux) + +iEYEARECAAYFAkl+TRUACgkQ1fmVwcYIWAaVUQCaA9Kg4ZG4aTF0rNdf83yTE9hD +JhoAn0k1rWsONeB3IdpR+3aF93ZXTPd8 +=yvpg +-----END PGP SIGNATURE----- diff --git a/gnome-base/gvfs/files/gvfs-1.0.3-bluez4.patch b/gnome-base/gvfs/files/gvfs-1.0.3-bluez4.patch new file mode 100644 index 000000000000..6e9ca84bcab5 --- /dev/null +++ b/gnome-base/gvfs/files/gvfs-1.0.3-bluez4.patch @@ -0,0 +1,475 @@ +--- + daemon-main.c | 6 + + gvfsbackendobexftp.c | 292 ++++++++++++++++++++++----------------------------- + obexftp-marshal.list | 2 + 3 files changed, 138 insertions(+), 162 deletions(-) +Index: b/daemon/obexftp-marshal.list +=================================================================== +--- a/daemon/obexftp-marshal.list (revision 2022) ++++ b/daemon/obexftp-marshal.list (working copy) +@@ -1,2 +1,4 @@ ++VOID:STRING + VOID:STRING,STRING ++VOID:STRING,STRING,STRING + VOID:STRING,STRING,UINT64 +Index: b/daemon/daemon-main.c +=================================================================== +--- a/daemon/daemon-main.c (revision 2022) ++++ b/daemon/daemon-main.c (working copy) +@@ -65,6 +65,12 @@ + dbus_error_free (&derror); + exit (1); + } ++ ++ GLogLevelFlags fatal_mask; ++ ++ fatal_mask = g_log_set_always_fatal (G_LOG_FATAL_MASK); ++ fatal_mask |= G_LOG_LEVEL_WARNING | G_LOG_LEVEL_CRITICAL; ++ g_log_set_always_fatal (fatal_mask); + } + + void +Index: b/daemon/gvfsbackendobexftp.c +=================================================================== +--- a/daemon/gvfsbackendobexftp.c (revision 2022) ++++ b/daemon/gvfsbackendobexftp.c (working copy) +@@ -69,7 +69,7 @@ + + char *display_name; + char *bdaddr; +- guint type; ++ char *icon_name; + + DBusGConnection *connection; + DBusGProxy *manager_proxy; +@@ -96,177 +96,106 @@ + + G_DEFINE_TYPE (GVfsBackendObexftp, g_vfs_backend_obexftp, G_VFS_TYPE_BACKEND); + +-/* This should all live in bluez-gnome, and we +- * should depend on it */ +-enum { +- BLUETOOTH_TYPE_ANY = 1, +- BLUETOOTH_TYPE_PHONE = 1 << 1, +- BLUETOOTH_TYPE_MODEM = 1 << 2, +- BLUETOOTH_TYPE_COMPUTER = 1 << 3, +- BLUETOOTH_TYPE_NETWORK = 1 << 4, +- BLUETOOTH_TYPE_HEADSET = 1 << 5, +- BLUETOOTH_TYPE_KEYBOARD = 1 << 6, +- BLUETOOTH_TYPE_MOUSE = 1 << 7, +- BLUETOOTH_TYPE_CAMERA = 1 << 8, +- BLUETOOTH_TYPE_PRINTER = 1 << 9 +-}; ++static void session_connect_error_cb (DBusGProxy *proxy, ++ const char *session_object, ++ const gchar *error_name, ++ const gchar *error_message, ++ gpointer user_data); ++static void session_connected_cb (DBusGProxy *proxy, ++ const char *session_object, ++ gpointer user_data); + +-static const char * +-_get_icon_from_type (guint type) ++/* Used to detect broken listings from ++ * old Nokia 3650s */ ++static gboolean ++_is_nokia_3650 (const char *bdaddr) + { +- switch (type) +- { +- case BLUETOOTH_TYPE_PHONE: +- return "phone"; +- break; +- case BLUETOOTH_TYPE_MODEM: +- return "modem"; +- break; +- case BLUETOOTH_TYPE_COMPUTER: +- return "network-server"; +- break; +- case BLUETOOTH_TYPE_NETWORK: +- return "network-wireless"; +- break; +- case BLUETOOTH_TYPE_HEADSET: +- return "stock_headphones"; +- break; +- case BLUETOOTH_TYPE_KEYBOARD: +- return "input-keyboard"; +- break; +- case BLUETOOTH_TYPE_MOUSE: +- return "input-mouse"; +- break; +- case BLUETOOTH_TYPE_CAMERA: +- return "camera-photo"; +- break; +- case BLUETOOTH_TYPE_PRINTER: +- return "printer"; +- break; +- default: +- return "bluetooth"; +- break; +- } ++ /* Don't ask, Nokia seem to use a Bluetooth ++ * HCI from Murata */ ++ return g_str_has_prefix(bdaddr, "00:60:57"); + } + +-static int +-_get_type_from_class (guint class) ++static char * ++get_name_and_icon (DBusGProxy *device, char **icon_name) + { +- switch ((class & 0x1f00) >> 8) ++ GHashTable *hash; ++ ++ if (dbus_g_proxy_call (device, "GetProperties", NULL, ++ G_TYPE_INVALID, dbus_g_type_get_map ("GHashTable", G_TYPE_STRING, G_TYPE_VALUE), ++ &hash, G_TYPE_INVALID) != FALSE) + { +- case 0x01: +- return BLUETOOTH_TYPE_COMPUTER; +- case 0x02: +- switch ((class & 0xfc) >> 2) ++ GValue *value; ++ char *name; ++ ++ value = g_hash_table_lookup (hash, "Name"); ++ name = value ? g_value_dup_string(value) : NULL; ++ ++ value = g_hash_table_lookup (hash, "Icon"); ++ if (value) + { +- case 0x01: +- case 0x02: +- case 0x03: +- case 0x05: +- return BLUETOOTH_TYPE_PHONE; +- case 0x04: +- return BLUETOOTH_TYPE_MODEM; ++ *icon_name = g_value_dup_string (value); + } +- break; +- case 0x03: +- return BLUETOOTH_TYPE_NETWORK; +- case 0x04: +- switch ((class & 0xfc) >> 2) ++ else + { +- case 0x01: +- return BLUETOOTH_TYPE_HEADSET; ++ *icon_name = g_strdup ("bluetooth"); + } +- break; +- case 0x05: +- switch ((class & 0xc0) >> 6) +- { +- case 0x01: +- return BLUETOOTH_TYPE_KEYBOARD; +- case 0x02: +- return BLUETOOTH_TYPE_MOUSE; +- } +- break; +- case 0x06: +- if (class & 0x80) +- return BLUETOOTH_TYPE_PRINTER; +- if (class & 0x20) +- return BLUETOOTH_TYPE_CAMERA; +- break; ++ g_hash_table_destroy (hash); ++ return name; + } + +- return BLUETOOTH_TYPE_ANY; ++ return NULL; + } + +-/* Used to detect broken listings from +- * old Nokia 3650s */ +-static gboolean +-_is_nokia_3650 (const char *bdaddr) +-{ +- /* Don't ask, Nokia seem to use a Bluetooth +- * HCI from Murata */ +- return g_str_has_prefix(bdaddr, "00:60:57"); +-} +- + static gchar * +-_get_device_properties (const char *bdaddr, guint32 *type) ++_get_device_properties (const char *bdaddr, char **icon_name) + { + DBusGConnection *connection; + DBusGProxy *manager; +- gchar *name, **adapters; ++ GPtrArray *adapters; ++ gchar *name; + guint i; + + name = NULL; + + connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, NULL); + if (connection == NULL) +- return NULL; ++ return name; + + manager = dbus_g_proxy_new_for_name (connection, "org.bluez", +- "/org/bluez", "org.bluez.Manager"); ++ "/", "org.bluez.Manager"); + if (manager == NULL) + { + dbus_g_connection_unref (connection); +- return NULL; ++ return name; + } + +- if (dbus_g_proxy_call (manager, "ListAdapters", NULL, G_TYPE_INVALID, G_TYPE_STRV, &adapters, G_TYPE_INVALID) == FALSE) ++ if (dbus_g_proxy_call (manager, "ListAdapters", NULL, G_TYPE_INVALID, dbus_g_type_get_collection ("GPtrArray", DBUS_TYPE_G_OBJECT_PATH), &adapters, G_TYPE_INVALID) == FALSE) + { + g_object_unref (manager); + dbus_g_connection_unref (connection); +- return NULL; ++ return name; + } + +- for (i = 0; adapters[i] != NULL; i++) ++ for (i = 0; i < adapters->len && name == NULL; i++) + { + DBusGProxy *adapter; ++ char *device_path; + + adapter = dbus_g_proxy_new_for_name (connection, "org.bluez", +- adapters[i], "org.bluez.Adapter"); +- if (dbus_g_proxy_call (adapter, "GetRemoteName", NULL, ++ g_ptr_array_index (adapters, i), "org.bluez.Adapter"); ++ if (dbus_g_proxy_call (adapter, "FindDevice", NULL, + G_TYPE_STRING, bdaddr, G_TYPE_INVALID, +- G_TYPE_STRING, &name, G_TYPE_INVALID) != FALSE) ++ DBUS_TYPE_G_OBJECT_PATH, &device_path, G_TYPE_INVALID) != FALSE) + { +- if (name != NULL && name[0] != '\0') +- { +- guint32 class; +- +- if (dbus_g_proxy_call(adapter, "GetRemoteClass", NULL, +- G_TYPE_STRING, bdaddr, G_TYPE_INVALID, +- G_TYPE_UINT, &class, G_TYPE_INVALID) != FALSE) +- { +- *type = _get_type_from_class (class); +- } +- else +- { +- *type = BLUETOOTH_TYPE_ANY; +- } +- g_object_unref (adapter); +- break; +- } ++ DBusGProxy *device; ++ device = dbus_g_proxy_new_for_name (connection, "org.bluez", device_path, "org.bluez.Device"); ++ name = get_name_and_icon (device, icon_name); ++ g_object_unref (device); + } + g_object_unref (adapter); + } + ++ g_ptr_array_free (adapters, TRUE); + g_object_unref (manager); + dbus_g_connection_unref (connection); + +@@ -282,6 +211,7 @@ + + g_free (backend->display_name); + g_free (backend->bdaddr); ++ g_free (backend->icon_name); + g_free (backend->files_listing); + g_free (backend->directory); + +@@ -312,6 +242,15 @@ + "org.openobex", + "/org/openobex", + "org.openobex.Manager"); ++ ++ dbus_g_proxy_add_signal(backend->manager_proxy, "SessionConnectError", ++ DBUS_TYPE_G_OBJECT_PATH, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); ++ dbus_g_proxy_connect_signal(backend->manager_proxy, "SessionConnectError", ++ G_CALLBACK(session_connect_error_cb), backend, NULL); ++ dbus_g_proxy_add_signal(backend->manager_proxy, "SessionConnected", ++ DBUS_TYPE_G_OBJECT_PATH, G_TYPE_INVALID); ++ dbus_g_proxy_connect_signal(backend->manager_proxy, "SessionConnected", ++ G_CALLBACK(session_connected_cb), backend, NULL); + } + + static gboolean +@@ -437,8 +376,7 @@ + g_file_info_set_file_type (info, G_FILE_TYPE_DIRECTORY); + g_file_info_set_content_type (info, "inode/directory"); + g_file_info_set_name (info, "/"); +- g_vfs_backend_set_icon_name (backend, +- _get_icon_from_type (op_backend->type)); ++ g_vfs_backend_set_icon_name (backend, op_backend->icon_name); + display = g_strdup_printf (_("%s on %s"), "/", op_backend->display_name); + g_file_info_set_display_name (info, display); + g_free (display); +@@ -531,6 +469,37 @@ + } + + static void ++session_connect_error_cb (DBusGProxy *proxy, ++ const char *session_object, ++ const gchar *error_name, ++ const gchar *error_message, ++ gpointer user_data) ++{ ++ GVfsBackendObexftp *op_backend = G_VFS_BACKEND_OBEXFTP (user_data); ++ ++ g_mutex_lock (op_backend->mutex); ++ op_backend->status = ASYNC_ERROR; ++ op_backend->error = g_error_new_literal (DBUS_GERROR, ++ DBUS_GERROR_REMOTE_EXCEPTION, ++ error_message); ++ g_cond_signal (op_backend->cond); ++ g_mutex_unlock (op_backend->mutex); ++} ++ ++static void ++session_connected_cb (DBusGProxy *proxy, ++ const char *session_object, ++ gpointer user_data) ++{ ++ GVfsBackendObexftp *op_backend = G_VFS_BACKEND_OBEXFTP (user_data); ++ ++ g_mutex_lock (op_backend->mutex); ++ op_backend->status = ASYNC_SUCCESS; ++ g_cond_signal (op_backend->cond); ++ g_mutex_unlock (op_backend->mutex); ++} ++ ++static void + cancelled_cb (DBusGProxy *proxy, gpointer user_data) + { + GVfsBackendObexftp *op_backend = G_VFS_BACKEND_OBEXFTP (user_data); +@@ -559,24 +528,6 @@ + _exit (1); + } + +-static int +-is_connected (DBusGProxy *session_proxy, GVfsJob *job) +-{ +- GError *error = NULL; +- gboolean connected; +- +- if (dbus_g_proxy_call (session_proxy, "IsConnected", &error, +- G_TYPE_INVALID, +- G_TYPE_BOOLEAN, &connected, G_TYPE_INVALID) == FALSE) +- { +- g_vfs_job_failed_from_error (job, error); +- g_error_free (error); +- return -1; +- } +- +- return connected; +-} +- + static void + do_mount (GVfsBackend *backend, + GVfsJobMount *job, +@@ -590,7 +541,7 @@ + const gchar *path = NULL; + char *server; + GMountSpec *obexftp_mount_spec; +- gboolean connected; ++ guint count; + + g_print ("+ do_mount\n"); + +@@ -616,10 +567,11 @@ + } + + /* FIXME, Have a way for the mount to be cancelled, see: +- * http://bugs.muiline.com/view.php?id=51 */ ++ * Use CancelSessionConnect */ ++ op_backend->status = ASYNC_PENDING; + + if (dbus_g_proxy_call (op_backend->manager_proxy, "CreateBluetoothSession", &error, +- G_TYPE_STRING, op_backend->bdaddr, G_TYPE_STRING, "ftp", G_TYPE_INVALID, ++ G_TYPE_STRING, op_backend->bdaddr, G_TYPE_STRING, "00:00:00:00:00:00", G_TYPE_STRING, "ftp", G_TYPE_INVALID, + DBUS_TYPE_G_OBJECT_PATH, &path, G_TYPE_INVALID) == FALSE) + { + g_free (op_backend->bdaddr); +@@ -636,14 +588,13 @@ + path, + "org.openobex.Session"); + +- op_backend->display_name = _get_device_properties (op_backend->bdaddr, &op_backend->type); ++ op_backend->display_name = _get_device_properties (op_backend->bdaddr, &op_backend->icon_name); + if (!op_backend->display_name) + op_backend->display_name = g_strdup (op_backend->bdaddr); + + g_vfs_backend_set_display_name (G_VFS_BACKEND (op_backend), + op_backend->display_name); +- g_vfs_backend_set_icon_name (G_VFS_BACKEND (op_backend), +- _get_icon_from_type (op_backend->type)); ++ g_vfs_backend_set_icon_name (G_VFS_BACKEND (op_backend), op_backend->icon_name); + + obexftp_mount_spec = g_mount_spec_new ("obex"); + server = g_strdup_printf ("[%s]", op_backend->bdaddr); +@@ -676,14 +627,20 @@ + G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT64, G_TYPE_INVALID); + + /* Now wait until the device is connected */ +- connected = is_connected (op_backend->session_proxy, G_VFS_JOB (job)); +- while (connected == FALSE) +- { +- g_usleep (G_USEC_PER_SEC / 100); +- connected = is_connected (op_backend->session_proxy, G_VFS_JOB (job)); +- } ++ count = 0; ++ g_mutex_lock (op_backend->mutex); + +- if (connected < 0) ++ while (op_backend->status == ASYNC_PENDING && count < 100) { ++ GTimeVal val; ++ g_get_current_time (&val); ++ g_time_val_add (&val, 100000); ++ count++; ++ if (g_cond_timed_wait (op_backend->cond, op_backend->mutex, &val) != FALSE) ++ break; ++ } ++ g_mutex_unlock (op_backend->mutex); ++ ++ if (op_backend->status == ASYNC_ERROR || op_backend->status == ASYNC_PENDING) + { + g_message ("mount failed, didn't connect"); + +@@ -694,12 +651,17 @@ + g_object_unref (op_backend->session_proxy); + op_backend->session_proxy = NULL; + +- g_vfs_job_failed (G_VFS_JOB (job), +- G_IO_ERROR, G_IO_ERROR_BUSY, +- _("Connection to the device lost")); ++ if (op_backend->status != ASYNC_PENDING) ++ g_vfs_job_failed_from_error (G_VFS_JOB (job), op_backend->error); ++ else ++ g_vfs_job_failed (G_VFS_JOB (job), ++ G_IO_ERROR, G_IO_ERROR_BUSY, ++ _("Connection to the device lost")); + return; + } + ++ op_backend->status = ASYNC_PENDING; ++ + g_vfs_job_succeeded (G_VFS_JOB (job)); + + g_print ("- do_mount\n"); +@@ -1482,6 +1444,12 @@ + /* TransferStarted */ + dbus_g_object_register_marshaller(obexftp_marshal_VOID__STRING_STRING_UINT64, + G_TYPE_NONE, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_UINT64, G_TYPE_INVALID); ++ /* SessionConnected */ ++ dbus_g_object_register_marshaller(obexftp_marshal_VOID__STRING, ++ G_TYPE_NONE, DBUS_TYPE_G_OBJECT_PATH, G_TYPE_INVALID); ++ /* SessionConnectError */ ++ dbus_g_object_register_marshaller (obexftp_marshal_VOID__STRING_STRING_STRING, ++ G_TYPE_NONE, DBUS_TYPE_G_OBJECT_PATH, G_TYPE_STRING, G_TYPE_STRING, G_TYPE_INVALID); + } + + /* diff --git a/gnome-base/gvfs/gvfs-1.0.3-r10.ebuild b/gnome-base/gvfs/gvfs-1.0.3-r10.ebuild new file mode 100644 index 000000000000..7305e52c4436 --- /dev/null +++ b/gnome-base/gvfs/gvfs-1.0.3-r10.ebuild @@ -0,0 +1,81 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/gnome-base/gvfs/gvfs-1.0.3-r10.ebuild,v 1.1 2009/01/26 22:53:53 eva Exp $ + +inherit bash-completion gnome2 eutils + +DESCRIPTION="GNOME Virtual Filesystem Layer" +HOMEPAGE="http://www.gnome.org" + +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="archive avahi bluetooth cdda doc fuse gnome gphoto2 hal gnome-keyring samba" + +RDEPEND=">=dev-libs/glib-2.17.6 + >=sys-apps/dbus-1.0 + >=net-libs/libsoup-2.23.91 + dev-libs/libxml2 + net-misc/openssh + archive? ( app-arch/libarchive ) + avahi? ( >=net-dns/avahi-0.6 ) + cdda? ( + >=sys-apps/hal-0.5.10 + >=dev-libs/libcdio-0.78.2 ) + fuse? ( sys-fs/fuse ) + gnome? ( >=gnome-base/gconf-2.0 ) + hal? ( >=sys-apps/hal-0.5.10 ) + bluetooth? ( + dev-libs/dbus-glib + net-wireless/bluez + dev-libs/expat ) + gphoto2? ( >=media-libs/libgphoto2-2.4 ) + gnome-keyring? ( >=gnome-base/gnome-keyring-1.0 ) + samba? ( >=net-fs/samba-3 )" +DEPEND="${RDEPEND} + >=dev-util/intltool-0.40 + >=dev-util/pkgconfig-0.19 + doc? ( >=dev-util/gtk-doc-1 )" + +DOCS="AUTHORS ChangeLog NEWS README TODO" + +pkg_setup() { + G2CONF="${G2CONF} + --enable-http + --disable-bash-completion + $(use_enable archive) + $(use_enable avahi) + $(use_enable bluetooth obexftp) + $(use_enable cdda) + $(use_enable fuse) + $(use_enable gnome gconf) + $(use_enable gphoto2) + $(use_enable hal) + $(use_enable gnome-keyring keyring) + $(use_enable samba)" + + if use cdda && built_with_use dev-libs/libcdio minimal; then + ewarn + ewarn "CDDA support in gvfs requires dev-libs/libcdio to be built" + ewarn "without the minimal USE flag." + die "Please re-emerge dev-libs/libcdio without the minimal USE flag" + fi +} + +src_unpack() { + gnome2_src_unpack + + # Add support for bluez 4, bug #250615 + epatch "${FILESDIR}/${P}-bluez4.patch" +} + +src_install() { + gnome2_src_install + use bash-completion && \ + dobashcompletion programs/gvfs-bash-completion.sh ${PN} +} + +pkg_postinst() { + gnome2_pkg_postinst + use bash-completion && bash-completion_pkg_postinst +} |