Hello community, here is the log from the commit of package evolution-ews for openSUSE:Factory checked in at 2018-12-19 13:46:12 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/evolution-ews (Old) and /work/SRC/openSUSE:Factory/.evolution-ews.new.28833 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "evolution-ews" Wed Dec 19 13:46:12 2018 rev:93 rq:657459 version:3.30.3 Changes: -------- --- /work/SRC/openSUSE:Factory/evolution-ews/evolution-ews.changes 2018-11-20 22:30:12.930677459 +0100 +++ /work/SRC/openSUSE:Factory/.evolution-ews.new.28833/evolution-ews.changes 2018-12-19 13:46:14.007550854 +0100 @@ -1,0 +2,8 @@ +Mon Dec 10 09:43:02 UTC 2018 - bjorn....@gmail.com + +- Update to version 3.30.3: + + Make sure intltool-merge cache is created only once. + + Calendar: Retry item download on ErrorBatchProcessingStopped + error. + +------------------------------------------------------------------- Old: ---- evolution-ews-3.30.2.tar.xz New: ---- evolution-ews-3.30.3.tar.xz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ evolution-ews.spec ++++++ --- /var/tmp/diff_new_pack.G5WuIM/_old 2018-12-19 13:46:14.883549630 +0100 +++ /var/tmp/diff_new_pack.G5WuIM/_new 2018-12-19 13:46:14.887549625 +0100 @@ -19,7 +19,7 @@ # _version needs to be %{version} stripped to major.minor.micro only... %define _version %(echo %{version} | grep -E -o '[0-9]+\.[0-9]+\.[0-9]+') Name: evolution-ews -Version: 3.30.2 +Version: 3.30.3 Release: 0 Summary: Exchange Connector for Evolution, compatible with Exchange 2007 and later License: LGPL-2.1-only ++++++ evolution-ews-3.30.2.tar.xz -> evolution-ews-3.30.3.tar.xz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.30.2/CMakeLists.txt new/evolution-ews-3.30.3/CMakeLists.txt --- old/evolution-ews-3.30.2/CMakeLists.txt 2018-10-22 10:24:30.000000000 +0200 +++ new/evolution-ews-3.30.3/CMakeLists.txt 2018-12-10 10:09:28.000000000 +0100 @@ -4,7 +4,7 @@ cmake_policy(VERSION 3.1) project(evolution-ews - VERSION 3.30.2 + VERSION 3.30.3 LANGUAGES C) set(PROJECT_BUGREPORT "https://gitlab.gnome.org/GNOME/evolution-ews/issues/") diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.30.2/NEWS new/evolution-ews-3.30.3/NEWS --- old/evolution-ews-3.30.2/NEWS 2018-10-22 10:24:30.000000000 +0200 +++ new/evolution-ews-3.30.3/NEWS 2018-12-10 10:09:28.000000000 +0100 @@ -1,3 +1,12 @@ +Evolution-EWS 3.30.3 2018-12-10 +------------------------------- + +Bug Fixes: + I#17 - [Calendar] Retry item download on ErrorBatchProcessingStopped error (Milan Crha) + +Miscellaneous: + Make sure intltool-merge cache is created only once (Milan Crha) + Evolution-EWS 3.30.2 2018-10-22 ------------------------------- diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.30.2/cmake/modules/FindIntltool.cmake new/evolution-ews-3.30.3/cmake/modules/FindIntltool.cmake --- old/evolution-ews-3.30.2/cmake/modules/FindIntltool.cmake 2018-10-22 10:24:30.000000000 +0200 +++ new/evolution-ews-3.30.3/cmake/modules/FindIntltool.cmake 2018-12-10 10:09:28.000000000 +0100 @@ -176,9 +176,18 @@ DEPENDS ${_in} ) else(_has_no_translations) + if(NOT TARGET intltool-merge-cache) + add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/po/.intltool-merge-cache + COMMAND ${INTLTOOL_MERGE} ${_args} --quiet --cache="${CMAKE_BINARY_DIR}/po/.intltool-merge-cache" "${GETTEXT_PO_DIR}" "${_in}" "${_out}" + DEPENDS ${_in} + ) + add_custom_target(intltool-merge-cache ALL + DEPENDS ${CMAKE_BINARY_DIR}/po/.intltool-merge-cache) + endif(NOT TARGET intltool-merge-cache) + add_custom_command(OUTPUT ${_out} COMMAND ${INTLTOOL_MERGE} ${_args} --quiet --cache="${CMAKE_BINARY_DIR}/po/.intltool-merge-cache" "${GETTEXT_PO_DIR}" "${_in}" "${_out}" - DEPENDS ${_in} + DEPENDS ${_in} intltool-merge-cache ) endif(_has_no_translations) endmacro(intltool_merge) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/evolution-ews-3.30.2/src/calendar/e-cal-backend-ews.c new/evolution-ews-3.30.3/src/calendar/e-cal-backend-ews.c --- old/evolution-ews-3.30.2/src/calendar/e-cal-backend-ews.c 2018-10-22 10:24:30.000000000 +0200 +++ new/evolution-ews-3.30.3/src/calendar/e-cal-backend-ews.c 2018-12-10 10:09:28.000000000 +0100 @@ -1044,28 +1044,66 @@ GCancellable *cancellable, GError **error) { - GSList *items = NULL, *link; - gboolean success; + GSList *items = NULL, *link, *retry_ids = NULL; + gboolean success = TRUE; g_return_val_if_fail (E_IS_CAL_BACKEND_EWS (cbews), FALSE); g_return_val_if_fail (out_components != NULL, FALSE); - success = e_ews_connection_get_items_sync ( - cbews->priv->cnc, - EWS_PRIORITY_MEDIUM, - item_ids, - default_props, - add_props, - FALSE, - NULL, - E_EWS_BODY_TYPE_TEXT, - &items, - NULL, NULL, - cancellable, - error); + while (success = success && !g_cancellable_set_error_if_cancelled (cancellable, error), success) { + GSList *received = NULL, *new_retry_ids = NULL, *ids_link; + + success = e_ews_connection_get_items_sync ( + cbews->priv->cnc, + EWS_PRIORITY_MEDIUM, + item_ids, + default_props, + add_props, + FALSE, + NULL, + E_EWS_BODY_TYPE_TEXT, + &received, + NULL, NULL, + cancellable, + error); + + for (link = received, ids_link = (GSList *) item_ids; success && link && ids_link; link = g_slist_next (link), ids_link = g_slist_next (ids_link)) { + EEwsItem *item = link->data; + + if (!item) + continue; + + if (e_ews_item_get_item_type (item) == E_EWS_ITEM_TYPE_ERROR) { + const GError *item_error; + + item_error = e_ews_item_get_error (item); + if (g_error_matches (item_error, EWS_CONNECTION_ERROR, EWS_CONNECTION_ERROR_BATCHPROCESSINGSTOPPED)) { + new_retry_ids = g_slist_prepend (new_retry_ids, g_strdup (ids_link->data)); + g_object_unref (item); + } else { + items = g_slist_prepend (items, item); + } + } else { + items = g_slist_prepend (items, item); + } + } + + g_slist_free_full (retry_ids, g_free); + g_slist_free (received); + retry_ids = new_retry_ids; + + if (!retry_ids) + break; + + item_ids = retry_ids; + } + + g_slist_free_full (retry_ids, g_free); + + items = g_slist_reverse (items); if (!success) - return FALSE; + goto exit; /* fetch modified occurrences */ for (link = items; link; link = g_slist_next (link)) {