r30005 - in /desktop/unstable/gtk+2.0/debian: changelog patches/065_tracker-0-10.patch patches/065_tracker.patch patches/series
biebl at users.alioth.debian.org
biebl at users.alioth.debian.org
Wed Oct 5 17:00:12 UTC 2011
Author: biebl
Date: Wed Oct 5 17:00:11 2011
New Revision: 30005
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=30005
Log:
Add support for tracker 0.12 and prefer it over 0.10. Closes: #643943
Added:
desktop/unstable/gtk+2.0/debian/patches/065_tracker.patch
- copied, changed from r29994, desktop/unstable/gtk+2.0/debian/patches/065_tracker-0-10.patch
Removed:
desktop/unstable/gtk+2.0/debian/patches/065_tracker-0-10.patch
Modified:
desktop/unstable/gtk+2.0/debian/changelog
desktop/unstable/gtk+2.0/debian/patches/series
Modified: desktop/unstable/gtk+2.0/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B2.0/debian/changelog?rev=30005&op=diff
==============================================================================
--- desktop/unstable/gtk+2.0/debian/changelog [utf-8] (original)
+++ desktop/unstable/gtk+2.0/debian/changelog [utf-8] Wed Oct 5 17:00:11 2011
@@ -7,6 +7,7 @@
we have a recent enough version of libgnome2-0 which can read the
accessibility module from the new multiarch location. Closes: #636536
* Refresh patches.
+ * Add support for tracker 0.12 and prefer it over 0.10. Closes: #643943
-- Michael Biebl <biebl at debian.org> Wed, 05 Oct 2011 11:11:48 +0200
Copied: desktop/unstable/gtk+2.0/debian/patches/065_tracker.patch (from r29994, desktop/unstable/gtk+2.0/debian/patches/065_tracker-0-10.patch)
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B2.0/debian/patches/065_tracker.patch?rev=30005&op=diff
==============================================================================
--- desktop/unstable/gtk+2.0/debian/patches/065_tracker-0-10.patch [utf-8] (original)
+++ desktop/unstable/gtk+2.0/debian/patches/065_tracker.patch [utf-8] Wed Oct 5 17:00:11 2011
@@ -1,7 +1,7 @@
-Index: gtk+-2.24.5/gtk/gtksearchenginetracker.c
+Index: gtk+-2.24.6/gtk/gtksearchenginetracker.c
===================================================================
---- gtk+-2.24.5.orig/gtk/gtksearchenginetracker.c 2011-06-02 00:33:54.000000000 +0200
-+++ gtk+-2.24.5/gtk/gtksearchenginetracker.c 2011-07-04 02:31:23.487669419 +0200
+--- gtk+-2.24.6.orig/gtk/gtksearchenginetracker.c 2011-10-05 11:33:23.444995445 +0200
++++ gtk+-2.24.6/gtk/gtksearchenginetracker.c 2011-10-05 18:55:37.723414390 +0200
@@ -1,5 +1,4 @@
/*
- * Copyright (C) 2005 Jamie McCracken <jamiemcc at gnome.org>
@@ -18,7 +18,7 @@
* Martyn Russell <martyn at lanedo.com>
*
* Based on nautilus-search-engine-tracker.c
-@@ -25,157 +23,136 @@
+@@ -25,157 +23,139 @@
#include "config.h"
@@ -30,14 +30,17 @@
-/* we dlopen() libtracker at runtime */
+#include "gtksearchenginetracker.h"
-
--typedef struct _TrackerClient TrackerClient;
++
+/* If defined, we use fts:match, this has to be enabled in Tracker to
+ * work which it usually is. The alternative is to undefine it and
+ * use filename matching instead. This doesn't use the content of the
+ * file however.
+ */
+#define FTS_MATCHING
+
+-typedef struct _TrackerClient TrackerClient;
++#define MODULE_FILENAME_0_12 "libtracker-sparql-0.12.so.0"
++#define MODULE_FILENAME_0_10 "libtracker-sparql-0.10.so.0"
-typedef enum
-{
@@ -109,8 +112,6 @@
- MAP (tracker_sparql_escape, TRACKER_0_8 | TRACKER_0_9),
- MAP (tracker_resources_sparql_query_async, TRACKER_0_8 | TRACKER_0_9)
-#undef MAP
-+#define MODULE_FILENAME "libtracker-sparql-0.10.so.0"
-+
+#define MODULE_MAP(a) { #a, (gpointer *)&a }
+
+/* Connection object */
@@ -177,9 +178,16 @@
+ gint i;
+ GModule *m;
+ GModuleFlags flags;
++
++ if (inited)
++ return TRUE;
- if (!done)
-- {
++ flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
++
++ /* First try 0.12, then 0.10 */
++ if ((m = g_module_open (MODULE_FILENAME_0_12, flags)) == NULL)
+ {
- gint i;
- GModule *tracker;
- GModuleFlags flags;
@@ -220,21 +228,17 @@
- g_warning ("Missing symbol '%s' in libtracker\n",
- tracker_dl_mapping[i].fn_name);
- g_module_close (tracker);
-+ if (inited)
-+ return TRUE;
-+
-+ flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
-+
-+ /* Only support 0.10 onwards */
-+ if ((m = g_module_open (MODULE_FILENAME, flags)) == NULL)
-+ {
-+ g_debug ("No tracker backend available or it is not new enough");
-+ g_debug ("Only available using '%s'", MODULE_FILENAME);
-+ return FALSE;
-+ }
++ if ((m = g_module_open (MODULE_FILENAME_0_10, flags)) == NULL)
++ {
++ g_debug ("No tracker backend available or it is not new enough");
++ return FALSE;
++ }
++ }
+
+ inited = TRUE;
-+
+
+- for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++)
+- tracker_dl_mapping[i].fn_ptr_ref = NULL;
+ /* Check for the symbols we need */
+ for (i = 0; i < G_N_ELEMENTS (funcs); i++)
+ {
@@ -244,12 +248,10 @@
+ funcs[i].name);
+ g_module_close (m);
-- for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++)
-- tracker_dl_mapping[i].fn_ptr_ref = NULL;
+- return TRACKER_UNAVAILABLE;
+ for (i = 0; i < G_N_ELEMENTS (funcs); i++)
+ funcs[i].pointer = NULL;
-
-- return TRACKER_UNAVAILABLE;
++
+ return FALSE;
+ }
}
@@ -285,7 +287,7 @@
static void
finalize (GObject *object)
-@@ -184,183 +161,227 @@
+@@ -184,58 +164,115 @@
tracker = GTK_SEARCH_ENGINE_TRACKER (object);
@@ -316,37 +318,87 @@
G_OBJECT_CLASS (_gtk_search_engine_tracker_parent_class)->finalize (object);
}
--
++static void
++cursor_next (GtkSearchEngineTracker *tracker,
++ TrackerSparqlCursor *cursor)
++{
++ tracker_sparql_cursor_next_async (cursor,
++ tracker->priv->cancellable,
++ cursor_callback,
++ tracker);
++}
+
-/* stolen from tracker sources, tracker.c */
static void
-sparql_append_string_literal (GString *sparql,
- const gchar *str)
-+cursor_next (GtkSearchEngineTracker *tracker,
-+ TrackerSparqlCursor *cursor)
++cursor_callback (GObject *object,
++ GAsyncResult *result,
++ gpointer user_data)
{
- gchar *s;
--
++ GtkSearchEngineTracker *tracker;
++ GError *error = NULL;
++ TrackerSparqlCursor *cursor;
++ GList *hits;
++ gboolean success;
++
++ gdk_threads_enter ();
+
- s = tracker_sparql_escape (str);
--
++ tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
+
- g_string_append_c (sparql, '"');
- g_string_append (sparql, s);
- g_string_append_c (sparql, '"');
--
++ cursor = TRACKER_SPARQL_CURSOR (object);
++ success = tracker_sparql_cursor_next_finish (cursor, result, &error);
+
- g_free (s);
-+ tracker_sparql_cursor_next_async (cursor,
-+ tracker->priv->cancellable,
-+ cursor_callback,
-+ tracker);
- }
-
--
+-}
++ if (error)
++ {
++ _gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message);
++
++ g_error_free (error);
++
++ if (cursor)
++ g_object_unref (cursor);
++
++ gdk_threads_leave ();
++ return;
++ }
++
++ if (!success)
++ {
++ _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker));
++
++ if (cursor)
++ g_object_unref (cursor);
++
++ gdk_threads_leave ();
++ return;
++ }
++
++ /* We iterate result by result, not n at a time. */
++ hits = g_list_append (NULL, (gchar*) tracker_sparql_cursor_get_string (cursor, 0, NULL));
++ _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (tracker), hits);
++ g_list_free (hits);
++
++ /* Get next */
++ cursor_next (tracker, cursor);
+
++ gdk_threads_leave ();
++
++}
+
static void
-search_callback (gpointer results,
- GError *error,
- gpointer user_data)
-+cursor_callback (GObject *object,
-+ GAsyncResult *result,
-+ gpointer user_data)
++query_callback (GObject *object,
++ GAsyncResult *result,
++ gpointer user_data)
{
GtkSearchEngineTracker *tracker;
- gchar **results_p;
@@ -354,73 +406,17 @@
- GPtrArray *OUT_result;
- gchar *uri;
- gint i;
-+ GError *error = NULL;
-+ TrackerSparqlCursor *cursor;
-+ GList *hits;
-+ gboolean success;
-
- gdk_threads_enter ();
-
- tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
-- hit_uris = NULL;
-
-- tracker->priv->query_pending = FALSE;
-+ cursor = TRACKER_SPARQL_CURSOR (object);
-+ success = tracker_sparql_cursor_next_finish (cursor, result, &error);
-
- if (error)
- {
- _gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message);
-+
- g_error_free (error);
-+
-+ if (cursor)
-+ g_object_unref (cursor);
-+
- gdk_threads_leave ();
- return;
- }
-
-- if (!results)
-+ if (!success)
-+ {
-+ _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker));
-+
-+ if (cursor)
-+ g_object_unref (cursor);
-+
-+ gdk_threads_leave ();
-+ return;
-+ }
-+
-+ /* We iterate result by result, not n at a time. */
-+ hits = g_list_append (NULL, (gchar*) tracker_sparql_cursor_get_string (cursor, 0, NULL));
-+ _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (tracker), hits);
-+ g_list_free (hits);
-+
-+ /* Get next */
-+ cursor_next (tracker, cursor);
-+
-+ gdk_threads_leave ();
-+
-+}
-+
-+static void
-+query_callback (GObject *object,
-+ GAsyncResult *result,
-+ gpointer user_data)
-+{
-+ GtkSearchEngineTracker *tracker;
+ TrackerSparqlConnection *connection;
+ TrackerSparqlCursor *cursor;
+ GError *error = NULL;
-+
-+ gdk_threads_enter ();
-+
-+ tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
-+
-+ tracker->priv->query_pending = FALSE;
-+
+
+ gdk_threads_enter ();
+
+ tracker = GTK_SEARCH_ENGINE_TRACKER (user_data);
+- hit_uris = NULL;
+
+ tracker->priv->query_pending = FALSE;
+
+ connection = TRACKER_SPARQL_CONNECTION (object);
+ cursor = tracker_sparql_connection_query_finish (connection,
+ result,
@@ -428,24 +424,32 @@
+
+ g_debug ("Query returned cursor:%p", cursor);
+
-+ if (error)
+ if (error)
{
-+ _gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message);
-+ g_error_free (error);
- gdk_threads_leave ();
+ _gtk_search_engine_error (GTK_SEARCH_ENGINE (tracker), error->message);
+@@ -244,123 +281,110 @@
return;
}
-- if (tracker->priv->version == TRACKER_0_8 ||
-- tracker->priv->version == TRACKER_0_9)
-- {
-- OUT_result = (GPtrArray*) results;
+- if (!results)
+- {
+- gdk_threads_leave ();
+- return;
+- }
+ if (!cursor)
+ {
+ _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker));
+ gdk_threads_leave ();
+ return;
+ }
+
+- if (tracker->priv->version == TRACKER_0_8 ||
+- tracker->priv->version == TRACKER_0_9)
+- {
+- OUT_result = (GPtrArray*) results;
++ cursor_next (tracker, cursor);
++ gdk_threads_leave ();
++}
- for (i = 0; i < OUT_result->len; i++)
- {
@@ -453,9 +457,11 @@
- if (uri)
- hit_uris = g_list_prepend (hit_uris, uri);
- }
-+ cursor_next (tracker, cursor);
-+ gdk_threads_leave ();
-+}
++static void
++sparql_append_string_literal (GString *sparql,
++ const gchar *str)
++{
++ gchar *s;
- g_ptr_array_foreach (OUT_result, (GFunc) g_free, NULL);
- g_ptr_array_free (OUT_result, TRUE);
@@ -468,41 +474,35 @@
- uri = g_filename_to_uri (*results_p, NULL, NULL);
- else
- uri = g_strdup (*results_p);
--
++ s = tracker_sparql_escape_string (str);
+
- if (uri)
- hit_uris = g_list_prepend (hit_uris, uri);
- }
- g_strfreev ((gchar **) results);
- }
-+static void
-+sparql_append_string_literal (GString *sparql,
-+ const gchar *str)
-+{
-+ gchar *s;
-
-- _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (tracker), hit_uris);
-- _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker));
-+ s = tracker_sparql_escape_string (str);
-
-- g_list_foreach (hit_uris, (GFunc) g_free, NULL);
-- g_list_free (hit_uris);
+ g_string_append_c (sparql, '"');
+ g_string_append (sparql, s);
+ g_string_append_c (sparql, '"');
-- gdk_threads_leave ();
+- _gtk_search_engine_hits_added (GTK_SEARCH_ENGINE (tracker), hit_uris);
+- _gtk_search_engine_finished (GTK_SEARCH_ENGINE (tracker));
+ g_free (s);
- }
-
++}
+
+- g_list_foreach (hit_uris, (GFunc) g_free, NULL);
+- g_list_free (hit_uris);
+static void
+sparql_append_string_literal_lower_case (GString *sparql,
+ const gchar *str)
+{
+ gchar *s;
-+
+
+- gdk_threads_leave ();
+-}
+ s = g_utf8_strdown (str, -1);
+ sparql_append_string_literal (sparql, s);
-+
+
+ g_free (s);
+}
@@ -558,7 +558,15 @@
- g_string_append (sparql, "))");
- }
- g_string_append (sparql, " } ORDER BY DESC(fts:rank(?urn)) ASC(nie:url(?urn))");
--
++#ifdef FTS_MATCHING
++ /* Using FTS: */
++ sparql = g_string_new ("SELECT nie:url(?urn) "
++ "WHERE {"
++ " ?urn a nfo:FileDataObject ;"
++ " tracker:available true ; "
++ " fts:match ");
++ sparql_append_string_literal (sparql, search_text);
+
- tracker_resources_sparql_query_async (tracker->priv->client,
- sparql->str,
- (TrackerReplyGPtrArray) search_callback,
@@ -583,15 +591,6 @@
- tracker);
- }
- }
-+#ifdef FTS_MATCHING
-+ /* Using FTS: */
-+ sparql = g_string_new ("SELECT nie:url(?urn) "
-+ "WHERE {"
-+ " ?urn a nfo:FileDataObject ;"
-+ " tracker:available true ; "
-+ " fts:match ");
-+ sparql_append_string_literal (sparql, search_text);
-+
+ if (location_uri)
+ {
+ g_string_append (sparql, " . FILTER (fn:starts-with(nie:url(?urn),");
@@ -627,7 +626,7 @@
}
static void
-@@ -370,9 +391,11 @@
+@@ -370,9 +394,11 @@
tracker = GTK_SEARCH_ENGINE_TRACKER (engine);
@@ -640,7 +639,7 @@
tracker->priv->query_pending = FALSE;
}
}
-@@ -385,7 +408,7 @@
+@@ -385,7 +411,7 @@
static void
gtk_search_engine_tracker_set_query (GtkSearchEngine *engine,
@@ -649,7 +648,7 @@
{
GtkSearchEngineTracker *tracker;
-@@ -421,7 +444,9 @@
+@@ -421,7 +447,9 @@
static void
_gtk_search_engine_tracker_init (GtkSearchEngineTracker *engine)
{
@@ -660,7 +659,7 @@
}
-@@ -429,49 +454,35 @@
+@@ -429,49 +457,35 @@
_gtk_search_engine_tracker_new (void)
{
GtkSearchEngineTracker *engine;
Modified: desktop/unstable/gtk+2.0/debian/patches/series
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B2.0/debian/patches/series?rev=30005&op=diff
==============================================================================
--- desktop/unstable/gtk+2.0/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gtk+2.0/debian/patches/series [utf-8] Wed Oct 5 17:00:11 2011
@@ -12,5 +12,5 @@
060_ignore-random-icons.patch
061_use_pdf_as_default_printing_standard.patch
064_gir_build_workaround.patch
-065_tracker-0-10.patch
+065_tracker.patch
098_multiarch_module_path.patch
More information about the pkg-gnome-commits
mailing list