gvfs: update to 1.24.2 to make access to windows shares work again

* Our very old and heavily patched version was broken for windows shares by
  the update of samba to 4.x
* Update to latest gvfs version (1.26.2 currently) is not possible due to
| configure: error: Package requirements (glib-2.0 >= 2.45.7 gobject-2.0 gmodule-no-export-2.0 gio-unix-2.0 gio-2.0) were not met:
|
| Requested 'glib-2.0 >= 2.45.7' but version of GLib is 2.44.1
* Licence checksum changed by updating the address of the FSF [1]
* obexftp support was removed in [2]
* the gdu/circular dependency hack using very old gnome-disk-utility was solved
  by using udisk2 volume monitor
* systemd-login detection was fixed
* some more PACKAGECONFIGs disabled by default (all set -except 'cdda'- was
  build tested)

[1] https://git.gnome.org/browse/gvfs/commit/?id=1e9c89eafaac6b3a759115df9981526fe9083461
[2] https://git.gnome.org/browse/gvfs/commit/?id=606ef241fb8677528bd5d5526854658f0f298a2c

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
This commit is contained in:
Andreas Müller
2016-01-09 22:47:20 +01:00
committed by Martin Jansa
parent 9ba1fa91b9
commit 52d0cb4348
11 changed files with 110 additions and 3358 deletions
@@ -0,0 +1,49 @@
From 39be8b277c666db21965d54d5b72418ce57a450b Mon Sep 17 00:00:00 2001
From: Michael Biebl <biebl@debian.org>
Date: Tue, 19 May 2015 23:38:11 +0200
Subject: [PATCH] Add support for libsystemd
In systemd v209 the various libsystemd-* libraries were merged into a
single libsystemd library. So first check for this library and fall back
to libsystemd-login if not found.
Bug: https://bugzilla.gnome.org/show_bug.cgi?id=749603
Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=779766
Upstream-Status: Applied
---
configure.ac | 10 ++++++----
1 file changed, 6 insertions(+), 4 deletions(-)
diff --git a/configure.ac b/configure.ac
index ee3475d..bd5c043 100644
--- a/configure.ac
+++ b/configure.ac
@@ -264,18 +264,20 @@ dnl **********************************
dnl *** Check for libsystemd-login ***
dnl **********************************
-AC_ARG_ENABLE(libsystemd_login, AS_HELP_STRING([--disable-libsystemd-login],[build without liblibsystemd-login]))
+AC_ARG_ENABLE(libsystemd_login, AS_HELP_STRING([--disable-libsystemd-login],[build without libsystemd-login]))
msg_libsystemd_login=no
LIBSYSTEMD_LOGIN_LIBS=
LIBSYSTEMD_LOGIN_CFLAGS=
LIBSYSTEMD_LOGIN_REQUIRED=44
if test "x$enable_libsystemd_login" != "xno"; then
- PKG_CHECK_EXISTS([libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED], msg_libsystemd_login=yes)
+ PKG_CHECK_EXISTS([libsystemd], [msg_libsystemd_login=yes],
+ [PKG_CHECK_EXISTS([libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED], msg_libsystemd_login=yes)])
if test "x$msg_libsystemd_login" = "xyes"; then
- PKG_CHECK_MODULES([LIBSYSTEMD_LOGIN],[libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED])
- AC_DEFINE(HAVE_LIBSYSTEMD_LOGIN, 1, [Define to 1 if liblibsystemd_login is available])
+ PKG_CHECK_MODULES([LIBSYSTEMD_LOGIN],[libsystemd],,
+ [PKG_CHECK_MODULES([LIBSYSTEMD_LOGIN],[libsystemd-login >= $LIBSYSTEMD_LOGIN_REQUIRED])])
+ AC_DEFINE(HAVE_LIBSYSTEMD_LOGIN, 1, [Define to 1 if libsystemd_login is available])
fi
fi
--
2.5.0
@@ -1,57 +0,0 @@
From 1b9ceef87405296adccdadc9528d4cbb2bc51b76 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Thu, 2 May 2013 13:27:16 +0200
Subject: [PATCH] Revert "Respect UDISKS_AUTOMOUNT_HINT available in recent
udisks and gnome-disk-utility"
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
This reverts commit 493ee806eba214a748d064b43c10882d76ee1492.
AFAICS was the requirement for gnome-disk-utility V3 for a minor functionality change.
Upstream-Status: Inappropriate [related to missing gnome3 support]
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
configure.ac | 2 +-
monitor/gdu/ggduvolume.c | 9 ---------
2 files changed, 1 insertions(+), 10 deletions(-)
diff --git a/configure.ac b/configure.ac
index 601e994..377770e 100644
--- a/configure.ac
+++ b/configure.ac
@@ -205,7 +205,7 @@ AC_ARG_ENABLE(gdu, AS_HELP_STRING([--disable-gdu],[build without GDU volume moni
msg_gdu=no
GDU_LIBS=
GDU_CFLAGS=
-GDU_REQUIRED=3.0.2
+GDU_REQUIRED=2.29.0
if test "x$enable_gdu" != "xno"; then
PKG_CHECK_EXISTS([gdu >= $GDU_REQUIRED], msg_gdu=yes)
diff --git a/monitor/gdu/ggduvolume.c b/monitor/gdu/ggduvolume.c
index eb15d22..0665b7a 100644
--- a/monitor/gdu/ggduvolume.c
+++ b/monitor/gdu/ggduvolume.c
@@ -429,15 +429,6 @@ update_volume (GGduVolume *volume)
g_free (activation_uri);
}
- /* if there's an automount hint, use it */
- if (device != NULL)
- {
- if (g_strcmp0 (gdu_device_get_automount_hint (device), "always") == 0)
- volume->should_automount = TRUE;
- else if (g_strcmp0 (gdu_device_get_automount_hint (device), "never") == 0)
- volume->should_automount = FALSE;
- }
-
if (pool != NULL)
g_object_unref (pool);
if (device != NULL)
--
1.7.6.5
@@ -1,599 +0,0 @@
From bd014bd8a442cae12aace7deb6e6a4d21ac3dd0e Mon Sep 17 00:00:00 2001
From: Matthias Clasen <mclasen@redhat.com>
Date: Fri, 21 Oct 2011 14:15:09 +0200
Subject: [PATCH] Adapt to GLib 2.31 deprecations and thread API changes
GStaticMutex and GStaticRWLock have been replaced by GMutex
and GRWLock, and g_thread_init() is no longer needed.
https://bugzilla.gnome.org/show_bug.cgi?id=661148
Upstream-Status: Backport
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
client/gdaemonvfs.c | 5 +-
client/gvfsdaemondbus.c | 15 ++++---
client/gvfsfusedaemon.c | 1 -
common/gmounttracker.c | 43 ++++++------------
configure.ac | 2 +-
daemon/daemon-main.c | 1 -
daemon/gvfsdaemonutils.c | 8 ++--
daemon/main.c | 2 -
metadata/metatree.c | 60 +++++++++++++-------------
monitor/proxy/gvfsproxyvolumemonitordaemon.c | 1 -
10 files changed, 60 insertions(+), 78 deletions(-)
diff --git a/client/gdaemonvfs.c b/client/gdaemonvfs.c
index 0f021b9..ae17c3c 100644
--- a/client/gdaemonvfs.c
+++ b/client/gdaemonvfs.c
@@ -298,9 +298,8 @@ g_daemon_vfs_init (GDaemonVfs *vfs)
bindtextdomain (GETTEXT_PACKAGE, GVFS_LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
-
- if (g_thread_supported ())
- dbus_threads_init_default ();
+
+ dbus_threads_init_default ();
vfs->async_bus = dbus_bus_get_private (DBUS_BUS_SESSION, NULL);
diff --git a/client/gvfsdaemondbus.c b/client/gvfsdaemondbus.c
index f32a6f8..2cfd2e6 100644
--- a/client/gvfsdaemondbus.c
+++ b/client/gvfsdaemondbus.c
@@ -53,7 +53,10 @@ typedef struct {
static gint32 vfs_data_slot = -1;
static GOnce once_init_dbus = G_ONCE_INIT;
-static GStaticPrivate local_connections = G_STATIC_PRIVATE_INIT;
+typedef struct _ThreadLocalConnections ThreadLocalConnections;
+static void free_local_connections (ThreadLocalConnections *local);
+
+static GPrivate local_connections = G_PRIVATE_INIT((GDestroyNotify)free_local_connections);
/* dbus id -> async connection */
static GHashTable *async_map = NULL;
@@ -862,10 +865,10 @@ _g_vfs_daemon_call_sync (DBusMessage *message,
* get per-thread synchronous dbus connections *
*************************************************************************/
-typedef struct {
+struct _ThreadLocalConnections {
GHashTable *connections;
DBusConnection *session_bus;
-} ThreadLocalConnections;
+};
static void
free_mount_connection (DBusConnection *conn)
@@ -891,7 +894,7 @@ invalidate_local_connection (const char *dbus_id,
_g_daemon_vfs_invalidate_dbus_id (dbus_id);
- local = g_static_private_get (&local_connections);
+ local = g_private_get (&local_connections);
if (local)
g_hash_table_remove (local->connections, dbus_id);
@@ -916,13 +919,13 @@ _g_dbus_connection_get_sync (const char *dbus_id,
g_once (&once_init_dbus, vfs_dbus_init, NULL);
- local = g_static_private_get (&local_connections);
+ local = g_private_get (&local_connections);
if (local == NULL)
{
local = g_new0 (ThreadLocalConnections, 1);
local->connections = g_hash_table_new_full (g_str_hash, g_str_equal,
g_free, (GDestroyNotify)free_mount_connection);
- g_static_private_set (&local_connections, local, (GDestroyNotify)free_local_connections);
+ g_private_set (&local_connections, local);
}
if (dbus_id == NULL)
diff --git a/client/gvfsfusedaemon.c b/client/gvfsfusedaemon.c
index a4ba32c..7cfa81c 100644
--- a/client/gvfsfusedaemon.c
+++ b/client/gvfsfusedaemon.c
@@ -2425,7 +2425,6 @@ gint
main (gint argc, gchar *argv [])
{
g_type_init ();
- g_thread_init (NULL);
return fuse_main (argc, argv, &vfs_oper, NULL /* user data */);
}
diff --git a/common/gmounttracker.c b/common/gmounttracker.c
index 519cd47..135a2b2 100644
--- a/common/gmounttracker.c
+++ b/common/gmounttracker.c
@@ -49,7 +49,7 @@ struct _GMountTracker
{
GObject parent_instance;
- GMutex *lock;
+ GMutex lock;
GList *mounts;
DBusConnection *connection;
};
@@ -258,8 +258,7 @@ g_mount_tracker_finalize (GObject *object)
tracker = G_MOUNT_TRACKER (object);
- if (tracker->lock)
- g_mutex_free (tracker->lock);
+ g_mutex_clear (&tracker->lock);
g_list_foreach (tracker->mounts,
(GFunc)g_mount_info_unref, NULL);
@@ -382,21 +381,18 @@ static void
g_mount_tracker_add_mount (GMountTracker *tracker,
GMountInfo *info)
{
- if (tracker->lock)
- g_mutex_lock (tracker->lock);
+ g_mutex_lock (&tracker->lock);
/* Don't add multiple times */
if (g_mount_tracker_find (tracker, info))
{
- if (tracker->lock)
- g_mutex_unlock (tracker->lock);
+ g_mutex_unlock (&tracker->lock);
return;
}
tracker->mounts = g_list_prepend (tracker->mounts, g_mount_info_ref (info));
- if (tracker->lock)
- g_mutex_unlock (tracker->lock);
+ g_mutex_unlock (&tracker->lock);
g_signal_emit (tracker, signals[MOUNTED], 0, info);
}
@@ -408,16 +404,14 @@ g_mount_tracker_remove_mount (GMountTracker *tracker,
GList *l;
GMountInfo *old_info;
- if (tracker->lock)
- g_mutex_lock (tracker->lock);
+ g_mutex_lock (&tracker->lock);
l = g_mount_tracker_find (tracker, info);
/* Don't remove multiple times */
if (l == NULL)
{
- if (tracker->lock)
- g_mutex_unlock (tracker->lock);
+ g_mutex_unlock (&tracker->lock);
return;
}
@@ -425,8 +419,7 @@ g_mount_tracker_remove_mount (GMountTracker *tracker,
tracker->mounts = g_list_delete_link (tracker->mounts, l);
- if (tracker->lock)
- g_mutex_unlock (tracker->lock);
+ g_mutex_unlock (&tracker->lock);
g_signal_emit (tracker, signals[UNMOUNTED], 0, old_info);
g_mount_info_unref (old_info);
@@ -548,8 +541,6 @@ init_connection (GMountTracker *tracker)
static void
g_mount_tracker_init (GMountTracker *tracker)
{
- if (g_thread_supported ())
- tracker->lock = g_mutex_new ();
}
@@ -588,8 +579,7 @@ g_mount_tracker_list_mounts (GMountTracker *tracker)
GList *res, *l;
GMountInfo *copy;
- if (tracker->lock)
- g_mutex_lock (tracker->lock);
+ g_mutex_lock (&tracker->lock);
res = NULL;
for (l = tracker->mounts; l != NULL; l = l->next)
@@ -598,8 +588,7 @@ g_mount_tracker_list_mounts (GMountTracker *tracker)
res = g_list_prepend (res, copy);
}
- if (tracker->lock)
- g_mutex_unlock (tracker->lock);
+ g_mutex_unlock (&tracker->lock);
return g_list_reverse (res);
}
@@ -611,8 +600,7 @@ g_mount_tracker_find_by_mount_spec (GMountTracker *tracker,
GList *l;
GMountInfo *info, *found;
- if (tracker->lock)
- g_mutex_lock (tracker->lock);
+ g_mutex_lock (&tracker->lock);
found = NULL;
for (l = tracker->mounts; l != NULL; l = l->next)
@@ -626,8 +614,7 @@ g_mount_tracker_find_by_mount_spec (GMountTracker *tracker,
}
}
- if (tracker->lock)
- g_mutex_unlock (tracker->lock);
+ g_mutex_unlock (&tracker->lock);
return found;
}
@@ -641,8 +628,7 @@ g_mount_tracker_has_mount_spec (GMountTracker *tracker,
GMountInfo *info;
gboolean found;
- if (tracker->lock)
- g_mutex_lock (tracker->lock);
+ g_mutex_lock (&tracker->lock);
found = FALSE;
for (l = tracker->mounts; l != NULL; l = l->next)
@@ -656,8 +642,7 @@ g_mount_tracker_has_mount_spec (GMountTracker *tracker,
}
}
- if (tracker->lock)
- g_mutex_unlock (tracker->lock);
+ g_mutex_unlock (&tracker->lock);
return found;
}
diff --git a/configure.ac b/configure.ac
index ee2f90f..be0c6a1 100644
--- a/configure.ac
+++ b/configure.ac
@@ -46,7 +46,7 @@ GTK_DOC_CHECK
DISTCHECK_CONFIGURE_FLAGS="--enable-gtk-doc"
AC_SUBST(DISTCHECK_CONFIGURE_FLAGS)
-PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.29.14 gthread-2.0 gobject-2.0 gmodule-no-export-2.0 gio-unix-2.0 gio-2.0 )
+PKG_CHECK_MODULES(GLIB, glib-2.0 >= 2.31.0 gobject-2.0 gmodule-no-export-2.0 gio-unix-2.0 gio-2.0 )
PKG_CHECK_MODULES(DBUS, dbus-1)
diff --git a/daemon/daemon-main.c b/daemon/daemon-main.c
index ef9025c..ff2bfde 100644
--- a/daemon/daemon-main.c
+++ b/daemon/daemon-main.c
@@ -63,7 +63,6 @@ daemon_init (void)
textdomain (GETTEXT_PACKAGE);
dbus_threads_init_default ();
- g_thread_init (NULL);
g_type_init ();
g_log_set_handler (NULL, G_LOG_LEVEL_DEBUG, log_debug, NULL);
diff --git a/daemon/gvfsdaemonutils.c b/daemon/gvfsdaemonutils.c
index f03d4b2..1efcf87 100644
--- a/daemon/gvfsdaemonutils.c
+++ b/daemon/gvfsdaemonutils.c
@@ -41,7 +41,7 @@
#include "gvfsdaemonprotocol.h"
static gint32 extra_fd_slot = -1;
-static GStaticMutex extra_lock = G_STATIC_MUTEX_INIT;
+static GMutex extra_lock;
typedef struct {
int extra_fd;
@@ -93,7 +93,7 @@ dbus_connection_send_fd (DBusConnection *connection,
return FALSE;
}
- g_static_mutex_lock (&extra_lock);
+ g_mutex_lock (&extra_lock);
if (_g_socket_send_fd (extra->extra_fd, fd) == -1)
{
@@ -103,13 +103,13 @@ dbus_connection_send_fd (DBusConnection *connection,
g_io_error_from_errno (errsv),
_("Error sending file descriptor: %s"),
g_strerror (errsv));
- g_static_mutex_unlock (&extra_lock);
+ g_mutex_unlock (&extra_lock);
return FALSE;
}
*fd_id = extra->fd_count++;
- g_static_mutex_unlock (&extra_lock);
+ g_mutex_unlock (&extra_lock);
return TRUE;
}
diff --git a/daemon/main.c b/daemon/main.c
index 4703562..2b2d549 100644
--- a/daemon/main.c
+++ b/daemon/main.c
@@ -52,8 +52,6 @@ main (int argc, char *argv[])
bindtextdomain (GETTEXT_PACKAGE, GVFS_LOCALEDIR);
bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
textdomain (GETTEXT_PACKAGE);
-
- g_thread_init (NULL);
#ifdef SIGPIPE
signal (SIGPIPE, SIG_IGN);
diff --git a/metadata/metatree.c b/metadata/metatree.c
index 3420ad0..850866e 100644
--- a/metadata/metatree.c
+++ b/metadata/metatree.c
@@ -68,7 +68,7 @@
#define KEY_IS_LIST_MASK (1<<31)
-static GStaticRWLock metatree_lock = G_STATIC_RW_LOCK_INIT;
+static GRWLock metatree_lock;
typedef enum {
JOURNAL_OP_SET_KEY,
@@ -591,7 +591,7 @@ meta_tree_lookup_by_name (const char *name,
MetaTree *
meta_tree_ref (MetaTree *tree)
{
- g_atomic_int_exchange_and_add ((int *)&tree->ref_count, 1);
+ g_atomic_int_inc ((int *)&tree->ref_count);
return tree;
}
@@ -672,17 +672,17 @@ meta_tree_refresh (MetaTree *tree)
{
gboolean needs_refresh;
- g_static_rw_lock_reader_lock (&metatree_lock);
+ g_rw_lock_reader_lock (&metatree_lock);
needs_refresh =
meta_tree_needs_rereading (tree) ||
meta_tree_has_new_journal_entries (tree);
- g_static_rw_lock_reader_unlock (&metatree_lock);
+ g_rw_lock_reader_unlock (&metatree_lock);
if (needs_refresh)
{
- g_static_rw_lock_writer_lock (&metatree_lock);
+ g_rw_lock_writer_lock (&metatree_lock);
meta_tree_refresh_locked (tree);
- g_static_rw_lock_writer_unlock (&metatree_lock);
+ g_rw_lock_writer_unlock (&metatree_lock);
}
}
@@ -1468,7 +1468,7 @@ meta_tree_lookup_key_type (MetaTree *tree,
MetaKeyType type;
gpointer value;
- g_static_rw_lock_reader_lock (&metatree_lock);
+ g_rw_lock_reader_lock (&metatree_lock);
new_path = meta_journal_reverse_map_path_and_key (tree->journal,
path,
@@ -1492,7 +1492,7 @@ meta_tree_lookup_key_type (MetaTree *tree,
type = META_KEY_TYPE_STRING;
out:
- g_static_rw_lock_reader_unlock (&metatree_lock);
+ g_rw_lock_reader_unlock (&metatree_lock);
return type;
}
@@ -1506,7 +1506,7 @@ meta_tree_get_last_changed (MetaTree *tree,
gpointer value;
guint64 res, mtime;
- g_static_rw_lock_reader_lock (&metatree_lock);
+ g_rw_lock_reader_lock (&metatree_lock);
new_path = meta_journal_reverse_map_path_and_key (tree->journal,
path,
@@ -1526,7 +1526,7 @@ meta_tree_get_last_changed (MetaTree *tree,
g_free (new_path);
out:
- g_static_rw_lock_reader_unlock (&metatree_lock);
+ g_rw_lock_reader_unlock (&metatree_lock);
return res;
}
@@ -1543,7 +1543,7 @@ meta_tree_lookup_string (MetaTree *tree,
char *new_path;
char *res;
- g_static_rw_lock_reader_lock (&metatree_lock);
+ g_rw_lock_reader_lock (&metatree_lock);
new_path = meta_journal_reverse_map_path_and_key (tree->journal,
path,
@@ -1572,7 +1572,7 @@ meta_tree_lookup_string (MetaTree *tree,
res = g_strdup (verify_string (tree, ent->value));
out:
- g_static_rw_lock_reader_unlock (&metatree_lock);
+ g_rw_lock_reader_unlock (&metatree_lock);
return res;
}
@@ -1621,7 +1621,7 @@ meta_tree_lookup_stringv (MetaTree *tree,
char **res;
guint32 num_strings, i;
- g_static_rw_lock_reader_lock (&metatree_lock);
+ g_rw_lock_reader_lock (&metatree_lock);
new_path = meta_journal_reverse_map_path_and_key (tree->journal,
path,
@@ -1658,7 +1658,7 @@ meta_tree_lookup_stringv (MetaTree *tree,
}
out:
- g_static_rw_lock_reader_unlock (&metatree_lock);
+ g_rw_lock_reader_unlock (&metatree_lock);
return res;
}
@@ -1876,7 +1876,7 @@ meta_tree_enumerate_dir (MetaTree *tree,
MetaFileDir *dir;
char *res_path;
- g_static_rw_lock_reader_lock (&metatree_lock);
+ g_rw_lock_reader_lock (&metatree_lock);
data.children = children =
g_hash_table_new_full (g_str_hash,
@@ -1922,7 +1922,7 @@ meta_tree_enumerate_dir (MetaTree *tree,
out:
g_free (res_path);
g_hash_table_destroy (children);
- g_static_rw_lock_reader_unlock (&metatree_lock);
+ g_rw_lock_reader_unlock (&metatree_lock);
}
typedef struct {
@@ -2116,7 +2116,7 @@ meta_tree_enumerate_keys (MetaTree *tree,
GHashTableIter iter;
char *res_path;
- g_static_rw_lock_reader_lock (&metatree_lock);
+ g_rw_lock_reader_lock (&metatree_lock);
keydata.keys = keys =
g_hash_table_new_full (g_str_hash,
@@ -2170,7 +2170,7 @@ meta_tree_enumerate_keys (MetaTree *tree,
out:
g_free (res_path);
g_hash_table_destroy (keys);
- g_static_rw_lock_reader_unlock (&metatree_lock);
+ g_rw_lock_reader_unlock (&metatree_lock);
}
@@ -2371,9 +2371,9 @@ meta_tree_flush (MetaTree *tree)
{
gboolean res;
- g_static_rw_lock_writer_lock (&metatree_lock);
+ g_rw_lock_writer_lock (&metatree_lock);
res = meta_tree_flush_locked (tree);
- g_static_rw_lock_writer_unlock (&metatree_lock);
+ g_rw_lock_writer_unlock (&metatree_lock);
return res;
}
@@ -2386,7 +2386,7 @@ meta_tree_unset (MetaTree *tree,
guint64 mtime;
gboolean res;
- g_static_rw_lock_writer_lock (&metatree_lock);
+ g_rw_lock_writer_lock (&metatree_lock);
if (tree->journal == NULL ||
!tree->journal->journal_valid)
@@ -2412,7 +2412,7 @@ meta_tree_unset (MetaTree *tree,
g_string_free (entry, TRUE);
out:
- g_static_rw_lock_writer_unlock (&metatree_lock);
+ g_rw_lock_writer_unlock (&metatree_lock);
return res;
}
@@ -2426,7 +2426,7 @@ meta_tree_set_string (MetaTree *tree,
guint64 mtime;
gboolean res;
- g_static_rw_lock_writer_lock (&metatree_lock);
+ g_rw_lock_writer_lock (&metatree_lock);
if (tree->journal == NULL ||
!tree->journal->journal_valid)
@@ -2452,7 +2452,7 @@ meta_tree_set_string (MetaTree *tree,
g_string_free (entry, TRUE);
out:
- g_static_rw_lock_writer_unlock (&metatree_lock);
+ g_rw_lock_writer_unlock (&metatree_lock);
return res;
}
@@ -2466,7 +2466,7 @@ meta_tree_set_stringv (MetaTree *tree,
guint64 mtime;
gboolean res;
- g_static_rw_lock_writer_lock (&metatree_lock);
+ g_rw_lock_writer_lock (&metatree_lock);
if (tree->journal == NULL ||
!tree->journal->journal_valid)
@@ -2492,7 +2492,7 @@ meta_tree_set_stringv (MetaTree *tree,
g_string_free (entry, TRUE);
out:
- g_static_rw_lock_writer_unlock (&metatree_lock);
+ g_rw_lock_writer_unlock (&metatree_lock);
return res;
}
@@ -2504,7 +2504,7 @@ meta_tree_remove (MetaTree *tree,
guint64 mtime;
gboolean res;
- g_static_rw_lock_writer_lock (&metatree_lock);
+ g_rw_lock_writer_lock (&metatree_lock);
if (tree->journal == NULL ||
!tree->journal->journal_valid)
@@ -2530,7 +2530,7 @@ meta_tree_remove (MetaTree *tree,
g_string_free (entry, TRUE);
out:
- g_static_rw_lock_writer_unlock (&metatree_lock);
+ g_rw_lock_writer_unlock (&metatree_lock);
return res;
}
@@ -2543,7 +2543,7 @@ meta_tree_copy (MetaTree *tree,
guint64 mtime;
gboolean res;
- g_static_rw_lock_writer_lock (&metatree_lock);
+ g_rw_lock_writer_lock (&metatree_lock);
if (tree->journal == NULL ||
!tree->journal->journal_valid)
@@ -2569,7 +2569,7 @@ meta_tree_copy (MetaTree *tree,
g_string_free (entry, TRUE);
out:
- g_static_rw_lock_writer_unlock (&metatree_lock);
+ g_rw_lock_writer_unlock (&metatree_lock);
return res;
}
diff --git a/monitor/proxy/gvfsproxyvolumemonitordaemon.c b/monitor/proxy/gvfsproxyvolumemonitordaemon.c
index 4be64e0..fe2f1a7 100644
--- a/monitor/proxy/gvfsproxyvolumemonitordaemon.c
+++ b/monitor/proxy/gvfsproxyvolumemonitordaemon.c
@@ -2050,7 +2050,6 @@ g_vfs_proxy_volume_monitor_daemon_init (void)
textdomain (GETTEXT_PACKAGE);
dbus_threads_init_default ();
- g_thread_init (NULL);
g_type_init ();
}
--
1.7.6.5
File diff suppressed because it is too large Load Diff
@@ -1,44 +0,0 @@
From 008031adbe2fd118a4e9a3c7219a9777cab1bb75 Mon Sep 17 00:00:00 2001
From: Tomas Bzatek <tbzatek@redhat.com>
Date: Wed, 26 Oct 2011 14:12:13 +0200
Subject: [PATCH 2/2] Adapt to glib thread API changes
Last piece in order to fix https://bugzilla.gnome.org/show_bug.cgi?id=661148
Upstream-Status: Backport
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
client/gvfsfusedaemon.c | 2 +-
daemon/trashlib/trashexpunge.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/client/gvfsfusedaemon.c b/client/gvfsfusedaemon.c
index c986f69..5e79638 100644
--- a/client/gvfsfusedaemon.c
+++ b/client/gvfsfusedaemon.c
@@ -2358,7 +2358,7 @@ vfs_init (struct fuse_conn_info *conn)
volume_monitor = g_object_new (g_type_from_name ("GDaemonVolumeMonitor"), NULL);
subthread_main_loop = g_main_loop_new (NULL, FALSE);
- subthread = g_thread_create ((GThreadFunc) subthread_main, NULL, FALSE, NULL);
+ subthread = g_thread_new ("gvfs-fuse-sub", (GThreadFunc) subthread_main, NULL);
/* Indicate O_TRUNC support for open() */
conn->want |= FUSE_CAP_ATOMIC_O_TRUNC;
diff --git a/daemon/trashlib/trashexpunge.c b/daemon/trashlib/trashexpunge.c
index a5cf975..677fb81 100644
--- a/daemon/trashlib/trashexpunge.c
+++ b/daemon/trashlib/trashexpunge.c
@@ -124,7 +124,7 @@ trash_expunge (GFile *directory)
{
GThread *thread;
- thread = g_thread_create (trash_expunge_thread, NULL, FALSE, NULL);
+ thread = g_thread_new ("trash-expunge", trash_expunge_thread, NULL);
g_assert (thread != NULL);
trash_expunge_alive = TRUE;
}
--
1.7.6.5
@@ -1,36 +0,0 @@
From de7b06dea740900fa63e2e011c9f862fe4b9405c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
Date: Mon, 27 Oct 2014 10:43:40 +0100
Subject: [PATCH] client/gdaemonfile.c: replace g_memmove by memmove
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
g_memmove was deprecated in glib 2.40 [1]
Upstream-Status: pending [2]
[1] https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html#g-memmove
[2] https://bugzilla.gnome.org/show_bug.cgi?id=739233
Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
---
client/gdaemonfile.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/client/gdaemonfile.c b/client/gdaemonfile.c
index 15c368c..593ce7a 100644
--- a/client/gdaemonfile.c
+++ b/client/gdaemonfile.c
@@ -256,7 +256,7 @@ g_daemon_file_get_parent (GFile *file)
len = (guint) 1 + base - path;
parent_path = g_new (gchar, len + 1);
- g_memmove (parent_path, path, len);
+ memmove (parent_path, path, len);
parent_path[len] = 0;
parent = new_file_for_new_path (daemon_file, parent_path);
--
1.8.3.1
@@ -1,78 +0,0 @@
Upstream-Status: Backport
https://git.gnome.org/browse/gvfs/commit/daemon/gvfsbackendgphoto2.c?id=259a09183f7c96b5fb0f6453bb4b0bcf92e3eaa2
Signed-off-by: Max Krummenacher <max.oss.09 at gmail.com>
From 259a09183f7c96b5fb0f6453bb4b0bcf92e3eaa2 Mon Sep 17 00:00:00 2001
From: Cosimo Cecchi <cosimoc@gnome.org>
Date: Wed, 8 Aug 2012 13:14:19 +0200
Subject: gphoto: build with libgphoto 2.5 API
Patch taken from the Fedora package
Author: Jindrich Novy <jnovy@redhat.com>
http://pkgs.fedoraproject.org/cgit/gvfs.git/commit/?id=cd0c6218df85bf3de101402c1aa9d79aae7c3019
diff --git a/configure.ac b/configure.ac
index 3215694..3280666 100644
--- a/configure.ac
+++ b/configure.ac
@@ -436,6 +436,9 @@ if test "x$enable_gphoto2" != "xno" -a \( "x$msg_hal" = "xyes" -o "x$msg_gudev"
if test "x$msg_gphoto2" = "xyes"; then
if test "x$use_gphoto2" = "xyes"; then
AC_DEFINE(HAVE_GPHOTO2, 1, [Define to 1 if gphoto2 is available])
+ PKG_CHECK_MODULES(GPHOTO2, libgphoto2 >= 2.5.0,
+ AC_DEFINE(HAVE_GPHOTO25, 1, [Define to 1 if libgphoto2 2.5 is available])
+ )
else
if test "x$enable_gphoto2" = "xyes"; then
AC_MSG_ERROR([Cannot build with gphoto2 support. Need OS tweaks in hal volume monitor.])
diff --git a/daemon/gvfsbackendgphoto2.c b/daemon/gvfsbackendgphoto2.c
index 0d2c594..75b4b02 100644
--- a/daemon/gvfsbackendgphoto2.c
+++ b/daemon/gvfsbackendgphoto2.c
@@ -1647,7 +1647,9 @@ do_mount (GVfsBackend *backend,
return;
}
+#ifndef HAVE_GPHOTO25
DEBUG (" '%s' '%s' '%s'", info.name, info.path, info.library_filename);
+#endif
/* set port */
rc = gp_camera_set_port_info (gphoto2_backend->camera, info);
@@ -2590,7 +2592,11 @@ do_slow_file_rename_in_same_dir (GVfsBackendGphoto2 *gphoto2_backend,
}
}
+#ifdef HAVE_GPHOTO25
+ rc = gp_camera_folder_put_file (gphoto2_backend->camera, dir, new_name, GP_FILE_TYPE_NORMAL, file_dest, gphoto2_backend->context);
+#else
rc = gp_camera_folder_put_file (gphoto2_backend->camera, dir, file_dest, gphoto2_backend->context);
+#endif
if (rc != 0)
goto out;
@@ -3222,14 +3228,18 @@ commit_write_handle (GVfsBackendGphoto2 *gphoto2_backend, WriteHandle *write_han
if (rc != 0)
goto out;
- gp_file_set_type (file, GP_FILE_TYPE_NORMAL);
gp_file_set_name (file, write_handle->name);
gp_file_set_mtime (file, time (NULL));
gp_file_set_data_and_size (file,
dup_for_gphoto2 (write_handle->data, write_handle->size),
write_handle->size);
+#ifdef HAVE_GPHOTO25
+ rc = gp_camera_folder_put_file (gphoto2_backend->camera, write_handle->dir, write_handle->name, GP_FILE_TYPE_NORMAL, file, gphoto2_backend->context);
+#else
+ gp_file_set_type (file, GP_FILE_TYPE_NORMAL);
rc = gp_camera_folder_put_file (gphoto2_backend->camera, write_handle->dir, file, gphoto2_backend->context);
+#endif
if (rc != 0)
{
gp_file_unref (file);
--
cgit v0.10.2
@@ -1,28 +0,0 @@
require gvfs.inc
BPN = "gvfs"
DEPENDS = "gvfs gnome-disk-utility libgnome-keyring intltool-native"
PR = "${INC_PR}.0"
# we need gdu files only: reduce files to delete in libexecdir
EXTRA_OECONF += "--disable-gphoto2 \
--disable-afc \
--disable-samba"
do_install_append() {
rm -rf ${D}${sysconfdir}
rm -rf ${D}${bindir}
rm -rf ${D}${includedir}
rm -rf ${D}${libdir}/gio
rm -rf ${D}${libdir}/lib*
rmdir --ignore-fail-on-non-empty ${D}${libdir}
rm -rf ${D}${datadir}/gvfs/mounts
rm -rf ${D}${datadir}/glib-2.0
rm -rf ${D}${datadir}/GConf
rm -f ${D}${datadir}/dbus-1/services/gvfs-*
rm -rf ${D}${datadir}/locale
rm -f ${D}${libexecdir}/gvfsd*
rm -f ${D}${libexecdir}/gvfs-fuse-daemon
rm -f ${D}${libexecdir}/gvfs-gphoto2-volume-monitor
}
-27
View File
@@ -1,27 +0,0 @@
DESCRIPTION = "gvfs is a userspace virtual filesystem"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
inherit gnome
INC_PR = "r0"
GNOME_COMPRESS_TYPE = "xz"
SRC_URI[archive.md5sum] = "0c968704be003d2f6eab29388c41664e"
SRC_URI[archive.sha256sum] = "cd30facee5ad6cd0fafc5337bbf7c06a0bff3936f9ff2ae31519b301efcc9288"
SRC_URI += " \
file://0001-Revert-Respect-UDISKS_AUTOMOUNT_HINT-available-in-re.patch \
file://0002-Adapt-to-GLib-2.31-deprecations-and-thread-API-chang.patch \
file://0003-Adapt-to-glib-mutex-API-changes.patch \
file://0004-Adapt-to-glib-thread-API-changes.patch \
file://0005-client-gdaemonfile.c-replace-g_memmove-by-memmove.patch \
file://gphoto_build_with_libgphoto_2.5_API.patch \
"
EXTRA_OECONF = "--with-archive-includes=${STAGING_INCDIR} \
--with-archive-libs=${STAGING_LIBDIR} \
"
FILES_${PN} += "${datadir}/dbus-1/services/*"
@@ -1,35 +0,0 @@
require gvfs.inc
DEPENDS = "libsoup-2.4 libgnome-keyring glib-2.0 avahi gconf intltool-native libgudev"
# optional: obexftp libimobiledevice
PR = "${INC_PR}.0"
# in case of gnome-disk-utility was alresdy built: avoid double files
# afc is enabled when it detects libimobiledevice
EXTRA_OECONF += "--disable-gdu --disable-afc"
PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
FILES_${PN} += "${datadir}/glib-2.0 ${datadir}/GConf ${libdir}/gio/modules/*.so"
FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
RDEPENDS_${PN} = "gvfs-gdu-volume-monitor"
RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
PACKAGECONFIG ?= "libgphoto2"
PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2"
PACKAGECONFIG[samba] = "--enable-samba --with-samba-includes=${STAGING_INCDIR} \
--with-samba-libs=${STAGING_LIBDIR}, --disable-samba, samba"
# needs meta-filesystems
PACKAGECONFIG[fuse] = "--enable-fuse, --disable-fuse, fuse"
PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
PACKAGECONFIG[obexftp] = "--enable-obexftp, --disable-obexftp, bluez4 expat"
# libcdio-paranoia recipe doesn't exist yet
PACKAGECONFIG[cdda] = "--enable-cdda, --disable-cdda, libcdio-paranoia"
@@ -0,0 +1,61 @@
DESCRIPTION = "gvfs is a userspace virtual filesystem"
LICENSE = "LGPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=05df38dd77c35ec8431f212410a3329e"
inherit gnome
DEPENDS += "libsecret glib-2.0 gconf intltool-native libgudev udisks2"
SRC_URI[archive.md5sum] = "83ed317eb2a5264715d4273e90a5cfd8"
SRC_URI[archive.sha256sum] = "0949eaedd1df7175f8d7ee2700df8210d1f854b8ee37d963bc32ee7091eeb228"
SRC_URI += " \
file://0001-Add-support-for-libsystemd.patch \
"
EXTRA_OECONF = " \
--disable-gdu \
--enable-udisks2 \
--with-archive-includes=${STAGING_INCDIR} \
--with-archive-libs=${STAGING_LIBDIR} \
"
PACKAGES =+ "gvfsd-ftp gvfsd-sftp gvfsd-trash"
FILES_${PN} += " \
${datadir}/glib-2.0 \
${datadir}/GConf \
${datadir}/dbus-1/services \
${libdir}/gio/modules/*.so \
${libdir}/tmpfiles.d \
"
RDEPENDS_${PN} = "udisks2"
FILES_${PN}-dbg += "${libdir}/gio/modules/.debug/*"
FILES_${PN}-dev += "${libdir}/gio/modules/*.la"
FILES_gvfsd-ftp = "${libexecdir}/gvfsd-ftp ${datadir}/gvfs/mounts/ftp.mount"
FILES_gvfsd-sftp = "${libexecdir}/gvfsd-sftp ${datadir}/gvfs/mounts/sftp.mount"
FILES_gvfsd-trash = "${libexecdir}/gvfsd-trash ${datadir}/gvfs/mounts/trash.mount"
RRECOMMENDS_gvfsd-ftp += "openssh-sftp openssh-ssh"
PACKAGES += "${PN}-bash-completion"
FILES_${PN}-bash-completion = "${datadir}/bash-completion"
RDEPENDS_${PN}-bash-completion = "bash-completion"
PACKAGECONFIG ?= "libgphoto2"
PACKAGECONFIG[afc] = "--enable-afc, --disable-afc, libimobiledevice libplist"
PACKAGECONFIG[archive] = "--enable-archive, --disable-archive, libarchive"
PACKAGECONFIG[avahi] = "--enable-avahi, --disable-avahi, avahi"
PACKAGECONFIG[gtk] = "--enable-gtk, --disable-gtk, gtk+3"
PACKAGECONFIG[http] = "--enable-http, --disable-http, libsoup-2.4"
PACKAGECONFIG[libmtp] = "--enable-libmtp, --disable-libmtp, libmtp"
PACKAGECONFIG[libgphoto2] = "--enable-gphoto2, --disable-gphoto2, libgphoto2"
PACKAGECONFIG[samba] = "--enable-samba, --disable-samba, samba"
# needs meta-filesystems
PACKAGECONFIG[fuse] = "--enable-fuse, --disable-fuse, fuse"
# libcdio-paranoia recipe doesn't exist yet
PACKAGECONFIG[cdda] = "--enable-cdda, --disable-cdda, libcdio-paranoia"