r23689 - in /desktop/unstable/gtk+2.0/debian: changelog patches/006_support-for-tracker-0.8-stable-releases.patch patches/series
biebl at users.alioth.debian.org
biebl at users.alioth.debian.org
Sat Apr 10 12:58:59 UTC 2010
Author: biebl
Date: Sat Apr 10 12:58:58 2010
New Revision: 23689
URL: http://svn.debian.org/wsvn/pkg-gnome/?sc=1&rev=23689
Log:
* debian/patches/006_support-for-tracker-0.8-stable-releases.patch
- Add support for tracker 0.8 stable and future 0.9 releases. Also add
support for loading the search engines on demand until they are actually
needed. Patch is backported from upstream Git branch "tracker-0.8".
Added:
desktop/unstable/gtk+2.0/debian/patches/006_support-for-tracker-0.8-stable-releases.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=23689&op=diff
==============================================================================
--- desktop/unstable/gtk+2.0/debian/changelog [utf-8] (original)
+++ desktop/unstable/gtk+2.0/debian/changelog [utf-8] Sat Apr 10 12:58:58 2010
@@ -3,6 +3,10 @@
* deban/control.in
- Add Vcs-* fields.
- Add Homepage field.
+ * debian/patches/006_support-for-tracker-0.8-stable-releases.patch
+ - Add support for tracker 0.8 stable and future 0.9 releases. Also add
+ support for loading the search engines on demand until they are actually
+ needed. Patch is backported from upstream Git branch "tracker-0.8".
-- Michael Biebl <biebl at debian.org> Sat, 10 Apr 2010 14:43:05 +0200
Added: desktop/unstable/gtk+2.0/debian/patches/006_support-for-tracker-0.8-stable-releases.patch
URL: http://svn.debian.org/wsvn/pkg-gnome/desktop/unstable/gtk%2B2.0/debian/patches/006_support-for-tracker-0.8-stable-releases.patch?rev=23689&op=file
==============================================================================
--- desktop/unstable/gtk+2.0/debian/patches/006_support-for-tracker-0.8-stable-releases.patch (added)
+++ desktop/unstable/gtk+2.0/debian/patches/006_support-for-tracker-0.8-stable-releases.patch [utf-8] Sat Apr 10 12:58:58 2010
@@ -1,0 +1,241 @@
+From 0b62e4169fec5306990417b3a558a8d428c8fd1e Mon Sep 17 00:00:00 2001
+From: Tomas Bzatek <tbzatek at redhat.com>
+Date: Wed, 7 Apr 2010 15:02:18 +0200
+Subject: [PATCH] Support for tracker 0.8 stable release
+
+FileChooser: Initialize search engines on demand
+
+We postpone initialization of the search engines until
+it's really needed. See bug 614971 for reference.
+
+tracker-search-engine: Fixed 0.7/0.8 issues and add 0.9 cases
+
+tracker-search-engine: Improve search query to order by rank and title
+---
+ gtk/gtkfilechooserdefault.c | 14 +------
+ gtk/gtksearchenginetracker.c | 87 ++++++++++++++++++++++--------------------
+ 2 files changed, 47 insertions(+), 54 deletions(-)
+
+Index: b/gtk/gtkfilechooserdefault.c
+===================================================================
+--- a/gtk/gtkfilechooserdefault.c 2010-04-10 14:52:04.585945156 +0200
++++ b/gtk/gtkfilechooserdefault.c 2010-04-10 14:52:08.413942503 +0200
+@@ -228,15 +228,6 @@
+ GTK_TREE_MODEL_ROW,
+ };
+
+-static gboolean
+-search_is_possible (GtkFileChooserDefault *impl)
+-{
+- if (impl->search_engine == NULL)
+- impl->search_engine = _gtk_search_engine_new ();
+-
+- return impl->search_engine != NULL;
+-}
+-
+ /* Interesting places in the shortcuts bar */
+ typedef enum {
+ SHORTCUTS_SEARCH,
+@@ -2266,10 +2257,7 @@
+ G_TYPE_BOOLEAN, /* pixbuf cell visibility */
+ G_TYPE_POINTER); /* GCancellable */
+
+- if (search_is_possible (impl))
+- {
+- shortcuts_append_search (impl);
+- }
++ shortcuts_append_search (impl);
+
+ if (impl->recent_manager)
+ {
+Index: b/gtk/gtksearchenginetracker.c
+===================================================================
+--- a/gtk/gtksearchenginetracker.c 2010-04-10 14:52:04.605942397 +0200
++++ b/gtk/gtksearchenginetracker.c 2010-04-10 14:52:08.421944080 +0200
+@@ -30,13 +30,15 @@
+
+ typedef enum
+ {
++ TRACKER_UNAVAILABLE = 0,
+ TRACKER_0_6 = 1 << 0,
+ TRACKER_0_7 = 1 << 1,
+- TRACKER_0_8 = 1 << 2
++ TRACKER_0_8 = 1 << 2,
++ TRACKER_0_9 = 1 << 3
+ } TrackerVersion;
+
+
+-/* tracker 0.6 API */
++/* Tracker 0.6 API */
+ typedef void (*TrackerArrayReply) (char **result, GError *error, gpointer user_data);
+
+ static TrackerClient * (*tracker_connect) (gboolean enable_warnings, gint timeout) = NULL;
+@@ -53,7 +55,7 @@
+ const char *location,
+ TrackerArrayReply callback,
+ gpointer user_data) = NULL;
+-/* tracker 0.8 API */
++/* Tracker 0.7->0.9 API */
+ typedef enum {
+ TRACKER_CLIENT_ENABLE_WARNINGS = 1 << 0
+ } TrackerClientFlags;
+@@ -82,12 +84,12 @@
+ MAP (tracker_connect, TRACKER_0_6 | TRACKER_0_7),
+ MAP (tracker_disconnect, TRACKER_0_6 | TRACKER_0_7),
+ MAP (tracker_get_version, TRACKER_0_6),
+- MAP (tracker_cancel_last_call, TRACKER_0_6 | TRACKER_0_7 | TRACKER_0_8),
++ MAP (tracker_cancel_last_call, TRACKER_0_6 | TRACKER_0_7 | TRACKER_0_8 | TRACKER_0_9),
+ MAP (tracker_search_metadata_by_text_async, TRACKER_0_6 | TRACKER_0_7),
+ MAP (tracker_search_metadata_by_text_and_location_async, TRACKER_0_6 | TRACKER_0_7),
+- MAP (tracker_client_new, TRACKER_0_8),
+- MAP (tracker_sparql_escape, TRACKER_0_8),
+- MAP (tracker_resources_sparql_query_async, TRACKER_0_8)
++ MAP (tracker_client_new, TRACKER_0_8 | TRACKER_0_9),
++ MAP (tracker_sparql_escape, TRACKER_0_8 | TRACKER_0_9),
++ MAP (tracker_resources_sparql_query_async, TRACKER_0_8 | TRACKER_0_9)
+ #undef MAP
+ };
+
+@@ -95,47 +97,46 @@
+ open_libtracker (void)
+ {
+ static gboolean done = FALSE;
+- static TrackerVersion version = 0;
++ static TrackerVersion version = TRACKER_UNAVAILABLE;
+ gpointer x;
+
+ if (!done)
+ {
+- int i;
++ gint i;
+ GModule *tracker;
+ GModuleFlags flags;
+
+ done = TRUE;
+ flags = G_MODULE_BIND_LAZY | G_MODULE_BIND_LOCAL;
+
+- tracker = g_module_open ("libtracker-client-0.7.so.0", flags);
+- version = TRACKER_0_7;
+-
+- if (tracker && g_module_symbol (tracker, "tracker_resources_sparql_query_async", &x))
+- {
+- version = TRACKER_0_8;
+- }
+-
+- if (!tracker)
+- {
+- tracker = g_module_open ("libtrackerclient.so.0", flags);
+- version = TRACKER_0_6;
+- }
+-
+- if (!tracker)
+- {
+- tracker = g_module_open ("libtracker.so.0", flags);
+- version = TRACKER_0_6;
+- }
++ /* So this is the order:
++ *
++ * - 0.9 (latest unstable)
++ * - 0.8 (stable)
++ * - 0.7 (unstable, 0.6 sucks so badly)
++ * - 0.6 (stable)
++ */
++ if ((tracker = g_module_open ("libtracker-client-0.9.so.0", flags)) != NULL)
++ version = TRACKER_0_9;
++ else if ((tracker = g_module_open ("libtracker-client-0.8.so.0", flags)) != NULL)
++ version = TRACKER_0_8;
++ else if ((tracker = g_module_open ("libtracker-client-0.7.so.0", flags)) != NULL)
++ version = TRACKER_0_7;
++ else if ((tracker = g_module_open ("libtrackerclient.so.0", flags)) != NULL)
++ version = TRACKER_0_6;
++ else
++ {
++ g_debug ("No tracker backend available");
++ return TRACKER_UNAVAILABLE;
++ }
+
+- if (!tracker)
+- return 0;
+-
+ for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++)
+ {
+ if ((tracker_dl_mapping[i].versions & version) == 0)
+ continue;
+
+- if (!g_module_symbol (tracker, tracker_dl_mapping[i].fn_name,
++ if (!g_module_symbol (tracker,
++ tracker_dl_mapping[i].fn_name,
+ tracker_dl_mapping[i].fn_ptr_ref))
+ {
+ g_warning ("Missing symbol '%s' in libtracker\n",
+@@ -145,7 +146,7 @@
+ for (i = 0; i < G_N_ELEMENTS (tracker_dl_mapping); i++)
+ tracker_dl_mapping[i].fn_ptr_ref = NULL;
+
+- return 0;
++ return TRACKER_UNAVAILABLE;
+ }
+ }
+ }
+@@ -177,7 +178,8 @@
+ tracker->priv->query = NULL;
+ }
+
+- if (tracker->priv->version == TRACKER_0_8)
++ if (tracker->priv->version == TRACKER_0_8 ||
++ tracker->priv->version == TRACKER_0_9)
+ g_object_unref (tracker->priv->client);
+ else
+ tracker_disconnect (tracker->priv->client);
+@@ -191,7 +193,7 @@
+ sparql_append_string_literal (GString *sparql,
+ const gchar *str)
+ {
+- char *s;
++ gchar *s;
+
+ s = tracker_sparql_escape (str);
+
+@@ -230,7 +232,8 @@
+ if (!results)
+ return;
+
+- if (tracker->priv->version == TRACKER_0_8)
++ if (tracker->priv->version == TRACKER_0_8 ||
++ tracker->priv->version == TRACKER_0_9)
+ {
+ OUT_result = (GPtrArray*) results;
+
+@@ -297,17 +300,18 @@
+ location = location_uri;
+ }
+
+- if (tracker->priv->version == TRACKER_0_8)
++ if (tracker->priv->version == TRACKER_0_8 ||
++ tracker->priv->version == TRACKER_0_9)
+ {
+- sparql = g_string_new ("SELECT ?url WHERE { ?file a nfo:FileDataObject; nie:url ?url; fts:match ");
++ sparql = g_string_new ("SELECT nie:url(?urn) WHERE { ?urn a nfo:FileDataObject; fts:match ");
+ sparql_append_string_literal (sparql, search_text);
+ if (location)
+ {
+- g_string_append (sparql, " . FILTER (fn:starts-with(?url,");
++ g_string_append (sparql, " . FILTER (fn:starts-with(nie:url(?urn),");
+ sparql_append_string_literal (sparql, location);
+ g_string_append (sparql, "))");
+ }
+- g_string_append (sparql, " }");
++ g_string_append (sparql, " } ORDER BY DESC(fts:rank(?urn)) ASC(nie:url(?urn))");
+
+ tracker_resources_sparql_query_async (tracker->priv->client,
+ sparql->str,
+@@ -411,7 +415,8 @@
+
+ version = open_libtracker ();
+
+- if (version == TRACKER_0_8)
++ if (version == TRACKER_0_8 ||
++ version == TRACKER_0_9)
+ {
+ tracker_client = tracker_client_new (TRACKER_CLIENT_ENABLE_WARNINGS, G_MAXINT);
+ }
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=23689&op=diff
==============================================================================
--- desktop/unstable/gtk+2.0/debian/patches/series [utf-8] (original)
+++ desktop/unstable/gtk+2.0/debian/patches/series [utf-8] Sat Apr 10 12:58:58 2010
@@ -3,6 +3,7 @@
003_gdk.pc_privates.patch
004_gtk+-ximian-gtk2-filesel-navbutton-5.patch
005_support_disabling_x11_extensions.patch
+006_support-for-tracker-0.8-stable-releases.patch
009_gtk-export-filechooser.patch
010_gdkpixbuf_-lm.patch
015_default-fallback-icon-theme.patch
More information about the pkg-gnome-commits
mailing list