[evolution-rss] Add an upstream patch for a build break due to eds/evo changes

Milan Crha mcrha at fedoraproject.org
Thu Jan 9 18:19:46 UTC 2014


commit 1178359619e66c1a773716a6a40dc13ad53a8b7f
Author: Milan Crha <mcrha at redhat.com>
Date:   Thu Jan 9 19:20:10 2014 +0100

    Add an upstream patch for a build break due to eds/evo changes

 eds-evo-3.11.2-changes.patch |  352 ++++++++++++++++++++++++++++++++++++++++++
 evolution-rss.spec           |    7 +-
 2 files changed, 357 insertions(+), 2 deletions(-)
---
diff --git a/eds-evo-3.11.2-changes.patch b/eds-evo-3.11.2-changes.patch
new file mode 100644
index 0000000..6322c68
--- /dev/null
+++ b/eds-evo-3.11.2-changes.patch
@@ -0,0 +1,352 @@
+From a9805199c18b1a8b6b2c48d83b3c78be21b2ab91 Mon Sep 17 00:00:00 2001
+From: Milan Crha <mcrha at redhat.com>
+Date: Fri, 29 Nov 2013 17:01:12 +0000
+Subject: Bug 712709 - Adapt to evolution-data-server/evolution 3.11.2 changes
+
+---
+diff --git a/src/parser.c b/src/parser.c
+index d3b3ed6..ef20856 100644
+--- a/src/parser.c
++++ b/src/parser.c
+@@ -25,11 +25,16 @@
+ #include <libxml/HTMLparser.h>
+ #include <libxml/HTMLtree.h>
+ #include <libxml/debugXML.h>
++
++#if EVOLUTION_VERSION >= 31102
++#include <libemail-engine/libemail-engine.h>
++#else
+ #if EVOLUTION_VERSION >= 30305
+ #include <libemail-engine/mail-ops.h>
+ #else
+ #include <mail/mail-ops.h>
+ #endif
++#endif
+ #if EVOLUTION_VERSION >= 30505
+ #include <mail/e-mail-reader-utils.h>
+ #endif
+diff --git a/src/rss-cache.c b/src/rss-cache.c
+index b075659..65f926d 100644
+--- a/src/rss-cache.c
++++ b/src/rss-cache.c
+@@ -98,12 +98,6 @@ rss_cache_get_path(int create, const char *key)
+ 	return real;
+ }
+ 
+-CamelStream*
+-rss_cache_get(gchar *url)
+-{
+-	return camel_data_cache_get(cache, HTTP_CACHE_PATH, url, NULL);
+-}
+-
+ #if DATASERVER_VERSION <= 2025004
+ #define CAMEL_DATA_CACHE_BITS (6)
+ #define CAMEL_DATA_CACHE_MASK ((1<<CAMEL_DATA_CACHE_BITS)-1)
+@@ -145,7 +139,7 @@ rss_cache_get_filename(gchar *url)
+ #endif
+ }
+ 
+-CamelStream*
++RssCacheStream *
+ rss_cache_add(gchar *url)
+ {
+ 	return camel_data_cache_add(cache, HTTP_CACHE_PATH, url, NULL);
+diff --git a/src/rss-cache.h b/src/rss-cache.h
+index eabee01..845178c 100644
+--- a/src/rss-cache.h
++++ b/src/rss-cache.h
+@@ -17,14 +17,24 @@
+  * 02110-1301 USA
+  */
+ 
++#ifndef RSS_CACHE_H
++#define RSS_CACHE_H
++
+ #if (DATASERVER_VERSION >= 2031001)
+ #include <camel/camel.h>
+ #else
+ #include <camel/camel-data-cache.h>
+ #endif
+ 
++#if (DATASERVER_VERSION >= 3011002)
++#define RssCacheStream GIOStream
++#else
++#define RssCacheStream CamelStream
++#endif
++
+ void rss_cache_init(void);
+-CamelStream *rss_cache_get(gchar *url);
+ gchar *rss_cache_get_filename(gchar *url);
+ char* rss_cache_get_path(int create, const char *path);
+-CamelStream* rss_cache_add(gchar *url);
++RssCacheStream *rss_cache_add(gchar *url);
++
++#endif /* RSS_CACHE_H */
+diff --git a/src/rss-config-factory.c b/src/rss-config-factory.c
+index 84a1d6e..7105d01 100644
+--- a/src/rss-config-factory.c
++++ b/src/rss-config-factory.c
+@@ -46,6 +46,9 @@
+ #endif
+ 
+ #include <mail/em-folder-selector.h>
++#if EVOLUTION_VERSION >= 31102
++#include <libemail-engine/libemail-engine.h>
++#else
+ #if EVOLUTION_VERSION >= 30305
+ #include <libemail-engine/e-mail-folder-utils.h>
+ #else
+@@ -53,7 +56,7 @@
+ #include <mail/e-mail-folder-utils.h>
+ #endif
+ #endif
+-
++#endif
+ 
+ #include <mail/em-utils.h>
+ #include <shell/e-shell.h>
+diff --git a/src/rss-evo-common.c b/src/rss-evo-common.c
+index 2f893df..0145b8c 100644
+--- a/src/rss-evo-common.c
++++ b/src/rss-evo-common.c
+@@ -26,6 +26,9 @@
+ #if (EVOLUTION_VERSION < 30303)
+ #include <mail/e-mail-local.h>
+ #endif
++#if EVOLUTION_VERSION >= 31102
++#include <libemail-engine/libemail-engine.h>
++#else
+ #if EVOLUTION_VERSION >= 30305
+ #include <libemail-engine/e-mail-folder-utils.h>
+ #else
+@@ -33,6 +36,7 @@
+ #include <mail/e-mail-folder-utils.h>
+ #endif
+ #endif
++#endif
+ #include <mail/e-mail-reader.h>
+ #include <mail/em-folder-utils.h>
+ 
+diff --git a/src/rss-image.c b/src/rss-image.c
+index 12ab7fc..9dfb636 100644
+--- a/src/rss-image.c
++++ b/src/rss-image.c
+@@ -303,7 +303,7 @@ finish_image_feedback (SoupMessage *msg, FEED_IMAGE *user_data)
+ finish_image_feedback (SoupSession *soup_sess, SoupMessage *msg, FEED_IMAGE *user_data)
+ #endif
+ {
+-	CamelStream *stream = NULL;
++	RssCacheStream *stream = NULL;
+ 	gchar *mime_type;
+ 	d("finish_image_feedback()");
+ 	stream = rss_cache_add(user_data->url);
+@@ -337,9 +337,9 @@ finish_image_feedback (SoupSession *soup_sess, SoupMessage *msg, FEED_IMAGE *use
+ 
+ void
+ #if LIBSOUP_VERSION < 2003000
+-finish_image (SoupMessage *msg, CamelStream *user_data)
++finish_image (SoupMessage *msg, RssCacheStream *user_data)
+ #else
+-finish_image (SoupSession *soup_sess, SoupMessage *msg, CamelStream *user_data)
++finish_image (SoupSession *soup_sess, SoupMessage *msg, RssCacheStream *user_data)
+ #endif
+ {
+ 	d("CODE:%d\n", msg->status_code);
+@@ -362,6 +362,19 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg, CamelStream *user_data)
+ 				msg->response.length);
+ #else
+ 		if (msg->response_body->data) {
++#if (DATASERVER_VERSION >= 3011002)
++			GOutputStream *out;
++
++			out = g_io_stream_get_output_stream (user_data);
++			g_output_stream_write_all (out, 
++				msg->response_body->data,
++				msg->response_body->length,
++				NULL,
++				NULL,
++				NULL);
++			g_output_stream_flush (out, NULL, NULL);
++			g_output_stream_close (out, NULL, NULL);
++#else
+ #if (DATASERVER_VERSION >= 2033001)
+ 			camel_stream_write (user_data,
+ 				msg->response_body->data,
+@@ -377,6 +390,7 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg, CamelStream *user_data)
+ 			camel_stream_close(user_data, NULL);
+ #endif
+ #endif
++#endif
+ #if (DATASERVER_VERSION >= 2031001)
+ 			g_object_unref(user_data);
+ #else
+@@ -384,6 +398,19 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg, CamelStream *user_data)
+ #endif
+ 		}
+ 	} else {
++#if (DATASERVER_VERSION >= 3011002)
++		GOutputStream *out;
++
++		out = g_io_stream_get_output_stream (user_data);
++		g_output_stream_write_all (out, 
++			msg->response_body->data,
++			msg->response_body->length,
++			NULL,
++			NULL,
++			NULL);
++		g_output_stream_flush (out, NULL, NULL);
++		g_output_stream_close (out, NULL, NULL);
++#else
+ #if (DATASERVER_VERSION >= 2033001)
+ 		camel_stream_write (user_data, pixfilebuf, pixfilelen, NULL, NULL);
+ 		camel_stream_close (user_data, NULL, NULL);
+@@ -391,6 +418,73 @@ finish_image (SoupSession *soup_sess, SoupMessage *msg, CamelStream *user_data)
+ 		camel_stream_write(user_data, pixfilebuf, pixfilelen, NULL);
+ 		camel_stream_close(user_data, NULL);
+ #endif
++#endif
++
++#if (DATASERVER_VERSION >= 2031001)
++		g_object_unref(user_data);
++#else
++		camel_object_unref(user_data);
++#endif
++	}
++}
++
++static void
++#if LIBSOUP_VERSION < 2003000
++finish_image_camel (SoupMessage *msg, CamelStream *user_data)
++#else
++finish_image_camel (SoupSession *soup_sess, SoupMessage *msg, CamelStream *user_data)
++#endif
++{
++	d("CODE:%d\n", msg->status_code);
++	// we might need to handle more error codes here
++	if (503 != msg->status_code && //handle this timedly fasion
++	    404 != msg->status_code && //NOT FOUND
++	    400 != msg->status_code && //bad request
++	      2 != msg->status_code && //STATUS_CANT_RESOLVE
++	      1 != msg->status_code && //TIMEOUT (CANCELLED) ?
++	      7 != msg->status_code && // STATUS_IO_ERROR
++#if LIBSOUP_VERSION < 2003000
++		msg->response.length) {	//ZERO SIZE
++#else
++		msg->response_body->length) { //ZERO SIZE
++#endif
++#if LIBSOUP_VERSION < 2003000
++		if (msg->response.body) {
++			camel_stream_write(user_data,
++				msg->response.body,
++				msg->response.length);
++#else
++		if (msg->response_body->data) {
++#if (DATASERVER_VERSION >= 2033001)
++			camel_stream_write (user_data,
++				msg->response_body->data,
++				msg->response_body->length,
++				NULL,
++				NULL);
++			camel_stream_close(user_data, NULL, NULL);
++#else
++			camel_stream_write (user_data,
++				msg->response_body->data,
++				msg->response_body->length,
++				NULL);
++			camel_stream_close(user_data, NULL);
++#endif
++#endif
++#if (DATASERVER_VERSION >= 2031001)
++			g_object_unref(user_data);
++#else
++			camel_object_unref(user_data);
++#endif
++		}
++	} else {
++#if (DATASERVER_VERSION >= 2033001)
++		camel_stream_write (user_data, pixfilebuf, pixfilelen, NULL, NULL);
++		camel_stream_close (user_data, NULL, NULL);
++#else
++		camel_stream_write(user_data, pixfilebuf, pixfilelen, NULL);
++		camel_stream_close(user_data, NULL);
++#endif
++
+ #if (DATASERVER_VERSION >= 2031001)
+ 		g_object_unref(user_data);
+ #else
+@@ -412,7 +506,7 @@ finish_create_icon (SoupSession *soup_sess, SoupMessage *msg, FEED_IMAGE *user_d
+ 		CamelStream *feed_fs = camel_stream_fs_new_with_name(
+ 					user_data->img_file,
+ 					O_RDWR|O_CREAT, 0666, NULL);
+-		finish_image(soup_sess, msg, feed_fs);
++		finish_image_camel(soup_sess, msg, feed_fs);
+ 		display_folder_icon(evolution_store, user_data->key);
+ 	}
+ 	g_free(user_data->key);
+@@ -428,7 +522,7 @@ finish_create_icon_stream (
+ 	SoupSession *soup_sess, SoupMessage *msg, FEED_IMAGE *user_data)
+ #endif
+ {
+-	finish_image(soup_sess, msg, user_data->feed_fs);
++	finish_image_camel(soup_sess, msg, user_data->feed_fs);
+ 	display_folder_icon(evolution_store, user_data->key);
+ 	g_free(user_data->key);
+ 	g_free(user_data);
+@@ -768,7 +862,7 @@ fetch_image_redraw(gchar *url, gchar *link, gpointer data)
+ 				1,
+ 				&err);
+ 		} else {
+-			CamelStream *stream = rss_cache_add(intern);
++			RssCacheStream *stream = rss_cache_add(intern);
+ 			fetch_unblocking(tmpurl,
+ 				textcb,
+ 				NULL,
+diff --git a/src/rss-image.h b/src/rss-image.h
+index 739c413..72e6853 100644
+--- a/src/rss-image.h
++++ b/src/rss-image.h
+@@ -19,6 +19,7 @@
+ 
+ 
+ #include <mail/e-mail-reader.h>
++#include <rss-cache.h>
+ 
+ typedef struct _FEED_IMAGE {
+ 	gchar *img_file;
+@@ -51,10 +52,10 @@ gchar *verify_image(gchar *uri, EMailDisplay *format);
+ 
+ void
+ #if LIBSOUP_VERSION < 2003000
+-finish_image (SoupMessage *msg, CamelStream *user_data);
++finish_image (SoupMessage *msg, RssCacheStream *user_data);
+ #else
+ finish_image (SoupSession *soup_sess,
+-	SoupMessage *msg, CamelStream *user_data);
++	SoupMessage *msg, RssCacheStream *user_data);
+ #endif
+ void
+ #if LIBSOUP_VERSION < 2003000
+diff --git a/src/rss.c b/src/rss.c
+index 1dcf192..5ebf5e1 100644
+--- a/src/rss.c
++++ b/src/rss.c
+@@ -67,6 +67,9 @@ int rss_verbose_debug = 0;
+ #include <mail/e-mail-reader-utils.h>
+ #endif
+ 
++#if EVOLUTION_VERSION >= 31102
++#include <libemail-engine/libemail-engine.h>
++#else
+ #if EVOLUTION_VERSION >= 30305
+ #include <libemail-engine/mail-tools.h>
+ #include <libemail-engine/mail-ops.h>
+@@ -82,6 +85,7 @@ int rss_verbose_debug = 0;
+ #include <mail/e-mail-session.h>
+ #endif
+ #endif
++#endif
+ 
+ #if (EVOLUTION_VERSION > 30501)
+ #include <em-format/e-mail-formatter.h>
+--
+cgit v0.9.2
diff --git a/evolution-rss.spec b/evolution-rss.spec
index 0aa97f0..57c4270 100644
--- a/evolution-rss.spec
+++ b/evolution-rss.spec
@@ -17,6 +17,8 @@ Requires:	evolution
 # an upstream commit
 Patch01: evolution-rss-0.3.94-camel-api-changes.patch
 
+Patch02: eds-evo-3.11.2-changes.patch
+
 Requires(pre):	GConf2
 Requires(post):	GConf2
 Requires(preun):GConf2
@@ -36,6 +38,7 @@ This is an evolution plugin which enables evolution to read rss feeds.
 %prep
 %setup -q -n evolution-rss-%{version}
 %patch01 -p1 -b .camel-api-changes
+%patch02 -p1 -b .eds-evo-3.11.2-changes
 
 %build
 %configure --with-primary-render=webkit
@@ -98,8 +101,8 @@ glib-compile-schemas %{_datadir}/glib-2.0/schemas &>/dev/null || :
 %{_libdir}/evolution/*/modules/evolution-module-rss.so
 
 %changelog
-* Tue Nov 19 2013 Milan Crha <mcrha at redhat.com> - 1:0.3.94-3
-- Rebuild against newer evolution-data-server
+* Thu Jan 09 2014 Milan Crha <mcrha at redhat.com> - 1:0.3.94-3
+- Add an upstream patch for a build break due to eds/evo changes
 
 * Fri Nov 08 2013 Milan Crha <mcrha at redhat.com> - 1:0.3.94-2
 - Rebuild against newer evolution-data-server


More information about the scm-commits mailing list