diff --git a/SOURCES/0007-oauth2-enable-html5-features.patch b/SOURCES/0007-oauth2-enable-html5-features.patch new file mode 100644 index 0000000..cad3ef8 --- /dev/null +++ b/SOURCES/0007-oauth2-enable-html5-features.patch @@ -0,0 +1,33 @@ +diff -up evolution-data-server-3.40.4/src/libedataserverui/e-credentials-prompter-impl-oauth2.c.7 evolution-data-server-3.40.4/src/libedataserverui/e-credentials-prompter-impl-oauth2.c +--- evolution-data-server-3.40.4/src/libedataserverui/e-credentials-prompter-impl-oauth2.c.7 2021-08-13 11:44:41.000000000 +0200 ++++ evolution-data-server-3.40.4/src/libedataserverui/e-credentials-prompter-impl-oauth2.c 2024-01-11 15:28:03.245950925 +0100 +@@ -573,6 +573,7 @@ e_credentials_prompter_impl_oauth2_show_ + GtkScrolledWindow *scrolled_window; + GtkWindow *dialog_parent; + ECredentialsPrompter *prompter; ++ WebKitCookieManager *cookie_manager; + WebKitSettings *webkit_settings; + WebKitWebContext *web_context; + gchar *title, *uri; +@@ -725,9 +726,9 @@ e_credentials_prompter_impl_oauth2_show_ + webkit_settings = webkit_settings_new_with_settings ( + "auto-load-images", TRUE, + "default-charset", "utf-8", +- "enable-html5-database", FALSE, + "enable-dns-prefetching", FALSE, +- "enable-html5-local-storage", FALSE, ++ "enable-html5-database", TRUE, ++ "enable-html5-local-storage", TRUE, + "enable-offline-web-application-cache", FALSE, + "enable-page-cache", FALSE, + "enable-plugins", FALSE, +@@ -737,6 +738,9 @@ e_credentials_prompter_impl_oauth2_show_ + web_context = webkit_web_context_new (); + webkit_web_context_set_sandbox_enabled (web_context, TRUE); + ++ cookie_manager = webkit_web_context_get_cookie_manager (web_context); ++ webkit_cookie_manager_set_accept_policy (cookie_manager, WEBKIT_COOKIE_POLICY_ACCEPT_ALWAYS); ++ + widget = g_object_new (WEBKIT_TYPE_WEB_VIEW, + "settings", webkit_settings, + "web-context", web_context, diff --git a/SOURCES/evolution-data-server-3.40.4-no-libedataserverui-in-alarm-notify.patch b/SOURCES/evolution-data-server-3.40.4-no-libedataserverui-in-alarm-notify.patch new file mode 100644 index 0000000..d7dcb4f --- /dev/null +++ b/SOURCES/evolution-data-server-3.40.4-no-libedataserverui-in-alarm-notify.patch @@ -0,0 +1,71 @@ +diff --git a/src/services/evolution-alarm-notify/CMakeLists.txt b/src/services/evolution-alarm-notify/CMakeLists.txt +index a4c0a41..a713797 100644 +--- a/src/services/evolution-alarm-notify/CMakeLists.txt ++++ b/src/services/evolution-alarm-notify/CMakeLists.txt +@@ -1,9 +1,14 @@ + set(DEPENDENCIES + ecal +- edataserverui + ) + + set(SOURCES ++ ../../libedataserverui/libedataserverui-private.h ++ ../../libedataserverui/libedataserverui-private.c ++ ../../libedataserverui/e-buffer-tagger.h ++ ../../libedataserverui/e-buffer-tagger.c ++ ../../libedataserverui/e-reminders-widget.h ++ ../../libedataserverui/e-reminders-widget.c + evolution-alarm-notify.c + e-alarm-notify.h + e-alarm-notify.c +@@ -17,9 +22,15 @@ add_dependencies(evolution-alarm-notify + ${DEPENDENCIES} + ) + ++# the -DLIBEDATASERVERUI_COMPILATION is a hackish way to borrow sources from ++# the libedataserverui without depending on it (because it can be uninstalled) + target_compile_definitions(evolution-alarm-notify PRIVATE + -DG_LOG_DOMAIN=\"evolution-alarm-notify\" + -DLOCALEDIR=\"${LOCALE_INSTALL_DIR}\" ++ -DLIBEDATASERVERUI_COMPILATION ++ -DE_DATA_SERVER_PREFIX=\"${CMAKE_INSTALL_PREFIX}\" ++ -DE_DATA_SERVER_UIMODULEDIR=\"${uimoduledir}\" ++ -DE_DATA_SERVER_ICONDIR=\"${icondir}\" + ) + + target_compile_options(evolution-alarm-notify PUBLIC +@@ -33,6 +44,7 @@ target_include_directories(evolution-alarm-notify PUBLIC + ${CMAKE_BINARY_DIR} + ${CMAKE_BINARY_DIR}/src + ${CMAKE_SOURCE_DIR}/src ++ ${CMAKE_SOURCE_DIR}/src/libedataserverui + ${CANBERRA_INCLUDE_DIRS} + ${DATA_SERVER_INCLUDE_DIRS} + ${GNOME_PLATFORM_INCLUDE_DIRS} +diff --git a/src/services/evolution-alarm-notify/e-alarm-notify.c b/src/services/evolution-alarm-notify/e-alarm-notify.c +index 5c9b479..bf53a86 100644 +--- a/src/services/evolution-alarm-notify/e-alarm-notify.c ++++ b/src/services/evolution-alarm-notify/e-alarm-notify.c +@@ -30,7 +30,9 @@ + #endif + + #include "libecal/libecal.h" +-#include "libedataserverui/libedataserverui.h" ++ ++#include "libedataserverui/e-buffer-tagger.h" ++#include "libedataserverui/e-reminders-widget.h" + + #include "e-alarm-notify.h" + +diff --git a/src/services/evolution-alarm-notify/evolution-alarm-notify.c b/src/services/evolution-alarm-notify/evolution-alarm-notify.c +index 5467a8d..14a13aa 100644 +--- a/src/services/evolution-alarm-notify/evolution-alarm-notify.c ++++ b/src/services/evolution-alarm-notify/evolution-alarm-notify.c +@@ -22,7 +22,6 @@ + #include + + #include +-#include + + #include "e-alarm-notify.h" + diff --git a/SPECS/evolution-data-server.spec b/SPECS/evolution-data-server.spec index 30ebb48..77540e8 100644 --- a/SPECS/evolution-data-server.spec +++ b/SPECS/evolution-data-server.spec @@ -54,7 +54,7 @@ Name: evolution-data-server Version: 3.40.4 -Release: 6%{?dist} +Release: 9%{?dist} Summary: Backend data server for Evolution License: LGPLv2+ URL: https://wiki.gnome.org/Apps/Evolution @@ -65,6 +65,8 @@ Patch02: evolution-data-server-3.40.4-secret-monitor-warnings.patch Patch03: evolution-data-server-3.40.4-google-contacts-to-carddav.patch Patch04: evolution-data-server-3.40.4-google-oauth2.patch Patch05: evolution-data-server-3.40.4-caldav-crash.patch +Patch06: evolution-data-server-3.40.4-no-libedataserverui-in-alarm-notify.patch +Patch07: 0007-oauth2-enable-html5-features.patch Provides: evolution-webcal = %{version} Obsoletes: evolution-webcal < 2.24.0 @@ -72,6 +74,8 @@ Obsoletes: evolution-webcal < 2.24.0 # RH-bug #1362477 Recommends: pinentry-gui +Recommends: %{name}-ui + %if 0%{?fedora} # From rhughes-f20-gnome-3-12 copr Obsoletes: compat-evolution-data-server310-libcamel < 3.12 @@ -152,12 +156,27 @@ Requires: pkgconfig(libical-glib) >= %{libical_version} Requires: pkgconfig(libsecret-unstable) >= %{libsecret_version} Requires: pkgconfig(libsoup-2.4) >= %{libsoup_version} Requires: pkgconfig(sqlite3) >= %{sqlite_version} -Requires: pkgconfig(webkit2gtk-4.0) >= %{webkit2gtk_version} Requires: pkgconfig(json-glib-1.0) >= %{json_glib_version} %description devel Development files needed for building things which link against %{name}. +%package ui +Summary: libedataserverui library from %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description ui +libedataserverui library files from %{name}. + +%package ui-devel +Summary: Development files for building against libedataserverui from %{name} +Requires: %{name}-devel%{?_isa} = %{version}-%{release} +Requires: %{name}-ui%{?_isa} = %{version}-%{release} +Requires: pkgconfig(webkit2gtk-4.0) >= %{webkit2gtk_version} + +%description ui-devel +Development files needed for building things which link against libedataserverui from %{name}. + %package langpacks Summary: Translations for %{name} BuildArch: noarch @@ -307,8 +326,6 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{_libdir}/libedata-cal-2.0.so.1.0.0 %{_libdir}/libedataserver-1.2.so.26 %{_libdir}/libedataserver-1.2.so.26.0.0 -%{_libdir}/libedataserverui-1.2.so.3 -%{_libdir}/libedataserverui-1.2.so.3.0.0 %{_libdir}/girepository-1.0/Camel-1.2.typelib %{_libdir}/girepository-1.0/EBackend-1.2.typelib @@ -318,7 +335,6 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{_libdir}/girepository-1.0/EDataBook-1.2.typelib %{_libdir}/girepository-1.0/EDataCal-2.0.typelib %{_libdir}/girepository-1.0/EDataServer-1.2.typelib -%{_libdir}/girepository-1.0/EDataServerUI-1.2.typelib %{_libexecdir}/camel-gpg-photo-saver %{_libexecdir}/camel-index-control-1.2 @@ -366,7 +382,6 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %dir %{ebook_backends_dir} %dir %{ecal_backends_dir} %dir %{modules_dir} -%dir %{uimodules_dir} %{_libdir}/evolution-data-server/libedbus-private.so @@ -407,12 +422,18 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{modules_dir}/module-oauth2-services.so %{modules_dir}/module-outlook-backend.so %{modules_dir}/module-secret-monitor.so -%{modules_dir}/module-trust-prompt.so %{modules_dir}/module-webdav-backend.so %{modules_dir}/module-yahoo-backend.so %files devel -%{_includedir}/evolution-data-server +%{_includedir}/evolution-data-server/camel +%{_includedir}/evolution-data-server/libebackend +%{_includedir}/evolution-data-server/libebook +%{_includedir}/evolution-data-server/libebook-contacts +%{_includedir}/evolution-data-server/libecal +%{_includedir}/evolution-data-server/libedata-book +%{_includedir}/evolution-data-server/libedata-cal +%{_includedir}/evolution-data-server/libedataserver %{_libdir}/libcamel-1.2.so %{_libdir}/libebackend-1.2.so %{_libdir}/libebook-1.2.so @@ -421,7 +442,6 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{_libdir}/libedata-book-1.2.so %{_libdir}/libedata-cal-2.0.so %{_libdir}/libedataserver-1.2.so -%{_libdir}/libedataserverui-1.2.so %{_libdir}/pkgconfig/camel-1.2.pc %{_libdir}/pkgconfig/evolution-data-server-1.2.pc %{_libdir}/pkgconfig/libebackend-1.2.pc @@ -431,7 +451,6 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{_libdir}/pkgconfig/libedata-book-1.2.pc %{_libdir}/pkgconfig/libedata-cal-2.0.pc %{_libdir}/pkgconfig/libedataserver-1.2.pc -%{_libdir}/pkgconfig/libedataserverui-1.2.pc %{_datadir}/gir-1.0/Camel-1.2.gir %{_datadir}/gir-1.0/EBackend-1.2.gir %{_datadir}/gir-1.0/EBook-1.2.gir @@ -440,7 +459,6 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{_datadir}/gir-1.0/EDataBook-1.2.gir %{_datadir}/gir-1.0/EDataCal-2.0.gir %{_datadir}/gir-1.0/EDataServer-1.2.gir -%{_datadir}/gir-1.0/EDataServerUI-1.2.gir %{_datadir}/vala/vapi/camel-1.2.deps %{_datadir}/vala/vapi/camel-1.2.vapi %{_datadir}/vala/vapi/libebackend-1.2.deps @@ -457,6 +475,19 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{_datadir}/vala/vapi/libedata-cal-2.0.vapi %{_datadir}/vala/vapi/libedataserver-1.2.deps %{_datadir}/vala/vapi/libedataserver-1.2.vapi + +%files ui +%dir %{uimodules_dir} +%{_libdir}/libedataserverui-1.2.so.3 +%{_libdir}/libedataserverui-1.2.so.3.0.0 +%{_libdir}/girepository-1.0/EDataServerUI-1.2.typelib +%{modules_dir}/module-trust-prompt.so + +%files ui-devel +%{_includedir}/evolution-data-server/libedataserverui +%{_libdir}/libedataserverui-1.2.so +%{_libdir}/pkgconfig/libedataserverui-1.2.pc +%{_datadir}/gir-1.0/EDataServerUI-1.2.gir %{_datadir}/vala/vapi/libedataserverui-1.2.deps %{_datadir}/vala/vapi/libedataserverui-1.2.vapi @@ -480,6 +511,16 @@ find $RPM_BUILD_ROOT -name '*.so.*' -exec chmod +x {} \; %{_datadir}/installed-tests %changelog +* Thu Jan 11 2024 Milan Crha - 3.40.4-9 +- Resolves: RHEL-21361 (OAuth2: Enable HTML5 database and local storage features for web view) + +* Wed Oct 11 2023 Milan Crha - 3.40.4-8 +- Resolves: RHEL-12405 (Move WebKitGTK parts in Evolution Data Server into optional subpackage) +- Add requirement on ui subpackage into ui-devel subpackage + +* Tue Oct 10 2023 Milan Crha - 3.40.4-7 +- Resolves: RHEL-12405 (Move WebKitGTK parts in Evolution Data Server into optional subpackage) + * Tue May 24 2022 Milan Crha - 3.40.4-6 - Resolves: #2089902 (CalDAV: Crash on calendar update)