From 3b314c1f298d05968e742c90bb2158aaf4c46622d7e51bc820c7a067fbe16fa5 Mon Sep 17 00:00:00 2001 From: OBS User unknown Date: Mon, 27 Oct 2008 15:55:29 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/gvfs?expand=0&rev=29 --- gvfs-1.0.1.tar.bz2 | 3 - gvfs-1.0.2.tar.bz2 | 3 + gvfs-obexftp-updated-apis-3.patch | 453 ++++++++++++++++++++++++++++++ gvfs.changes | 17 ++ gvfs.spec | 90 ++++-- 5 files changed, 534 insertions(+), 32 deletions(-) delete mode 100644 gvfs-1.0.1.tar.bz2 create mode 100644 gvfs-1.0.2.tar.bz2 create mode 100644 gvfs-obexftp-updated-apis-3.patch diff --git a/gvfs-1.0.1.tar.bz2 b/gvfs-1.0.1.tar.bz2 deleted file mode 100644 index 072fc13..0000000 --- a/gvfs-1.0.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:67e7dd1dca32a99eb1102a853d2df1bac782d50a4361511409572cfe8ea51147 -size 898295 diff --git a/gvfs-1.0.2.tar.bz2 b/gvfs-1.0.2.tar.bz2 new file mode 100644 index 0000000..f764346 --- /dev/null +++ b/gvfs-1.0.2.tar.bz2 @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f3606dc28b1fa140c7d0191478097a89f7ef7a3183a811a1410a230052b71eb4 +size 918268 diff --git a/gvfs-obexftp-updated-apis-3.patch b/gvfs-obexftp-updated-apis-3.patch new file mode 100644 index 0000000..aa49d4c --- /dev/null +++ b/gvfs-obexftp-updated-apis-3.patch @@ -0,0 +1,453 @@ +Index: daemon/obexftp-marshal.list +=================================================================== +--- daemon/obexftp-marshal.list (revision 2022) ++++ daemon/obexftp-marshal.list (working copy) +@@ -1,2 +1,4 @@ ++VOID:STRING + VOID:STRING,STRING ++VOID:STRING,STRING,STRING + VOID:STRING,STRING,UINT64 +Index: daemon/gvfsbackendobexftp.c +=================================================================== +--- daemon/gvfsbackendobexftp.c (revision 2022) ++++ 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/gvfs.changes b/gvfs.changes index 97c85b0..c7b7863 100644 --- a/gvfs.changes +++ b/gvfs.changes @@ -1,3 +1,20 @@ +------------------------------------------------------------------- +Mon Oct 27 10:40:15 EDT 2008 - jpr@novell.com + +- Use bluez-devel not bluez in the BuildRequires (bnc#436950) +- List each backend individually so we know when one breaks +- Add gvfs-obexftp-update-apis-3.patch for bluez 4.x + +------------------------------------------------------------------- +Tue Oct 21 19:24:32 EST 2008 - mboman@suse.de + +- Update to version 1.0.2: + + Make sure mount-added is always emitted when a mount operation is + completed + + Crash fixes + + Set st_blocks to make du and ls -s work + + Stability fix with concurrent close and reads (made amarok2 crash) + ------------------------------------------------------------------- Fri Oct 3 11:26:25 WST 2008 - mboman@suse.de diff --git a/gvfs.spec b/gvfs.spec index 4187d8a..5c7aef1 100644 --- a/gvfs.spec +++ b/gvfs.spec @@ -1,5 +1,5 @@ # -# spec file for package gvfs (Version 1.0.1) +# spec file for package gvfs (Version 1.0.2) # # Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany. # @@ -19,7 +19,7 @@ Name: gvfs -BuildRequires: bluez +BuildRequires: bluez-devel BuildRequires: fuse-devel BuildRequires: gconf2-devel BuildRequires: glib2-devel @@ -44,7 +44,7 @@ BuildRequires: libgphoto2 BuildRequires: extra-rpm-macros %endif Summary: VFS functionality for GLib -Version: 1.0.1 +Version: 1.0.2 Release: 1 License: LGPL v2.0 or later Group: Development/Libraries/C and C++ @@ -53,6 +53,8 @@ Source0: %{name}-%{version}.tar.bz2 Patch0: gvfs-no-shebang.patch # PATCH-FEATURE-OPENSUSE gvfs-dice-backend.patch hpj@suse.de -- Implements Novell IceDesktop backend. Should be upstreamed eventually. Patch1: gvfs-dice-backend.patch +# PATCH-FIX-UPSTREAM gvfs-obexftp-update-apis-3.patch jpr@suse.de - Support for bluez 4.x from Fedora +Patch2: gvfs-obexftp-updated-apis-3.patch Url: http://www.gnome.org BuildRoot: %{_tmppath}/%{name}-%{version}-build AutoReqProv: on @@ -139,6 +141,7 @@ Authors: %setup -n %{name}-%{version} %patch0 -p1 %patch1 +%patch2 %build export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing" @@ -180,8 +183,26 @@ rm -rf $RPM_BUILD_ROOT %files backends %defattr(-, root, root) -%{_libdir}/%{name}/gvfsd-* -%{_libdir}/%{name}/gvfs-* +%{_libdir}/%{name}/gvfs-fuse-daemon +%{_libdir}/%{name}/gvfs-gphoto2-volume-monitor +%{_libdir}/%{name}/gvfs-hal-volume-monitor +%{_libdir}/%{name}/gvfsd-archive +%{_libdir}/%{name}/gvfsd-burn +%{_libdir}/%{name}/gvfsd-cdda +%{_libdir}/%{name}/gvfsd-computer +%{_libdir}/%{name}/gvfsd-dav +%{_libdir}/%{name}/gvfsd-dice +%{_libdir}/%{name}/gvfsd-dnssd +%{_libdir}/%{name}/gvfsd-ftp +%{_libdir}/%{name}/gvfsd-gphoto2 +%{_libdir}/%{name}/gvfsd-http +%{_libdir}/%{name}/gvfsd-localtest +%{_libdir}/%{name}/gvfsd-network +%{_libdir}/%{name}/gvfsd-obexftp +%{_libdir}/%{name}/gvfsd-sftp +%{_libdir}/%{name}/gvfsd-smb +%{_libdir}/%{name}/gvfsd-smb-browse +%{_libdir}/%{name}/gvfsd-trash %files -n libgvfscommon0 %defattr(-, root, root) @@ -195,6 +216,17 @@ rm -rf $RPM_BUILD_ROOT %files lang -f %{name}.lang %changelog +* Mon Oct 27 2008 jpr@novell.com +- Use bluez-devel not bluez in the BuildRequires (bnc#436950) +- List each backend individually so we know when one breaks +- Add gvfs-obexftp-update-apis-3.patch for bluez 4.x +* Tue Oct 21 2008 mboman@suse.de +- Update to version 1.0.2: + + Make sure mount-added is always emitted when a mount operation is + completed + + Crash fixes + + Set st_blocks to make du and ls -s work + + Stability fix with concurrent close and reads (made amarok2 crash) * Fri Oct 03 2008 mboman@suse.de - Update to version 1.0.1: + bgo#547568 - gvfsd-trash crash due to race condition @@ -210,9 +242,9 @@ rm -rf $RPM_BUILD_ROOT + Fix crash while browsing ssh locations + Fix --enable/disable-keyring configure switch + Updated translations. -* Wed Sep 17 2008 dmueller@suse.de +* Tue Sep 16 2008 dmueller@suse.de - update buildrequires -* Thu Sep 11 2008 maw@suse.de +* Wed Sep 10 2008 maw@suse.de - Update to version 0.99.7.1: + Revert to using powers of 10 instead of powers of 2 for display sizes; this means we will agree with printed sizes for @@ -220,19 +252,19 @@ rm -rf $RPM_BUILD_ROOT report "64MB volume" instead of "61.7MB volume" as previously + Bugs fixed: bgo#546971 and bgo#550858 + Updated translations. -* Tue Sep 09 2008 kukuk@suse.de +* Mon Sep 08 2008 kukuk@suse.de - Make obex-data-server really a recommends as requested initialy in bugzilla. -* Tue Sep 02 2008 mboman@novell.com +* Mon Sep 01 2008 mboman@novell.com - Update to version 0.99.6: + Better cross-backend copy/move logic. + Bugs fixed: bgo#548841, bgo#547133, bgo#538573, bgo#549253, bgo#549553, bgo#550100, bgo#529971, rh#460223 + Translation updates -* Mon Sep 01 2008 ro@suse.de +* Sun Aug 31 2008 ro@suse.de - add libexpat-devel to buildrequires so that obex backend is built -* Fri Aug 29 2008 maw@suse.de +* Thu Aug 28 2008 maw@suse.de - Update to version 0.93.5: + Support und update serialization of GEmblem and GEmblemedIcon + Add x-content/* support to daemon mounts @@ -246,14 +278,14 @@ rm -rf $RPM_BUILD_ROOT + Updated translations - Drop gvfs-bnc382172-home-trash-monitoring.patch, because it has been upstreamed (see bgo#509740 and bnc#382172). -* Sat Aug 02 2008 maw@suse.de +* Fri Aug 01 2008 maw@suse.de - Update to version 0.99.3: + Move hal and gphoto volume monitors out of process + Fix recursive copying + Make the fuse daemon more reliable + Many smaller bugfixes + Updated translations. -* Sat Jun 07 2008 maw@suse.de +* Fri Jun 06 2008 maw@suse.de - Update to versino 0.99.1: + Fix directory copy/delete problems + Fuse daemon robustness fixes @@ -266,14 +298,14 @@ rm -rf $RPM_BUILD_ROOT + Many smaller bug fixes + Updated translations - Remove upstreamed patch: gvfs-bnc368628-fuse-robustness.patch. -* Sat May 24 2008 hpj@suse.de +* Fri May 23 2008 hpj@suse.de - Merge gvfs-bgo531516-fuse-cleanup-when-killed.patch into gvfs-bnc368628-fuse-robustness.patch so as to avoid overlapping patches. - Add upstream fixes to thread locking and file handle life-cycles to gvfs-bnc368628-fuse-robustness.patch. Prevents more crashes. - Depend on libcdio-devel for building, so we get the CDDA backend. -* Thu May 22 2008 hpj@suse.de +* Wed May 21 2008 hpj@suse.de - Add gvfs-bgo531516-fuse-cleanup-when-killed.patch, which fixes the remaining issues covered by BNC #368628. * Tue May 13 2008 hpj@suse.de @@ -282,7 +314,7 @@ rm -rf $RPM_BUILD_ROOT * Thu May 08 2008 hpj@suse.de - Add gvfs-bnc368628-fuse-robustness.patch, which probably fixes BNC #368628. -* Thu Apr 10 2008 maw@suse.de +* Wed Apr 09 2008 maw@suse.de - Update to version 0.2.3: + WebDAV: implement set_display_name + WebDAV fixes @@ -293,7 +325,7 @@ rm -rf $RPM_BUILD_ROOT * Wed Apr 09 2008 sbrabec@suse.cz - Directory ownership of %%{_libdir}/gio/modules moved to glib2, where it logically belongs. -* Wed Apr 02 2008 rodrigo@suse.de +* Tue Apr 01 2008 rodrigo@suse.de - Update to version 0.2.2: * Respect the giomoduledir provided in gio package config file * Better mount icon and name for archive backend @@ -305,13 +337,13 @@ rm -rf $RPM_BUILD_ROOT * sftp: Kerberos support * smb: Port to new samba 3.2.0 API (backwards compat) * sftp: Handle overwrites correctly (was silent overwrite) -* Wed Mar 26 2008 maw@suse.de +* Tue Mar 25 2008 maw@suse.de - gvfs now recommends gvfs-backends (bnc#373477). -* Thu Mar 20 2008 maw@suse.de +* Wed Mar 19 2008 maw@suse.de - Reduce build requirements - Split out a shared library package, libgnomevfscommon0, and two module subpackages, gvfs-backends and gvfs-fuse. -* Wed Mar 19 2008 jpr@suse.de +* Tue Mar 18 2008 jpr@suse.de - Update to version 0.2.1 * Added archive backend * Implement most of the async functions in GDaemonFile @@ -325,7 +357,7 @@ rm -rf $RPM_BUILD_ROOT * Enviroment variable to disable fuse backend at runtime * Mon Mar 17 2008 jpr@suse.de - Add recommends for obex-data-server (bnc #368776) -* Fri Mar 14 2008 maw@suse.de +* Thu Mar 13 2008 maw@suse.de - Update to version 0.2.0.1: + Fix crashes + Build and portability fixes @@ -337,14 +369,14 @@ rm -rf $RPM_BUILD_ROOT + obex: Give better error message on broken phones + sftp: Allow setting permissions + dav: Correct mount name, file icons and file types. -* Wed Mar 05 2008 jpr@suse.de +* Tue Mar 04 2008 jpr@suse.de - Update to version 0.1.11 * Correctly free mounts * Disable debug log * Fix volume monitor change reporting * Fix timeout during automount - enable obex backend -* Wed Mar 05 2008 maw@suse.de +* Tue Mar 04 2008 maw@suse.de - Update to version 0.1.9: + Added ftp backend + Added obexftp backend @@ -354,7 +386,7 @@ rm -rf $RPM_BUILD_ROOT + Allow backends to specify uri details in .mount file + Fix leaks and crashes + Fix icon for audio cds. -* Sat Mar 01 2008 jpr@suse.de +* Fri Feb 29 2008 jpr@suse.de - Update to 0.1.8 * Update for gio API changes * Add gphoto2 backend @@ -371,10 +403,10 @@ rm -rf $RPM_BUILD_ROOT * Add bash completion support for command line apps * Fix handling of blank cds and audio cds * Support port in sftp uris -* Fri Feb 29 2008 jpr@suse.de +* Thu Feb 28 2008 jpr@suse.de - Move the gio modules into the main package (#358748) - Enable gconf backend -* Tue Feb 19 2008 maw@suse.de +* Mon Feb 18 2008 maw@suse.de - Update to version 0.1.7: + Update for gio API changes + Add gconf based implementation of @@ -387,9 +419,9 @@ rm -rf $RPM_BUILD_ROOT + Pick up cdrom icons from autorun.inf + Add "filesystem" file to computer:// + Fix renaming in sftp and smb. -* Sat Feb 09 2008 maw@suse.de +* Fri Feb 08 2008 maw@suse.de - Recomend fuse (bnc#359928). -* Thu Jan 31 2008 maw@suse.de +* Wed Jan 30 2008 maw@suse.de - Update to version 0.1.6: + Updates to work with more recent glib + Fix sftp error handling on reading directories @@ -398,5 +430,5 @@ rm -rf $RPM_BUILD_ROOT + hal: Don't show drives if all volumes are hidden + Enable translations + Plus some files that were missing in 0.1.5. -* Wed Jan 23 2008 maw@suse.de +* Tue Jan 22 2008 maw@suse.de - Initial package, version 0.1.4.