- 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
===================================================================
--- src/tracker-indexer/modules/evolution-pop.c (revision 2704)
+++ src/tracker-indexer/modules/evolution-pop.c (working copy)
@@ -171,7 +171,7 @@
gchar *number;
gint id;
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
+++ tracker-0.6.6/src/trackerd/tracker-email-evolution.c 2008-12-15 21:31:43.000000000 +0000
@@ -1450,7 +1450,7 @@ load_uri_and_status_of_mbox_mail_message
g_return_if_fail (g_m_message);
g_return_if_fail (msg);
- header = g_mime_message_get_header (message, "X-Evolution");
+ header = g_mime_object_get_header (GMIME_OBJECT (message), "X-Evolution");
- field = g_mime_message_get_header (g_m_message, "X-Evolution");
+ field = g_mime_object_get_header (GMIME_OBJECT (g_m_message), "X-Evolution");
if (!header) {
return -1;
@@ -245,10 +245,134 @@
return message_uri;
g_return_if_fail (field);
@@ -2478,27 +2478,28 @@ break_multipart_loop:
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 *
@ -20,7 +137,6 @@ Index: src/tracker-indexer/modules/evolution-pop.c
+{
+ GMimeObject *mime_part, *text_part = NULL;
+ GMimeContentType *type;
+ GList *subpart;
+ int count, i;
+
+ count = g_mime_multipart_get_count (multipart);
@ -92,9 +208,7 @@ Index: src/tracker-indexer/modules/evolution-pop.c
+ GMimeObject *mime_part = NULL;
+ GMimeContentType *type;
+ GMimeMultipart *multipart;
+ const char *content;
+ char *body = NULL;
+ gint64 len = 0;
+
+ g_return_val_if_fail (GMIME_IS_MESSAGE (message), 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_object_unref (mime_stream);
+ g_object_unref (data_wrapper);
+
+// content = g_mime_part_get_content (GMIME_PART (mime_part), &len);
+// body = g_strndup (content, len);
+ }
+
+ 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 @@
return NULL;
MailMessage *
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);
+ text = tracker_mime_message_get_body (self->message, TRUE, &is_html);
- filtered_stream = g_mime_stream_filter_new_with_stream (stream_src);
+ filtered_stream = g_mime_stream_filter_new (stream_src);
if (!text) {
return NULL;
@@ -287,7 +411,7 @@
switch (encoding) {
case MIME_ENCODING_BASE64:
- 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");
+ header = g_mime_object_get_header (GMIME_OBJECT (message), "X-Evolution");
pos = strchr (header, '-');
if (tmp) {
GMimeReferences *refs;
@@ -937,15 +1055,21 @@ add_gmime_references (GSList *list, GMim
return (guint) strtoul (pos + 1, NULL, 16);
@@ -295,34 +419,25 @@
static GList *
get_message_recipients (GMimeMessage *message,
- const gchar *type)
+ GMimeRecipientType type)
static GSList *
-add_recipients (GSList *list, GMimeMessage *message, const gchar *type)
+add_recipients (GSList *list, GMimeMessage *message, GMimeRecipientType type)
{
GList *list = NULL;
- const InternetAddressList *addresses;
- const InternetAddressList *addrs_list;
+ InternetAddressList *addrs_list;
+ int i, count;
+ InternetAddressList *addresses;
addresses = g_mime_message_get_recipients (message, type);
+ count = internet_address_list_length (addresses);
- while (addresses) {
- for (addrs_list = g_mime_message_get_recipients (message, type); addrs_list; addrs_list = addrs_list->next) {
+ addrs_list = g_mime_message_get_recipients (message, type);
+ count = internet_address_list_length (addrs_list);
+ for (i = 0; i < count; i++) {
InternetAddress *address;
gchar *str;
+ InternetAddress *addr;
MailPerson *mp = email_allocate_mail_person ();
- address = addresses->address;
+ address = internet_address_list_get_address (addresses, i);
+ str = internet_address_to_string (address, FALSE);
- mp->name = g_strdup (addrs_list->address->name);
- mp->addr = g_strdup (addrs_list->address->value.addr);
+ 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) {
- 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;
list = g_slist_prepend (list, mp);
}
@@ -955,7 +1079,7 @@ add_recipients (GSList *list, GMimeMessa
return g_list_reverse (list);
@@ -410,7 +525,8 @@
}
static void
-extract_mime_parts (GMimeObject *object,
+extract_mime_parts (GMimeObject *parent,
+ GMimeObject *object,
gpointer user_data)
-find_attachment (GMimeObject *obj, gpointer data)
+find_attachment (GMimeObject *parent, GMimeObject *obj, gpointer data)
{
GList **list = (GList **) user_data;
@@ -433,8 +549,7 @@
GMimePart *part;
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;
}
- part = GMIME_PART (object);
- disposition = g_mime_part_get_content_disposition (part);
+ disposition = g_mime_object_get_disposition (object);
@@ -987,20 +1111,20 @@ find_attachment (GMimeObject *obj, gpoin
if (!disposition ||
(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 @@
}
mail_msg = data;
if (encoding) {
- *encoding = GMIME_PART_ENCODING_DEFAULT;
+ *encoding = GMIME_CONTENT_ENCODING_DEFAULT;
}
- content_disposition = g_mime_part_get_content_disposition (part);
+ content_disposition = g_mime_object_get_disposition (obj);
if (!g_file_get_contents (mime_file, &tmp, NULL, NULL)) {
@@ -606,7 +606,7 @@
*name = g_strdup (g_mime_content_type_get_parameter (mime, "name"));
}
/* test whether it is a mail attachment */
if (content_disposition &&
(strcmp (content_disposition, GMIME_DISPOSITION_ATTACHMENT) == 0 ||
strcmp (content_disposition, GMIME_DISPOSITION_INLINE) == 0)) {
- g_mime_content_type_destroy (mime);
+ g_object_unref (mime);
}
- const GMimeContentType *content_type;
+ GMimeContentType *content_type;
MailAttachment *ma;
const gchar *filename;
gchar *attachment_uri;
gint fd;
if (name && !*name) {
@@ -628,17 +628,17 @@
gchar *encoding_str = g_strndup (pos_encoding, pos_end_encoding - pos_encoding);
- if (! (content_type = g_mime_part_get_content_type (part)))
+ if (! (content_type = g_mime_object_get_content_type (obj)))
return;
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_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 @@
filename = g_mime_part_get_filename (part);
--- tracker-0.6.6.old/configure.ac 2008-03-03 04:13:34.000000000 +0000
+++ tracker-0.6.6/configure.ac 2008-12-15 21:10:17.000000000 +0000
@@ -65,7 +65,7 @@ AC_SUBST(PANGO_CFLAGS)
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])
-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)

View File

@ -1,7 +1,7 @@
Summary: An object database, tag/metadata database, search tool and indexer
Name: tracker
Version: 0.6.6
Release: 7%{?dist}
Release: 8%{?dist}
License: GPLv2+
Group: Applications/System
URL: http://www.gnome.org/~jamiemcc/tracker/
@ -54,7 +54,7 @@ GNOME libraries
%prep
%setup -q
%patch0 -p0
%patch0 -p1
autoreconf
%define deskbar_applet_ver %(pkg-config --modversion deskbar-applet)
@ -142,6 +142,9 @@ fi
%{_sysconfdir}/xdg/autostart/tracker-applet.desktop
%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
- Add patch to port to GMime 2.4