- Update patch to actually apply, way to do releases often

This commit is contained in:
Bastien Nocera 2008-12-15 21:43:09 +00:00
parent 0c58d0bb7b
commit 4152e90434
2 changed files with 243 additions and 196 deletions

View File

@ -1,18 +1,135 @@
Index: src/tracker-indexer/modules/evolution-pop.c diff -upr tracker-0.6.6.old/src/trackerd/tracker-email-evolution.c tracker-0.6.6/src/trackerd/tracker-email-evolution.c
=================================================================== --- tracker-0.6.6.old/src/trackerd/tracker-email-evolution.c 2008-02-28 23:49:53.000000000 +0000
--- src/tracker-indexer/modules/evolution-pop.c (revision 2704) +++ tracker-0.6.6/src/trackerd/tracker-email-evolution.c 2008-12-15 21:31:43.000000000 +0000
+++ src/tracker-indexer/modules/evolution-pop.c (working copy) @@ -1450,7 +1450,7 @@ load_uri_and_status_of_mbox_mail_message
@@ -171,7 +171,7 @@ g_return_if_fail (g_m_message);
gchar *number; g_return_if_fail (msg);
gint id;
- header = g_mime_message_get_header (message, "X-Evolution"); - field = g_mime_message_get_header (g_m_message, "X-Evolution");
+ header = g_mime_object_get_header (GMIME_OBJECT (message), "X-Evolution"); + field = g_mime_object_get_header (GMIME_OBJECT (g_m_message), "X-Evolution");
if (!header) { g_return_if_fail (field);
return -1;
@@ -245,10 +245,134 @@ @@ -2478,27 +2478,28 @@ break_multipart_loop:
return message_uri; static GSList *
add_persons_from_internet_address_list_string_parsing (GSList *list, const gchar *s)
{
- InternetAddressList *addrs_list, *tmp;
+ InternetAddressList *addrs_list;
+ int i, count;
g_return_val_if_fail (s, NULL);
- addrs_list = internet_address_parse_string (s);
+ addrs_list = internet_address_list_parse_string (s);
+ count = internet_address_list_length (addrs_list);
- for (tmp = addrs_list; tmp; tmp = tmp->next) {
+ for (i = 0; i < count; i++) {
MailPerson *mp;
+ InternetAddress *addr;
mp = email_allocate_mail_person ();
+ addr = internet_address_list_get_address (addrs_list, i);
- mp->addr = g_strdup (tmp->address->value.addr);
- if(tmp->address->name)
- mp->name = g_strdup (tmp->address->name);
- else
- mp->name = g_strdup (tmp->address->value.addr);
+ mp->name = g_strdup (internet_address_get_name (addr));
+ mp->addr = internet_address_to_string (addr, FALSE);
list = g_slist_prepend (list, mp);
}
- internet_address_list_destroy (addrs_list);
+ g_object_unref (addrs_list);
return list;
}
diff -upr tracker-0.6.6.old/src/trackerd/tracker-email-kmail.c tracker-0.6.6/src/trackerd/tracker-email-kmail.c
--- tracker-0.6.6.old/src/trackerd/tracker-email-kmail.c 2008-01-15 04:05:03.000000000 +0000
+++ tracker-0.6.6/src/trackerd/tracker-email-kmail.c 2008-12-15 21:11:22.000000000 +0000
@@ -787,7 +787,7 @@ load_uri_of_mbox_mail_message (GMimeMess
This line is at the beginning of each header but GMIME does not give access to it so we reproduce it.
*/
- field = g_mime_message_get_header (g_m_message, "From");
+ field = g_mime_object_get_header (g_m_message, "From");
tmp_from = g_strdup (field);
@@ -862,10 +862,10 @@ fill_uri_with_uid_for_imap (GMimeMessage
mail_msg->uri = NULL;
- /* Currently, "g_mime_message_get_header(g_m_message, "X-UID")" does not work because GMIME
+ /* Currently, "g_mime_object_get_header(g_m_message, "X-UID")" does not work because GMIME
only handles RFC822 headers... So we have to search X-UID header ourself. */
- headers = g_mime_message_get_headers (g_m_message);
+ headers = g_mime_object_get_headers (g_m_message);
g_return_if_fail (headers);
pos_uid = strstr (headers, "X-UID");
diff -upr tracker-0.6.6.old/src/trackerd/tracker-email-thunderbird.c tracker-0.6.6/src/trackerd/tracker-email-thunderbird.c
--- tracker-0.6.6.old/src/trackerd/tracker-email-thunderbird.c 2008-01-15 04:05:03.000000000 +0000
+++ tracker-0.6.6/src/trackerd/tracker-email-thunderbird.c 2008-12-15 21:34:18.000000000 +0000
@@ -418,26 +418,27 @@ free_parser_data (gpointer user_data)
static GSList *
add_persons_from_internet_address_list_string_parsing (GSList *list, const gchar *s)
{
- InternetAddressList *addrs_list, *tmp;
+ InternetAddressList *addrs_list;
+ int i, count;
g_return_val_if_fail (s, NULL);
- addrs_list = internet_address_parse_string (s);
+ addrs_list = internet_address_list_parse_string (s);
+ count = internet_address_list_length (addrs_list);
- for (tmp = addrs_list; tmp; tmp = tmp->next) {
+
+ for (i = 0; i < count; i++) {
MailPerson *mp = email_allocate_mail_person ();
+ InternetAddress *addr;
- mp->addr = g_strdup (tmp->address->value.addr);
- if(tmp->address->name) {
- mp->name = g_strdup (tmp->address->name);
- } else {
- mp->name = g_strdup (tmp->address->value.addr);
- }
+ addr = internet_address_list_get_address (addrs_list, i);
+ mp->name = g_strdup (internet_address_get_name (addr));
+ mp->addr = internet_address_to_string (addr, FALSE);
list = g_slist_prepend (list, mp);
}
- internet_address_list_destroy (addrs_list);
+ g_object_unref (addrs_list);
return list;
}
diff -upr tracker-0.6.6.old/src/trackerd/tracker-email-utils.c tracker-0.6.6/src/trackerd/tracker-email-utils.c
--- tracker-0.6.6.old/src/trackerd/tracker-email-utils.c 2008-02-29 00:32:16.000000000 +0000
+++ tracker-0.6.6/src/trackerd/tracker-email-utils.c 2008-12-15 21:28:50.000000000 +0000
@@ -46,8 +46,8 @@ extern Tracker *tracker;
static GMimeStream *new_gmime_stream_from_file (const gchar *path, gint flags, off_t start, off_t end);
static GSList * add_gmime_references (GSList *list, GMimeMessage *message, const gchar *header);
-static GSList * add_recipients (GSList *list, GMimeMessage *message, const gchar *type);
-static void find_attachment (GMimeObject *obj, gpointer data);
+static GSList * add_recipients (GSList *list, GMimeMessage *message, GMimeRecipientType type);
+static void find_attachment (GMimeObject *parent, GMimeObject *obj, gpointer data);
@@ -491,6 +491,124 @@ email_free_mail_message (MailMessage *ma
g_slice_free (MailMessage, mail_msg);
} }
+static GMimeObject * +static GMimeObject *
@ -20,7 +137,6 @@ Index: src/tracker-indexer/modules/evolution-pop.c
+{ +{
+ GMimeObject *mime_part, *text_part = NULL; + GMimeObject *mime_part, *text_part = NULL;
+ GMimeContentType *type; + GMimeContentType *type;
+ GList *subpart;
+ int count, i; + int count, i;
+ +
+ count = g_mime_multipart_get_count (multipart); + count = g_mime_multipart_get_count (multipart);
@ -92,9 +208,7 @@ Index: src/tracker-indexer/modules/evolution-pop.c
+ GMimeObject *mime_part = NULL; + GMimeObject *mime_part = NULL;
+ GMimeContentType *type; + GMimeContentType *type;
+ GMimeMultipart *multipart; + GMimeMultipart *multipart;
+ const char *content;
+ char *body = NULL; + char *body = NULL;
+ gint64 len = 0;
+ +
+ g_return_val_if_fail (GMIME_IS_MESSAGE (message), NULL); + g_return_val_if_fail (GMIME_IS_MESSAGE (message), NULL);
+ g_return_val_if_fail (is_html != NULL, NULL); + g_return_val_if_fail (is_html != NULL, NULL);
@ -130,219 +244,149 @@ Index: src/tracker-indexer/modules/evolution-pop.c
+ g_mime_stream_read (mime_stream, body, len); + g_mime_stream_read (mime_stream, body, len);
+ g_object_unref (mime_stream); + g_object_unref (mime_stream);
+ g_object_unref (data_wrapper); + g_object_unref (data_wrapper);
+
+// content = g_mime_part_get_content (GMIME_PART (mime_part), &len);
+// body = g_strndup (content, len);
+ } + }
+ +
+ return body; + return body;
+} +}
+ +
static gchar * +
tracker_evolution_pop_file_get_text (TrackerModuleFile *file)
{
TrackerEvolutionPopFile *self;
+ GMimeObject *part;
gchar *text, *encoding, *utf8_text;
gboolean is_html;
@@ -259,7 +383,7 @@ MailMessage *
return NULL; email_mail_file_parse_next (MailFile *mf, ReadMailHelperFct read_mail_helper, gpointer read_mail_user_data)
@@ -539,7 +657,7 @@ email_mail_file_parse_next (MailFile *mf
mail_msg->subject = g_strdup (g_mime_message_get_subject (g_m_message));
- mail_msg->body = g_mime_message_get_body (g_m_message, TRUE, &is_html);
+ mail_msg->body = tracker_mime_message_get_body (g_m_message, TRUE, &is_html);
mail_msg->content_type = g_strdup (is_html ? "text/html" : "text/plain");
if (read_mail_helper) {
@@ -549,7 +667,7 @@ email_mail_file_parse_next (MailFile *mf
mail_msg->attachments = NULL;
/* find then save attachments in sys tmp directory of Tracker and save entries in MailMessage struct */
- g_mime_message_foreach_part (g_m_message, find_attachment, mail_msg);
+ g_mime_message_foreach (g_m_message, find_attachment, mail_msg);
g_object_unref (g_m_message);
@@ -786,23 +904,23 @@ email_decode_mail_attachment_to_file (co
return FALSE;
} }
- text = g_mime_message_get_body (self->message, TRUE, &is_html); - filtered_stream = g_mime_stream_filter_new_with_stream (stream_src);
+ text = tracker_mime_message_get_body (self->message, TRUE, &is_html); + filtered_stream = g_mime_stream_filter_new (stream_src);
if (!text) { switch (encoding) {
return NULL; case MIME_ENCODING_BASE64:
@@ -287,7 +411,7 @@ - filter = g_mime_filter_basic_new_type (GMIME_FILTER_BASIC_BASE64_DEC);
+ filter = g_mime_filter_basic_new (GMIME_CONTENT_ENCODING_BASE64, FALSE);
g_mime_stream_filter_add (GMIME_STREAM_FILTER (filtered_stream), filter);
g_object_unref (filter);
break;
case MIME_ENCODING_QUOTEDPRINTABLE:
- filter = g_mime_filter_basic_new_type (GMIME_FILTER_BASIC_QP_DEC);
+ filter = g_mime_filter_basic_new (GMIME_CONTENT_ENCODING_QUOTEDPRINTABLE, FALSE);
g_mime_stream_filter_add (GMIME_STREAM_FILTER (filtered_stream), filter);
g_object_unref (filter);
break;
case MIME_ENCODING_UUENCODE:
- filter = g_mime_filter_basic_new_type (GMIME_FILTER_BASIC_UU_ENC);
+ filter = g_mime_filter_basic_new (GMIME_CONTENT_ENCODING_UUENCODE, TRUE);
g_mime_stream_filter_add (GMIME_STREAM_FILTER (filtered_stream), filter);
g_object_unref (filter);
break;
@@ -913,7 +1031,7 @@ new_gmime_stream_from_file (const gchar
static GSList *
add_gmime_references (GSList *list, GMimeMessage *message, const gchar *header)
{ {
const gchar *header, *pos; - const gchar *tmp = g_mime_message_get_header (message, header);
+ const gchar *tmp = g_mime_object_get_header (GMIME_OBJECT (message), header);
- header = g_mime_message_get_header (message, "X-Evolution"); if (tmp) {
+ header = g_mime_object_get_header (GMIME_OBJECT (message), "X-Evolution"); GMimeReferences *refs;
pos = strchr (header, '-'); @@ -937,15 +1055,21 @@ add_gmime_references (GSList *list, GMim
return (guint) strtoul (pos + 1, NULL, 16);
@@ -295,34 +419,25 @@
static GList * static GSList *
get_message_recipients (GMimeMessage *message, -add_recipients (GSList *list, GMimeMessage *message, const gchar *type)
- const gchar *type) +add_recipients (GSList *list, GMimeMessage *message, GMimeRecipientType type)
+ GMimeRecipientType type)
{ {
GList *list = NULL; - const InternetAddressList *addrs_list;
- const InternetAddressList *addresses; + InternetAddressList *addrs_list;
+ int i, count; + int i, count;
+ InternetAddressList *addresses;
addresses = g_mime_message_get_recipients (message, type); - for (addrs_list = g_mime_message_get_recipients (message, type); addrs_list; addrs_list = addrs_list->next) {
+ count = internet_address_list_length (addresses); + addrs_list = g_mime_message_get_recipients (message, type);
+ count = internet_address_list_length (addrs_list);
- while (addresses) {
+ for (i = 0; i < count; i++) { + for (i = 0; i < count; i++) {
InternetAddress *address; + InternetAddress *addr;
gchar *str; MailPerson *mp = email_allocate_mail_person ();
- address = addresses->address; - mp->name = g_strdup (addrs_list->address->name);
+ address = internet_address_list_get_address (addresses, i); - mp->addr = g_strdup (addrs_list->address->value.addr);
+ str = internet_address_to_string (address, FALSE); + addr = internet_address_list_get_address (addrs_list, i);
+
+ mp->name = g_strdup (internet_address_get_name (addr));
+ mp->addr = g_strdup (internet_address_to_string (addr, FALSE));
- if (address->name && address->value.addr) { list = g_slist_prepend (list, mp);
- 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);
}
-
- addresses = addresses->next;
} }
@@ -955,7 +1079,7 @@ add_recipients (GSList *list, GMimeMessa
return g_list_reverse (list);
@@ -410,7 +525,8 @@
}
static void static void
-extract_mime_parts (GMimeObject *object, -find_attachment (GMimeObject *obj, gpointer data)
+extract_mime_parts (GMimeObject *parent, +find_attachment (GMimeObject *parent, GMimeObject *obj, gpointer data)
+ GMimeObject *object,
gpointer user_data)
{ {
GList **list = (GList **) user_data; GMimePart *part;
@@ -433,8 +549,7 @@ MailMessage *mail_msg;
@@ -969,8 +1093,8 @@ find_attachment (GMimeObject *obj, gpoin
GMimeMessage *g_msg = g_mime_message_part_get_message (GMIME_MESSAGE_PART (obj));
if (g_msg) {
- g_mime_message_foreach_part (g_msg, find_attachment, data);
- g_object_unref (g_msg);
+ g_mime_message_foreach (g_msg, find_attachment, data);
+ g_object_unref (obj);
}
return; return;
}
- part = GMIME_PART (object); @@ -987,20 +1111,20 @@ find_attachment (GMimeObject *obj, gpoin
- disposition = g_mime_part_get_content_disposition (part);
+ disposition = g_mime_object_get_disposition (object);
if (!disposition || mail_msg = data;
(strcmp (disposition, GMIME_DISPOSITION_ATTACHMENT) != 0 &&
Index: src/tracker-indexer/modules/evolution-imap.c
===================================================================
--- src/tracker-indexer/modules/evolution-imap.c (revision 2704)
+++ src/tracker-indexer/modules/evolution-imap.c (working copy)
@@ -548,7 +548,7 @@
static gboolean
get_attachment_info (const gchar *mime_file,
gchar **name,
- GMimePartEncodingType *encoding)
+ GMimeContentEncoding *encoding)
{
GMimeContentType *mime;
gchar *tmp, *mime_content;
@@ -559,7 +559,7 @@
}
if (encoding) { - content_disposition = g_mime_part_get_content_disposition (part);
- *encoding = GMIME_PART_ENCODING_DEFAULT; + content_disposition = g_mime_object_get_disposition (obj);
+ *encoding = GMIME_CONTENT_ENCODING_DEFAULT;
}
if (!g_file_get_contents (mime_file, &tmp, NULL, NULL)) { /* test whether it is a mail attachment */
@@ -606,7 +606,7 @@ if (content_disposition &&
*name = g_strdup (g_mime_content_type_get_parameter (mime, "name")); (strcmp (content_disposition, GMIME_DISPOSITION_ATTACHMENT) == 0 ||
} strcmp (content_disposition, GMIME_DISPOSITION_INLINE) == 0)) {
- g_mime_content_type_destroy (mime); - const GMimeContentType *content_type;
+ g_object_unref (mime); + GMimeContentType *content_type;
} MailAttachment *ma;
const gchar *filename;
gchar *attachment_uri;
gint fd;
if (name && !*name) { - if (! (content_type = g_mime_part_get_content_type (part)))
@@ -628,17 +628,17 @@ + if (! (content_type = g_mime_object_get_content_type (obj)))
gchar *encoding_str = g_strndup (pos_encoding, pos_end_encoding - pos_encoding); return;
if (strcmp (encoding_str, "7bit") == 0) { filename = g_mime_part_get_filename (part);
- *encoding = GMIME_PART_ENCODING_7BIT; --- tracker-0.6.6.old/configure.ac 2008-03-03 04:13:34.000000000 +0000
+ *encoding = GMIME_CONTENT_ENCODING_7BIT; +++ tracker-0.6.6/configure.ac 2008-12-15 21:10:17.000000000 +0000
} else if (strcmp (encoding_str, "8bit") == 0) { @@ -65,7 +65,7 @@ AC_SUBST(PANGO_CFLAGS)
- *encoding = GMIME_PART_ENCODING_7BIT;
+ *encoding = GMIME_CONTENT_ENCODING_7BIT;
} 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);
@@ -729,7 +729,7 @@
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;
@@ -753,12 +753,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 (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;
}
@@ -1022,7 +1022,7 @@
TrackerModuleMetadata *metadata;
GMimeStream *stream;
GMimeDataWrapper *wrapper;
- GMimePartEncodingType encoding;
+ GMimeContentEncoding encoding;
gchar *path, *name;
if (!get_attachment_info (mime_file, &name, &encoding)) {
Index: src/tracker-indexer/modules/evolution-common.c
===================================================================
--- src/tracker-indexer/modules/evolution-common.c (revision 2704)
+++ src/tracker-indexer/modules/evolution-common.c (working copy)
@@ -94,9 +94,9 @@
const gchar *content_type = NULL;
if (GMIME_IS_MESSAGE (object)) {
- content_type = g_mime_message_get_header (GMIME_MESSAGE (object), "Content-Type");
+ content_type = g_mime_object_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");
+ content_type = g_mime_object_get_header (GMIME_PART (object), "Content-Type");
}
if (!content_type) {
Index: configure.ac
===================================================================
--- configure.ac (revision 2704)
+++ configure.ac (working copy)
@@ -149,7 +149,7 @@
AC_SUBST(PANGO_LIBS) AC_SUBST(PANGO_LIBS)
# Check for GMime # Check for GMime
-PKG_CHECK_MODULES(GMIME, [gmime-2.0 >= $GMIME_REQUIRED]) -PKG_CHECK_MODULES(GMIME, [ gmime-2.0 >= $GMIME_REQUIRED ])
+PKG_CHECK_MODULES(GMIME, [gmime-2.4 >= $GMIME_REQUIRED]) +PKG_CHECK_MODULES(GMIME, [ gmime-2.4 >= $GMIME_REQUIRED ])
AC_SUBST(GMIME_CFLAGS) AC_SUBST(GMIME_CFLAGS)
AC_SUBST(GMIME_LIBS) AC_SUBST(GMIME_LIBS)

View File

@ -1,7 +1,7 @@
Summary: An object database, tag/metadata database, search tool and indexer Summary: An object database, tag/metadata database, search tool and indexer
Name: tracker Name: tracker
Version: 0.6.6 Version: 0.6.6
Release: 7%{?dist} Release: 8%{?dist}
License: GPLv2+ License: GPLv2+
Group: Applications/System Group: Applications/System
URL: http://www.gnome.org/~jamiemcc/tracker/ URL: http://www.gnome.org/~jamiemcc/tracker/
@ -54,7 +54,7 @@ GNOME libraries
%prep %prep
%setup -q %setup -q
%patch0 -p0 %patch0 -p1
autoreconf autoreconf
%define deskbar_applet_ver %(pkg-config --modversion deskbar-applet) %define deskbar_applet_ver %(pkg-config --modversion deskbar-applet)
@ -142,6 +142,9 @@ fi
%{_sysconfdir}/xdg/autostart/tracker-applet.desktop %{_sysconfdir}/xdg/autostart/tracker-applet.desktop
%changelog %changelog
* Mon Dec 15 2008 - Bastien Nocera <bnocera@redhat.com> - 0.6.6-8
- Update patch to actually apply, way to do releases often
* Mon Dec 15 2008 - Bastien Nocera <bnocera@redhat.com> - 0.6.6-7 * Mon Dec 15 2008 - Bastien Nocera <bnocera@redhat.com> - 0.6.6-7
- Add patch to port to GMime 2.4 - Add patch to port to GMime 2.4