[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