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