aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/tracker
diff options
context:
space:
mode:
authorDavid-John Willis <John.Willis@Distant-earth.com>2009-11-03 21:05:49 +0000
committerKoen Kooi <koen@openembedded.org>2009-11-07 19:17:52 +0100
commit252dc53aa97d3f284078b7d89a9f6b7792ce7466 (patch)
tree8967e45055ae0725c834eb3d44e92d6af123904c /recipes/tracker
parent6e04e09b03bd934cbbe62079732318d1713164a5 (diff)
downloadopenembedded-252dc53aa97d3f284078b7d89a9f6b7792ce7466.tar.gz
tracker: Add 0.6.95 release and series of patches to support cross compile. (WIP)
Diffstat (limited to 'recipes/tracker')
-rw-r--r--recipes/tracker/tracker-0.6.95/05-tracker-ioprio-cross.patch64
-rw-r--r--recipes/tracker/tracker-0.6.95/10-drop-bogus-version-info.patch73
-rw-r--r--recipes/tracker/tracker-0.6.95/20-tracker-defaults.patch30
-rw-r--r--recipes/tracker/tracker-0.6.95/30-gmime-2.4.patch435
-rw-r--r--recipes/tracker/tracker-0.6.95/99-autoreconf.patch436
-rw-r--r--recipes/tracker/tracker-0.6.95/munge-configure.ac-cross-compile.patch39
-rw-r--r--recipes/tracker/tracker_0.6.95.bb37
7 files changed, 1114 insertions, 0 deletions
diff --git a/recipes/tracker/tracker-0.6.95/05-tracker-ioprio-cross.patch b/recipes/tracker/tracker-0.6.95/05-tracker-ioprio-cross.patch
new file mode 100644
index 0000000000..c04c12536c
--- /dev/null
+++ b/recipes/tracker/tracker-0.6.95/05-tracker-ioprio-cross.patch
@@ -0,0 +1,64 @@
+From ae32c3902a1afe2f900ec5e42a1070c8c7fce83b Mon Sep 17 00:00:00 2001
+From: John Carr <john.carr@unrouted.co.uk>
+Date: Tue, 3 Nov 2009 01:18:26 +0000
+Subject: [PATCH 1/2] Add AC_CACHE_CHECK magic around ioprio checking.
+
+Having the cache check allows the end user to set whether ioprio
+is available or not. Without this cross-compilation is not
+possible as there is no way to run the test program.
+---
+ configure.ac | 24 +++++++++++-------------
+ 1 files changed, 11 insertions(+), 13 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 441b4b8..fca54b9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1164,17 +1164,15 @@ AM_CONDITIONAL(HAVE_LIBVORBIS, test "x$have_libvorbis" = "xyes")
+ # Check ioprio support
+ ####################################################################
+
+-AC_MSG_CHECKING([[ioprio support]])
+-have_ioprio=no
+-
+-AC_RUN_IFELSE(
+-[AC_LANG_PROGRAM([[
++AC_CACHE_CHECK([if we have ioprio],[tracker_cv_have_ioprio],
++ [AC_RUN_IFELSE(
++ [AC_LANG_PROGRAM([[
+ #include <stdlib.h>
+ #include <errno.h>
+ #include <sys/syscall.h>
+ #include <unistd.h>
+-]],
+-[[
++ ]],
++ [[
+ inline int ioprio_get (int which, int who)
+ {
+ return syscall (__NR_ioprio_get, which, who);
+@@ -1184,16 +1182,16 @@ AC_RUN_IFELSE(
+ {
+ return ioprio_get (1, 0);
+ }
+-]]
+-)],
+-[have_ioprio=yes],[])
++ ]])],
++ [tracker_cv_have_ioprio=yes],
++ [tracker_cv_have_ioprio=no],
++ [AC_MSG_ERROR([cross-compiling: please set 'tracker_cv_have_ioprio'])])
++ ])
+
+-if test "$have_ioprio" = "yes" ; then
++if test "x$tracker_cv_have_ioprio" = "xyes" ; then
+ AC_DEFINE(HAVE_IOPRIO, 1, [Define if we have ioprio])
+ fi
+
+-AC_MSG_RESULT([$have_ioprio])
+-
+ ##################################################################
+ # Check for exempi
+ ##################################################################
+--
+1.6.3.3
diff --git a/recipes/tracker/tracker-0.6.95/10-drop-bogus-version-info.patch b/recipes/tracker/tracker-0.6.95/10-drop-bogus-version-info.patch
new file mode 100644
index 0000000000..c7ddd9f7fa
--- /dev/null
+++ b/recipes/tracker/tracker-0.6.95/10-drop-bogus-version-info.patch
@@ -0,0 +1,73 @@
+Index: tracker-0.6.95/src/libstemmer/Makefile.am
+===================================================================
+--- tracker-0.6.95.orig/src/libstemmer/Makefile.am 2009-09-30 20:33:48.964218706 +0200
++++ tracker-0.6.95/src/libstemmer/Makefile.am 2009-09-30 20:34:29.120883357 +0200
+@@ -51,5 +51,5 @@
+
+ libstemmer_la_LIBADD = $(GCOV_LIBS)
+ libstemmer_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+Index: tracker-0.6.95/src/libtracker-common/Makefile.am
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-common/Makefile.am 2009-09-30 20:33:49.094218792 +0200
++++ tracker-0.6.95/src/libtracker-common/Makefile.am 2009-09-30 20:34:29.120883357 +0200
+@@ -77,7 +77,7 @@
+ tracker-utils.h
+
+ libtracker_common_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtracker_common_la_LIBADD = \
+ $(top_builddir)/src/libstemmer/libstemmer.la \
+Index: tracker-0.6.95/src/libtracker-data/Makefile.am
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-data/Makefile.am 2009-09-30 20:33:49.020885421 +0200
++++ tracker-0.6.95/src/libtracker-data/Makefile.am 2009-09-30 20:34:29.120883357 +0200
+@@ -41,7 +41,7 @@
+ tracker-turtle.h
+
+ libtracker_data_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtracker_data_la_LIBADD = \
+ $(top_builddir)/src/libtracker-common/libtracker-common.la \
+Index: tracker-0.6.95/src/libtracker-db/Makefile.am
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-db/Makefile.am 2009-09-30 20:33:49.140887873 +0200
++++ tracker-0.6.95/src/libtracker-db/Makefile.am 2009-09-30 20:34:29.120883357 +0200
+@@ -38,7 +38,7 @@
+ tracker-db-manager.h
+
+ libtracker_db_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtracker_db_la_LIBADD = \
+ $(top_builddir)/src/libtracker-common/libtracker-common.la \
+Index: tracker-0.6.95/src/libtracker-gtk/Makefile.am
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-gtk/Makefile.am 2009-09-30 20:33:49.074220431 +0200
++++ tracker-0.6.95/src/libtracker-gtk/Makefile.am 2009-09-30 20:34:29.120883357 +0200
+@@ -31,4 +31,4 @@
+ $(GCOV_LIBS)
+
+ libtracker_gtk_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+Index: tracker-0.6.95/src/libtracker/Makefile.am
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker/Makefile.am 2009-09-30 20:33:49.164217943 +0200
++++ tracker-0.6.95/src/libtracker/Makefile.am 2009-09-30 20:34:29.120883357 +0200
+@@ -14,7 +14,7 @@
+ libtrackerclient_la_SOURCES = tracker.c
+
+ libtrackerclient_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtrackerclient_la_LIBADD = \
+ $(GLIB2_LIBS) \
diff --git a/recipes/tracker/tracker-0.6.95/20-tracker-defaults.patch b/recipes/tracker/tracker-0.6.95/20-tracker-defaults.patch
new file mode 100644
index 0000000000..3ea607332c
--- /dev/null
+++ b/recipes/tracker/tracker-0.6.95/20-tracker-defaults.patch
@@ -0,0 +1,30 @@
+Index: tracker-0.6.95/src/libtracker-common/tracker-config.c
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-common/tracker-config.c 2009-09-30 20:33:41.664220179 +0200
++++ tracker-0.6.95/src/libtracker-common/tracker-config.c 2009-09-30 20:34:33.990883559 +0200
+@@ -77,7 +77,7 @@
+ #define DEFAULT_LOW_MEMORY_MODE FALSE
+ #define DEFAULT_NFS_LOCKING FALSE
+ #define DEFAULT_ENABLE_WATCHES TRUE
+-#define DEFAULT_THROTTLE 0 /* 0->20 */
++#define DEFAULT_THROTTLE 10 /* 0->20 */
+ #define DEFAULT_ENABLE_INDEXING TRUE
+ #define DEFAULT_ENABLE_CONTENT_INDEXING TRUE
+ #define DEFAULT_ENABLE_THUMBNAILS TRUE
+@@ -757,6 +757,7 @@
+ gchar *language;
+ const gchar *watch_directory_roots[2] = { NULL, NULL };
+ const gchar *empty_string_list[] = { NULL };
++ const gchar * const disabled_modules[2] = { "evolution", NULL };
+
+ /* Get default values */
+ language = tracker_language_get_default_code ();
+@@ -867,7 +868,7 @@
+
+ if (overwrite || !g_key_file_has_key (key_file, GROUP_INDEXING, KEY_DISABLED_MODULES, NULL)) {
+ g_key_file_set_string_list (key_file, GROUP_INDEXING, KEY_DISABLED_MODULES,
+- empty_string_list, 0);
++ disabled_modules, 2);
+ g_key_file_set_comment (key_file, GROUP_INDEXING, KEY_DISABLED_MODULES,
+ " List of disabled modules (separator=;)\n"
+ " The modules that are indexed are kept in $prefix/lib/tracker/indexer-modules",
diff --git a/recipes/tracker/tracker-0.6.95/30-gmime-2.4.patch b/recipes/tracker/tracker-0.6.95/30-gmime-2.4.patch
new file mode 100644
index 0000000000..9068e9636a
--- /dev/null
+++ b/recipes/tracker/tracker-0.6.95/30-gmime-2.4.patch
@@ -0,0 +1,435 @@
+# Patch pulled from http://cvs.fedoraproject.org/viewvc/rpms/tracker/devel/
+# based on the patch in https://bugzilla.gnome.org/show_bug.cgi?id=564640
+Index: tracker/configure.ac
+===================================================================
+--- tracker.orig/configure.ac 2009-06-09 23:42:44.000000000 +0200
++++ tracker/configure.ac 2009-09-30 22:53:51.000000000 +0200
+@@ -132,7 +132,7 @@
+ GTK_REQUIRED=2.16.0
+ GLADE_REQUIRED=2.5
+ QDBM_REQUIRED=1.8
+-GMIME_REQUIRED=2.1.0
++GMIME_REQUIRED=2.4.0
+ LIBXML2_REQUIRED=0.6
+ LIBNOTIFY_REQUIRED=0.4.3
+ HAL_REQUIRED=0.5
+@@ -182,7 +182,7 @@
+ AC_SUBST(PANGO_LIBS)
+
+ # Check for GMime
+-PKG_CHECK_MODULES(GMIME, [gmime-2.0 >= $GMIME_REQUIRED])
++PKG_CHECK_MODULES(GMIME, [gmime-2.4 >= $GMIME_REQUIRED])
+ AC_SUBST(GMIME_CFLAGS)
+ AC_SUBST(GMIME_LIBS)
+
+Index: tracker/src/tracker-indexer/modules/evolution-common.c
+===================================================================
+--- tracker.orig/src/tracker-indexer/modules/evolution-common.c 2009-05-22 23:31:58.000000000 +0200
++++ tracker/src/tracker-indexer/modules/evolution-common.c 2009-09-30 22:53:51.000000000 +0200
+@@ -89,41 +89,3 @@
+ return metadata;
+ }
+
+-gchar *
+-evolution_common_get_object_encoding (GMimeObject *object)
+-{
+- const gchar *start_encoding, *end_encoding;
+- const gchar *content_type = NULL;
+-
+- if (GMIME_IS_MESSAGE (object)) {
+- content_type = g_mime_message_get_header (GMIME_MESSAGE (object), "Content-Type");
+- } else if (GMIME_IS_PART (object)) {
+- content_type = g_mime_part_get_content_header (GMIME_PART (object), "Content-Type");
+- }
+-
+- if (!content_type) {
+- return NULL;
+- }
+-
+- start_encoding = strstr (content_type, "charset=");
+-
+- if (!start_encoding) {
+- return NULL;
+- }
+-
+- start_encoding += strlen ("charset=");
+-
+- if (start_encoding[0] == '"') {
+- /* encoding is quoted */
+- start_encoding++;
+- end_encoding = strstr (start_encoding, "\"");
+- } else {
+- end_encoding = strstr (start_encoding, ";");
+- }
+-
+- if (end_encoding) {
+- return g_strndup (start_encoding, end_encoding - start_encoding);
+- } else {
+- return g_strdup (start_encoding);
+- }
+-}
+Index: tracker/src/tracker-indexer/modules/evolution-common.h
+===================================================================
+--- tracker.orig/src/tracker-indexer/modules/evolution-common.h 2009-05-22 23:31:58.000000000 +0200
++++ tracker/src/tracker-indexer/modules/evolution-common.h 2009-09-30 22:53:51.000000000 +0200
+@@ -55,7 +55,6 @@
+ gint flags,
+ off_t start);
+ TrackerModuleMetadata * evolution_common_get_wrapper_metadata (GMimeDataWrapper *wrapper);
+-gchar * evolution_common_get_object_encoding (GMimeObject *object);
+
+ G_END_DECLS
+
+Index: tracker/src/tracker-indexer/modules/evolution-imap.c
+===================================================================
+--- tracker.orig/src/tracker-indexer/modules/evolution-imap.c 2009-06-09 23:42:49.000000000 +0200
++++ tracker/src/tracker-indexer/modules/evolution-imap.c 2009-09-30 22:53:51.000000000 +0200
+@@ -557,7 +557,7 @@
+ static gboolean
+ get_attachment_info (const gchar *mime_file,
+ gchar **name,
+- GMimePartEncodingType *encoding)
++ GMimeContentEncoding *encoding)
+ {
+ GMimeContentType *mime;
+ gchar *tmp, *mime_content;
+@@ -568,7 +568,7 @@
+ }
+
+ if (encoding) {
+- *encoding = GMIME_PART_ENCODING_DEFAULT;
++ *encoding = GMIME_CONTENT_ENCODING_DEFAULT;
+ }
+
+ if (!g_file_get_contents (mime_file, &tmp, NULL, NULL)) {
+@@ -615,7 +615,7 @@
+ *name = g_strdup (g_mime_content_type_get_parameter (mime, "name"));
+ }
+
+- g_mime_content_type_destroy (mime);
++ g_object_unref (mime);
+ }
+
+ if (name && !*name) {
+@@ -637,17 +637,17 @@
+ gchar *encoding_str = g_strndup (pos_encoding, pos_end_encoding - pos_encoding);
+
+ if (strcmp (encoding_str, "7bit") == 0) {
+- *encoding = GMIME_PART_ENCODING_7BIT;
++ *encoding = GMIME_CONTENT_ENCODING_7BIT;
+ } else if (strcmp (encoding_str, "8bit") == 0) {
+- *encoding = GMIME_PART_ENCODING_7BIT;
++ *encoding = GMIME_CONTENT_ENCODING_8BIT;
+ } else if (strcmp (encoding_str, "binary") == 0) {
+- *encoding = GMIME_PART_ENCODING_BINARY;
++ *encoding = GMIME_CONTENT_ENCODING_BINARY;
+ } else if (strcmp (encoding_str, "base64") == 0) {
+- *encoding = GMIME_PART_ENCODING_BASE64;
++ *encoding = GMIME_CONTENT_ENCODING_BASE64;
+ } else if (strcmp (encoding_str, "quoted-printable") == 0) {
+- *encoding = GMIME_PART_ENCODING_QUOTEDPRINTABLE;
++ *encoding = GMIME_CONTENT_ENCODING_QUOTEDPRINTABLE;
+ } else if (strcmp (encoding_str, "x-uuencode") == 0) {
+- *encoding = GMIME_PART_ENCODING_UUENCODE;
++ *encoding = GMIME_CONTENT_ENCODING_UUENCODE;
+ }
+
+ g_free (encoding_str);
+@@ -734,14 +734,17 @@
+ }
+
+ static void
+-extract_message_text (GMimeObject *object,
++extract_message_text (GMimeObject *parent,
++ GMimeObject *object,
+ gpointer user_data)
+ {
+ GString *body = (GString *) user_data;
+- GMimePartEncodingType part_encoding;
++ GMimeContentEncoding part_encoding;
+ GMimePart *part;
+- const gchar *content, *disposition, *filename;
+- gchar *encoding, *part_body;
++ GMimeStream *stream;
++ GMimeDataWrapper *data;
++ const gchar *disposition, *filename, *encoding;
++ gchar *part_body, buffer[1024];
+ gsize len;
+
+ if (GMIME_IS_MESSAGE_PART (object)) {
+@@ -750,7 +753,7 @@
+ message = g_mime_message_part_get_message (GMIME_MESSAGE_PART (object));
+
+ if (message) {
+- g_mime_message_foreach_part (message, extract_message_text, user_data);
++ g_mime_message_foreach (message, extract_message_text, user_data);
+ g_object_unref (message);
+ }
+
+@@ -762,12 +765,12 @@
+
+ part = GMIME_PART (object);
+ filename = g_mime_part_get_filename (part);
+- disposition = g_mime_part_get_content_disposition (part);
+- part_encoding = g_mime_part_get_encoding (part);
++ disposition = g_mime_object_get_disposition (GMIME_OBJECT (part));
++ part_encoding = g_mime_part_get_content_encoding (part);
+
+- if (part_encoding == GMIME_PART_ENCODING_BINARY ||
+- part_encoding == GMIME_PART_ENCODING_BASE64 ||
+- part_encoding == GMIME_PART_ENCODING_UUENCODE) {
++ if (part_encoding == GMIME_CONTENT_ENCODING_BINARY ||
++ part_encoding == GMIME_CONTENT_ENCODING_BASE64 ||
++ part_encoding == GMIME_CONTENT_ENCODING_UUENCODE) {
+ return;
+ }
+
+@@ -782,31 +785,34 @@
+ return;
+ }
+
+- content = g_mime_part_get_content (GMIME_PART (object), &len);
++ data = g_mime_part_get_content_object (GMIME_PART (object));
+
+- if (!content) {
+- return;
+- }
++ if (!data)
++ return;
+
+- if (g_utf8_validate (content, len, NULL)) {
+- g_string_append_len (body, content, (gssize) len);
+- return;
+- }
++ stream = g_mime_data_wrapper_get_stream (data);
+
+- encoding = evolution_common_get_object_encoding (object);
++ if (!stream) {
++ g_object_unref (data);
++ return;
++ }
+
+- if (!encoding) {
+- /* FIXME: This will break for non-utf8 text without
+- * the proper content type set
+- */
+- g_string_append_len (body, content, (gssize) len);
+- } else {
+- part_body = g_convert (content, (gssize) len, "utf8", encoding, NULL, NULL, NULL);
+- g_string_append (body, part_body);
++ encoding = g_mime_object_get_content_disposition_parameter (GMIME_OBJECT (part), "charset");
+
+- g_free (part_body);
+- g_free (encoding);
+- }
++ while (!g_mime_stream_eos (stream)) {
++ len = g_mime_stream_read (stream, buffer, 1024);
++ if (len > 0 && g_utf8_validate (buffer, len, NULL)) {
++ if (!encoding)
++ g_string_append_len (body, buffer, (gssize) len);
++ else {
++ part_body = g_convert (buffer, (gssize) len, "utf8", encoding, NULL, NULL, NULL);
++ g_string_append (body, part_body);
++ g_free (part_body);
++ }
++ }
++ }
++
++ g_object_unref (stream);
+ }
+
+ static gchar *
+@@ -846,7 +852,7 @@
+
+ if (message) {
+ body = g_string_new (NULL);
+- g_mime_message_foreach_part (message, extract_message_text, body);
++ g_mime_message_foreach (message, extract_message_text, body);
+ g_object_unref (message);
+ }
+
+@@ -1030,7 +1036,7 @@
+ TrackerModuleMetadata *metadata;
+ GMimeStream *stream;
+ GMimeDataWrapper *wrapper;
+- GMimePartEncodingType encoding;
++ GMimeContentEncoding encoding;
+ gchar *path, *name;
+
+ if (!get_attachment_info (mime_file, &name, &encoding)) {
+Index: tracker/src/tracker-indexer/modules/evolution-pop.c
+===================================================================
+--- tracker.orig/src/tracker-indexer/modules/evolution-pop.c 2009-05-22 23:31:58.000000000 +0200
++++ tracker/src/tracker-indexer/modules/evolution-pop.c 2009-09-30 22:53:51.000000000 +0200
+@@ -175,7 +175,7 @@
+ gchar *number;
+ gint id;
+
+- header = g_mime_message_get_header (message, "X-Evolution");
++ header = g_mime_object_get_header (GMIME_OBJECT (message), "X-Evolution");
+
+ if (!header) {
+ return -1;
+@@ -253,8 +253,12 @@
+ tracker_evolution_pop_file_get_text (TrackerModuleFile *file)
+ {
+ TrackerEvolutionPopFile *self;
+- gchar *text, *encoding, *utf8_text;
+- gboolean is_html;
++ const gchar *encoding;
++ gchar buffer[1024];
++ guint len;
++ GString *body;
++ GMimeStream *stream;
++ GMimeDataWrapper *data;
+
+ self = TRACKER_EVOLUTION_POP_FILE (file);
+
+@@ -263,27 +267,38 @@
+ return NULL;
+ }
+
+- text = g_mime_message_get_body (self->message, TRUE, &is_html);
++ data = g_mime_part_get_content_object (GMIME_PART (self->message));
+
+- if (!text) {
+- return NULL;
+- }
++ if (!data)
++ return NULL;
+
+- encoding = evolution_common_get_object_encoding (GMIME_OBJECT (self->message));
++ stream = g_mime_data_wrapper_get_stream (data);
+
+- if (!encoding) {
+- /* FIXME: could still puke on non-utf8
+- * messages without proper content type
+- */
+- return text;
+- }
++ if (!stream) {
++ g_object_unref (data);
++ return NULL;
++ }
+
+- utf8_text = g_convert (text, -1, "utf8", encoding, NULL, NULL, NULL);
++ body = g_string_new ("");
+
+- g_free (encoding);
+- g_free (text);
++ encoding = g_mime_object_get_content_disposition_parameter (GMIME_OBJECT (self->message), "charset");
+
+- return utf8_text;
++ while (!g_mime_stream_eos (stream)) {
++ len = g_mime_stream_read (stream, buffer, 1024);
++ if (len > 0 && g_utf8_validate (buffer, len, NULL)) {
++ if (!encoding)
++ g_string_append_len (body, buffer, (gssize) len);
++ else {
++ gchar *part_body = g_convert (buffer, (gssize) len, "utf8", encoding, NULL, NULL, NULL);
++ g_string_append (body, part_body);
++ g_free (part_body);
++ }
++ }
++ }
++
++ g_object_unref (stream);
++
++ return g_string_free (body, FALSE);
+ }
+
+ static guint
+@@ -291,7 +306,7 @@
+ {
+ const gchar *header, *pos;
+
+- header = g_mime_message_get_header (message, "X-Evolution");
++ header = g_mime_object_get_header (GMIME_OBJECT (message), "X-Evolution");
+
+ if (!header) {
+ return 0;
+@@ -304,34 +319,24 @@
+
+ static GList *
+ get_message_recipients (GMimeMessage *message,
+- const gchar *type)
++ GMimeRecipientType type)
+ {
+ GList *list = NULL;
+- const InternetAddressList *addresses;
++ InternetAddressList *addresses;
++ guint len, i;
+
+ addresses = g_mime_message_get_recipients (message, type);
+
+- while (addresses) {
++ len = internet_address_list_length (addresses);
++
++ while (i < len) {
+ InternetAddress *address;
+- gchar *str;
+
+- address = addresses->address;
++ address = internet_address_list_get_address (addresses, i);
+
+- if (address->name && address->value.addr) {
+- str = g_strdup_printf ("%s %s", address->name, address->value.addr);
+- } else if (address->value.addr) {
+- str = g_strdup (address->value.addr);
+- } else if (address->name) {
+- str = g_strdup (address->name);
+- } else {
+- str = NULL;
+- }
+-
+- if (str) {
+- list = g_list_prepend (list, str);
+- }
++ list = g_list_prepend (list, internet_address_to_string (address, TRUE));
+
+- addresses = addresses->next;
++ i++;
+ }
+
+ return g_list_reverse (list);
+@@ -427,7 +432,8 @@
+ }
+
+ static void
+-extract_mime_parts (GMimeObject *object,
++extract_mime_parts (GMimeObject *parent,
++ GMimeObject *object,
+ gpointer user_data)
+ {
+ GList **list = (GList **) user_data;
+@@ -440,7 +446,7 @@
+ message = g_mime_message_part_get_message (GMIME_MESSAGE_PART (object));
+
+ if (message) {
+- g_mime_message_foreach_part (message, extract_mime_parts, user_data);
++ g_mime_message_foreach (message, extract_mime_parts, user_data);
+ g_object_unref (message);
+ }
+
+@@ -451,7 +457,7 @@
+ }
+
+ part = GMIME_PART (object);
+- disposition = g_mime_part_get_content_disposition (part);
++ disposition = g_mime_object_get_disposition (GMIME_OBJECT (part));
+
+ if (!disposition ||
+ (strcmp (disposition, GMIME_DISPOSITION_ATTACHMENT) != 0 &&
+@@ -484,9 +490,9 @@
+ if (self->message) {
+ /* Iterate through mime parts, if any */
+ if (!self->mime_parts) {
+- g_mime_message_foreach_part (self->message,
+- extract_mime_parts,
+- &self->mime_parts);
++ g_mime_message_foreach (self->message,
++ extract_mime_parts,
++ &self->mime_parts);
+ self->current_mime_part = self->mime_parts;
+ } else {
+ self->current_mime_part = self->current_mime_part->next;
diff --git a/recipes/tracker/tracker-0.6.95/99-autoreconf.patch b/recipes/tracker/tracker-0.6.95/99-autoreconf.patch
new file mode 100644
index 0000000000..2ba82c4bc1
--- /dev/null
+++ b/recipes/tracker/tracker-0.6.95/99-autoreconf.patch
@@ -0,0 +1,436 @@
+Index: tracker-0.6.95/aclocal.m4
+===================================================================
+--- tracker-0.6.95.orig/aclocal.m4 2009-09-30 22:47:58.914892386 +0200
++++ tracker-0.6.95/aclocal.m4 2009-09-30 22:47:19.811568705 +0200
+@@ -493,7 +493,7 @@
+ AC_REQUIRE([AM_MAINTAINER_MODE])
+
+ if test $USE_MAINTAINER_MODE = yes; then
+- DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED -DGNOME_VFS_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DLIBGLADE_DISABLE_DEPRECATED"
++ DISABLE_DEPRECATED="-DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGCONF_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED -DBONOBO_UI_DISABLE_DEPRECATED -DGNOME_VFS_DISABLE_DEPRECATED -DGNOME_DISABLE_DEPRECATED -DLIBGLADE_DISABLE_DEPRECATED -DWNCK_DISABLE_DEPRECATED -DLIBSOUP_DISABLE_DEPRECATED"
+ else
+ DISABLE_DEPRECATED=""
+ fi
+@@ -4991,6 +4991,9 @@
+ openbsd*)
+ with_gnu_ld=no
+ ;;
++ linux* | k*bsd*-gnu)
++ _LT_TAGVAR(link_all_deplibs, $1)=no
++ ;;
+ esac
+
+ _LT_TAGVAR(ld_shlibs, $1)=yes
+@@ -9177,61 +9180,59 @@
+ # gives unlimited permission to copy and/or distribute it,
+ # with or without modifications, as long as this notice is preserved.
+
+-#serial 5
++#serial 4
+
+ # _AM_OUTPUT_DEPENDENCY_COMMANDS
+ # ------------------------------
+ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
+-[{
+- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+- # are listed without --file. Let's play safe and only enable the eval
+- # if we detect the quoting.
+- case $CONFIG_FILES in
+- *\'*) eval set x "$CONFIG_FILES" ;;
+- *) set x $CONFIG_FILES ;;
+- esac
+- shift
+- for mf
+- do
+- # Strip MF so we end up with the name of the file.
+- mf=`echo "$mf" | sed -e 's/:.*$//'`
+- # Check whether this is an Automake generated Makefile or not.
+- # We used to match only the files named `Makefile.in', but
+- # some people rename them; so instead we look at the file content.
+- # Grep'ing the first line is not enough: some people post-process
+- # each Makefile.in and add a new line on top of each file to say so.
+- # Grep'ing the whole file is not good either: AIX grep has a line
+- # limit of 2048, but all sed's we know have understand at least 4000.
+- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+- dirpart=`AS_DIRNAME("$mf")`
+- else
+- continue
+- fi
+- # Extract the definition of DEPDIR, am__include, and am__quote
+- # from the Makefile without running `make'.
+- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+- test -z "$DEPDIR" && continue
+- am__include=`sed -n 's/^am__include = //p' < "$mf"`
+- test -z "am__include" && continue
+- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+- # When using ansi2knr, U may be empty or an underscore; expand it
+- U=`sed -n 's/^U = //p' < "$mf"`
+- # Find all dependency output files, they are included files with
+- # $(DEPDIR) in their names. We invoke sed twice because it is the
+- # simplest approach to changing $(DEPDIR) to its actual value in the
+- # expansion.
+- for file in `sed -n "
+- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+- # Make sure the directory exists.
+- test -f "$dirpart/$file" && continue
+- fdir=`AS_DIRNAME(["$file"])`
+- AS_MKDIR_P([$dirpart/$fdir])
+- # echo "creating $dirpart/$file"
+- echo '# dummy' > "$dirpart/$file"
+- done
++[# Autoconf 2.62 quotes --file arguments for eval, but not when files
++# are listed without --file. Let's play safe and only enable the eval
++# if we detect the quoting.
++case $CONFIG_FILES in
++*\'*) eval set x "$CONFIG_FILES" ;;
++*) set x $CONFIG_FILES ;;
++esac
++shift
++for mf
++do
++ # Strip MF so we end up with the name of the file.
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named `Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++ dirpart=`AS_DIRNAME("$mf")`
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running `make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # When using ansi2knr, U may be empty or an underscore; expand it
++ U=`sed -n 's/^U = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`AS_DIRNAME(["$file"])`
++ AS_MKDIR_P([$dirpart/$fdir])
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
+ done
+-}
++done
+ ])# _AM_OUTPUT_DEPENDENCY_COMMANDS
+
+
+Index: tracker-0.6.95/configure
+===================================================================
+--- tracker-0.6.95.orig/configure 2009-09-30 22:47:59.028227224 +0200
++++ tracker-0.6.95/configure 2009-09-30 22:47:28.338222381 +0200
+@@ -9623,6 +9623,9 @@
+ openbsd*)
+ with_gnu_ld=no
+ ;;
++ linux* | k*bsd*-gnu)
++ link_all_deplibs=no
++ ;;
+ esac
+
+ ld_shlibs=yes
+@@ -12317,7 +12320,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12320 "configure"
++#line 12323 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -12413,7 +12416,7 @@
+ lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
+ lt_status=$lt_dlunknown
+ cat > conftest.$ac_ext <<_LT_EOF
+-#line 12416 "configure"
++#line 12419 "configure"
+ #include "confdefs.h"
+
+ #if HAVE_DLFCN_H
+@@ -13461,7 +13464,7 @@
+ GTK_REQUIRED=2.16.0
+ GLADE_REQUIRED=2.5
+ QDBM_REQUIRED=1.8
+-GMIME_REQUIRED=2.1.0
++GMIME_REQUIRED=2.4.0
+ LIBXML2_REQUIRED=0.6
+ LIBNOTIFY_REQUIRED=0.4.3
+ HAL_REQUIRED=0.5
+@@ -14309,12 +14312,12 @@
+ pkg_cv_GMIME_CFLAGS="$GMIME_CFLAGS"
+ else
+ if test -n "$PKG_CONFIG" && \
+- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmime-2.0 >= \$GMIME_REQUIRED\"") >&5
+- ($PKG_CONFIG --exists --print-errors "gmime-2.0 >= $GMIME_REQUIRED") 2>&5
++ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmime-2.4 >= \$GMIME_REQUIRED\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gmime-2.4 >= $GMIME_REQUIRED") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_GMIME_CFLAGS=`$PKG_CONFIG --cflags "gmime-2.0 >= $GMIME_REQUIRED" 2>/dev/null`
++ pkg_cv_GMIME_CFLAGS=`$PKG_CONFIG --cflags "gmime-2.4 >= $GMIME_REQUIRED" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -14327,12 +14330,12 @@
+ pkg_cv_GMIME_LIBS="$GMIME_LIBS"
+ else
+ if test -n "$PKG_CONFIG" && \
+- { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmime-2.0 >= \$GMIME_REQUIRED\"") >&5
+- ($PKG_CONFIG --exists --print-errors "gmime-2.0 >= $GMIME_REQUIRED") 2>&5
++ { ($as_echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"gmime-2.4 >= \$GMIME_REQUIRED\"") >&5
++ ($PKG_CONFIG --exists --print-errors "gmime-2.4 >= $GMIME_REQUIRED") 2>&5
+ ac_status=$?
+ $as_echo "$as_me:$LINENO: \$? = $ac_status" >&5
+ (exit $ac_status); }; then
+- pkg_cv_GMIME_LIBS=`$PKG_CONFIG --libs "gmime-2.0 >= $GMIME_REQUIRED" 2>/dev/null`
++ pkg_cv_GMIME_LIBS=`$PKG_CONFIG --libs "gmime-2.4 >= $GMIME_REQUIRED" 2>/dev/null`
+ else
+ pkg_failed=yes
+ fi
+@@ -14351,14 +14354,14 @@
+ _pkg_short_errors_supported=no
+ fi
+ if test $_pkg_short_errors_supported = yes; then
+- GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gmime-2.0 >= $GMIME_REQUIRED"`
++ GMIME_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "gmime-2.4 >= $GMIME_REQUIRED"`
+ else
+- GMIME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmime-2.0 >= $GMIME_REQUIRED"`
++ GMIME_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "gmime-2.4 >= $GMIME_REQUIRED"`
+ fi
+ # Put the nasty error message in config.log where it belongs
+ echo "$GMIME_PKG_ERRORS" >&5
+
+- { { $as_echo "$as_me:$LINENO: error: Package requirements (gmime-2.0 >= $GMIME_REQUIRED) were not met:
++ { { $as_echo "$as_me:$LINENO: error: Package requirements (gmime-2.4 >= $GMIME_REQUIRED) were not met:
+
+ $GMIME_PKG_ERRORS
+
+@@ -14369,7 +14372,7 @@
+ and GMIME_LIBS to avoid the need to call pkg-config.
+ See the pkg-config man page for more details.
+ " >&5
+-$as_echo "$as_me: error: Package requirements (gmime-2.0 >= $GMIME_REQUIRED) were not met:
++$as_echo "$as_me: error: Package requirements (gmime-2.4 >= $GMIME_REQUIRED) were not met:
+
+ $GMIME_PKG_ERRORS
+
+@@ -23604,28 +23607,27 @@
+
+
+ case $ac_file$ac_mode in
+- "depfiles":C) test x"$AMDEP_TRUE" != x"" || {
+- # Autoconf 2.62 quotes --file arguments for eval, but not when files
+- # are listed without --file. Let's play safe and only enable the eval
+- # if we detect the quoting.
+- case $CONFIG_FILES in
+- *\'*) eval set x "$CONFIG_FILES" ;;
+- *) set x $CONFIG_FILES ;;
+- esac
+- shift
+- for mf
+- do
+- # Strip MF so we end up with the name of the file.
+- mf=`echo "$mf" | sed -e 's/:.*$//'`
+- # Check whether this is an Automake generated Makefile or not.
+- # We used to match only the files named `Makefile.in', but
+- # some people rename them; so instead we look at the file content.
+- # Grep'ing the first line is not enough: some people post-process
+- # each Makefile.in and add a new line on top of each file to say so.
+- # Grep'ing the whole file is not good either: AIX grep has a line
+- # limit of 2048, but all sed's we know have understand at least 4000.
+- if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
+- dirpart=`$as_dirname -- "$mf" ||
++ "depfiles":C) test x"$AMDEP_TRUE" != x"" || # Autoconf 2.62 quotes --file arguments for eval, but not when files
++# are listed without --file. Let's play safe and only enable the eval
++# if we detect the quoting.
++case $CONFIG_FILES in
++*\'*) eval set x "$CONFIG_FILES" ;;
++*) set x $CONFIG_FILES ;;
++esac
++shift
++for mf
++do
++ # Strip MF so we end up with the name of the file.
++ mf=`echo "$mf" | sed -e 's/:.*$//'`
++ # Check whether this is an Automake generated Makefile or not.
++ # We used to match only the files named `Makefile.in', but
++ # some people rename them; so instead we look at the file content.
++ # Grep'ing the first line is not enough: some people post-process
++ # each Makefile.in and add a new line on top of each file to say so.
++ # Grep'ing the whole file is not good either: AIX grep has a line
++ # limit of 2048, but all sed's we know have understand at least 4000.
++ if sed -n 's,^#.*generated by automake.*,X,p' "$mf" | grep X >/dev/null 2>&1; then
++ dirpart=`$as_dirname -- "$mf" ||
+ $as_expr X"$mf" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$mf" : 'X\(//\)[^/]' \| \
+ X"$mf" : 'X\(//\)$' \| \
+@@ -23648,28 +23650,28 @@
+ q
+ }
+ s/.*/./; q'`
+- else
+- continue
+- fi
+- # Extract the definition of DEPDIR, am__include, and am__quote
+- # from the Makefile without running `make'.
+- DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
+- test -z "$DEPDIR" && continue
+- am__include=`sed -n 's/^am__include = //p' < "$mf"`
+- test -z "am__include" && continue
+- am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
+- # When using ansi2knr, U may be empty or an underscore; expand it
+- U=`sed -n 's/^U = //p' < "$mf"`
+- # Find all dependency output files, they are included files with
+- # $(DEPDIR) in their names. We invoke sed twice because it is the
+- # simplest approach to changing $(DEPDIR) to its actual value in the
+- # expansion.
+- for file in `sed -n "
+- s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
+- sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
+- # Make sure the directory exists.
+- test -f "$dirpart/$file" && continue
+- fdir=`$as_dirname -- "$file" ||
++ else
++ continue
++ fi
++ # Extract the definition of DEPDIR, am__include, and am__quote
++ # from the Makefile without running `make'.
++ DEPDIR=`sed -n 's/^DEPDIR = //p' < "$mf"`
++ test -z "$DEPDIR" && continue
++ am__include=`sed -n 's/^am__include = //p' < "$mf"`
++ test -z "am__include" && continue
++ am__quote=`sed -n 's/^am__quote = //p' < "$mf"`
++ # When using ansi2knr, U may be empty or an underscore; expand it
++ U=`sed -n 's/^U = //p' < "$mf"`
++ # Find all dependency output files, they are included files with
++ # $(DEPDIR) in their names. We invoke sed twice because it is the
++ # simplest approach to changing $(DEPDIR) to its actual value in the
++ # expansion.
++ for file in `sed -n "
++ s/^$am__include $am__quote\(.*(DEPDIR).*\)$am__quote"'$/\1/p' <"$mf" | \
++ sed -e 's/\$(DEPDIR)/'"$DEPDIR"'/g' -e 's/\$U/'"$U"'/g'`; do
++ # Make sure the directory exists.
++ test -f "$dirpart/$file" && continue
++ fdir=`$as_dirname -- "$file" ||
+ $as_expr X"$file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$file" : 'X\(//\)[^/]' \| \
+ X"$file" : 'X\(//\)$' \| \
+@@ -23692,7 +23694,7 @@
+ q
+ }
+ s/.*/./; q'`
+- { as_dir=$dirpart/$fdir
++ { as_dir=$dirpart/$fdir
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+@@ -23733,11 +23735,10 @@
+ } || test -d "$as_dir" || { { $as_echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+ $as_echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+- # echo "creating $dirpart/$file"
+- echo '# dummy' > "$dirpart/$file"
+- done
++ # echo "creating $dirpart/$file"
++ echo '# dummy' > "$dirpart/$file"
+ done
+-}
++done
+ ;;
+ "libtool":C)
+
+Index: tracker-0.6.95/src/libstemmer/Makefile.in
+===================================================================
+--- tracker-0.6.95.orig/src/libstemmer/Makefile.in 2009-09-30 22:47:59.631558022 +0200
++++ tracker-0.6.95/src/libstemmer/Makefile.in 2009-09-30 22:47:32.971556115 +0200
+@@ -381,7 +381,7 @@
+
+ libstemmer_la_LIBADD = $(GCOV_LIBS)
+ libstemmer_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ all: all-am
+
+Index: tracker-0.6.95/src/libtracker-common/Makefile.in
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-common/Makefile.in 2009-09-30 22:47:59.958224240 +0200
++++ tracker-0.6.95/src/libtracker-common/Makefile.in 2009-09-30 22:47:33.128222987 +0200
+@@ -426,7 +426,7 @@
+ tracker-utils.h
+
+ libtracker_common_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtracker_common_la_LIBADD = \
+ $(top_builddir)/src/libstemmer/libstemmer.la \
+Index: tracker-0.6.95/src/libtracker-data/Makefile.in
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-data/Makefile.in 2009-09-30 22:47:59.781558711 +0200
++++ tracker-0.6.95/src/libtracker-data/Makefile.in 2009-09-30 22:47:33.264889286 +0200
+@@ -374,7 +374,7 @@
+ tracker-turtle.h
+
+ libtracker_data_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtracker_data_la_LIBADD = \
+ $(top_builddir)/src/libtracker-common/libtracker-common.la \
+Index: tracker-0.6.95/src/libtracker-db/Makefile.in
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-db/Makefile.in 2009-09-30 22:48:00.081555587 +0200
++++ tracker-0.6.95/src/libtracker-db/Makefile.in 2009-09-30 22:47:33.401557540 +0200
+@@ -370,7 +370,7 @@
+ tracker-db-manager.h
+
+ libtracker_db_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtracker_db_la_LIBADD = \
+ $(top_builddir)/src/libtracker-common/libtracker-common.la \
+Index: tracker-0.6.95/src/libtracker-gtk/Makefile.in
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker-gtk/Makefile.in 2009-09-30 22:47:59.858224069 +0200
++++ tracker-0.6.95/src/libtracker-gtk/Makefile.in 2009-09-30 22:47:33.538222150 +0200
+@@ -360,7 +360,7 @@
+ $(GCOV_LIBS)
+
+ libtracker_gtk_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ all: all-am
+
+Index: tracker-0.6.95/src/libtracker/Makefile.in
+===================================================================
+--- tracker-0.6.95.orig/src/libtracker/Makefile.in 2009-09-30 22:48:00.238226105 +0200
++++ tracker-0.6.95/src/libtracker/Makefile.in 2009-09-30 22:47:33.698222969 +0200
+@@ -340,7 +340,7 @@
+ lib_LTLIBRARIES = libtrackerclient.la
+ libtrackerclient_la_SOURCES = tracker.c
+ libtrackerclient_la_LDFLAGS = \
+- -version-info $(LT_CURRENT):$(LT_REVISION):$(LT_AGE)
++ -version-info 0:0:0
+
+ libtrackerclient_la_LIBADD = \
+ $(GLIB2_LIBS) \
diff --git a/recipes/tracker/tracker-0.6.95/munge-configure.ac-cross-compile.patch b/recipes/tracker/tracker-0.6.95/munge-configure.ac-cross-compile.patch
new file mode 100644
index 0000000000..c520550cc8
--- /dev/null
+++ b/recipes/tracker/tracker-0.6.95/munge-configure.ac-cross-compile.patch
@@ -0,0 +1,39 @@
+Index: tracker-0.6.95/configure.ac
+===================================================================
+--- tracker-0.6.95.orig/configure.ac 2009-11-03 19:36:02.854851277 +0000
++++ tracker-0.6.95/configure.ac 2009-11-03 19:38:23.757362563 +0000
+@@ -1332,34 +1332,6 @@
+ old_exec_message=""
+ old_data_message=""
+
+-AC_CHECK_FILE("${prefix}/bin/trackerd", old_exec_trackerd=yes,,)
+-AC_CHECK_FILE("${prefix}/bin/tracker-indexer", old_exec_tracker_indexer=yes,,)
+-AC_CHECK_FILE("${prefix}/bin/tracker-extract", old_exec_tracker_extract=yes,,)
+-AC_CHECK_FILE("${prefix}/bin/tracker-thumbnailer", old_exec_tracker_thumbnailer=yes,,)
+-AC_CHECK_FILE("${DBUS_SERVICES_DIR}/tracker.service", old_data_dbus_service=yes,)
+-AC_CHECK_FILE("${prefix}/share/tracker/tracker-introspect.xml", old_data_dbus_xml=yes,,)
+-AC_CHECK_FILE("${prefix}/share/tracker/sqlite-service-stored-procs.sql", old_data_stored_procs=yes,,)
+-
+-if test "x$old_exec_trackerd" == "xyes" -o \
+- "x$old_exec_tracker_indexer" == "xyes" -o \
+- "x$old_exec_tracker_extract" == "xyes" -o \
+- "x$old_exec_tracker_thumbnailer" == "xyes"; then
+- old_exec_message="
+- Old Tracker executable files were found in your path.
+- (trackerd, tracker-indexer, tracker-thumbnailer, tracker-extract)"
+- old_file_action="
+- ** These files will be removed as part of the installation **"
+-fi
+-
+-if test "x$old_data_dbus_service" == "xyes" -o \
+- "x$old_data_dbus_xml" == "xyes" -o \
+- "x$old_data_stored_procs" == "xyes"; then
+- old_data_message="
+- Old Tracker data files were found in the prefix you are installing to."
+- old_file_action="
+- ** These files will be removed as part of the installation **"
+-fi
+-
+ AM_CONDITIONAL(OLD_EXEC_REMOVE_ALL, test -n "$old_exec_message")
+ AM_CONDITIONAL(OLD_DATA_REMOVE_ALL, test -n "$old_data_message")
+
diff --git a/recipes/tracker/tracker_0.6.95.bb b/recipes/tracker/tracker_0.6.95.bb
new file mode 100644
index 0000000000..f97b5ea881
--- /dev/null
+++ b/recipes/tracker/tracker_0.6.95.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "Tracker is a tool designed to extract information and metadata about your personal data so that it can be searched easily and quickly."
+LICENSE = "GPLv2"
+DEPENDS = "file gtk+ gstreamer gamin libgmime dbus poppler libexif libgsf libgnomecanvas gettext"
+HOMEPAGE="http://www.tracker-project.org/"
+
+PR = "r1"
+
+inherit autotools pkgconfig gnome
+
+SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/tracker/0.6/tracker-${PV}.tar.bz2 \
+ file://munge-configure.ac-cross-compile.patch;patch=1 \
+ file://05-tracker-ioprio-cross.patch;patch=1 \
+ file://10-drop-bogus-version-info.patch;patch=1 \
+ file://20-tracker-defaults.patch;patch=1 \
+ file://30-gmime-2.4.patch;patch=1 \
+ file://99-autoreconf.patch;patch=1 \
+ file://90tracker \
+"
+
+EXTRA_OECONF += " tracker_cv_have_ioprio=yes"
+
+LEAD_SONAME = "libtrackerclient.so.0"
+
+do_install_append() {
+ cp -dPr ${D}${STAGING_DATADIR}/* ${D}${datadir}/ || true
+ install -d ${D}/${sysconfdir}/X11/Xsession.d/
+ install -m 0755 ${WORKDIR}/90tracker ${D}/${sysconfdir}/X11/Xsession.d/
+}
+
+do_stage() {
+ autotools_stage_all
+}
+
+FILES_${PN} += "${datadir}/dbus-1/"
+FILES_${PN}-dbg += "${libdir}/*/*/.debug"
+
+CONFFILES_${PN} += "${sysconfdir}/X11/Xsession.d/90tracker"