%if 0%{?flatpak} %global database_backend SQLITE %endif Name: akonadi-server Summary: PIM Storage Service Version: 24.01.80 Release: 1%{?dist} License: BSD-3-Clause AND CC0-1.0 AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-only AND LGPL-2.0-only AND LGPL-2.0-or-later AND LGPL-2.1-or-later AND LicenseRef-KDE-Accepted-GPL AND MIT URL: https://invent.kde.org/frameworks/akonadi Source0: https://download.kde.org/%{stable_kf6}/release-service/%{version}/src/akonadi-%{version}.tar.xz ## mysql config Source10: akonadiserverrc.mysql Source11: akonadiserverrc.sqlite Patch1: akonadi-24.01.80-reenable-kaccounts.patch ## upstreamable patches ## upstream patches (lookaside cache) ## downstream patches %define mysql_conf_timestamp 20170512 BuildRequires: extra-cmake-modules BuildRequires: kf6-rpm-macros BuildRequires: qt6-qtbase-devel BuildRequires: cmake(KF6ItemViews) BuildRequires: cmake(KF6KIO) BuildRequires: cmake(KF6Config) BuildRequires: cmake(KF6I18n) BuildRequires: cmake(KF6DBusAddons) BuildRequires: cmake(KF6ItemModels) BuildRequires: cmake(KF6GuiAddons) BuildRequires: cmake(KF6IconThemes) BuildRequires: cmake(KF6WindowSystem) BuildRequires: cmake(KF6Completion) BuildRequires: cmake(KF6Crash) BuildRequires: boost-devel BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(shared-mime-info) BuildRequires: pkgconfig(sqlite3) >= 3.6.23 ## (some) optional deps BuildRequires: pkgconfig(Qt6Designer) BuildRequires: cmake(AccountsQt6) BuildRequires: cmake(KAccounts6) # ^^ sqlite3 driver plugin needs versioned qt6 dep BuildRequires: qt6-qtbase-private-devel %if ! 0%{?flatpak} BuildRequires: mysql-server %endif Requires(post): /usr/sbin/update-alternatives Requires(postun): /usr/sbin/update-alternatives %if ! 0%{?flatpak} Recommends: %{name}-mysql = %{version}-%{release} %endif Conflicts: akonadi < 1.13.0-100 %description %{summary}. %package devel Summary: Developer files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: cmake(KF6Config) Requires: cmake(KF6ConfigWidgets) Requires: cmake(KF6CoreAddons) Requires: cmake(KF6ItemModels) Requires: cmake(KF6XmlGui) Requires: cmake(Qt6Core) Requires: cmake(Qt6DBus) Requires: cmake(Qt6Gui) Requires: cmake(Qt6Network) Requires: cmake(Qt6Widgets) Requires: cmake(Qt6Xml) # For testing Requires: cmake(Qt6Test) Requires: cmake(KF6KIO) # at least dbus-1/interfaces conflict, maybe more -- rex Conflicts: akonadi-devel Conflicts: kf5-akonadi-server-devel %description devel %{summary}. %package mysql Summary: Akonadi MySQL backend support # upgrade path Provides: akonadi-mysql = %{version}-%{release} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: mysql-server Requires: qt6-qtbase-mysql%{?_isa} Requires(post): /usr/sbin/update-alternatives Requires(postun): /usr/sbin/update-alternatives %description mysql Configures akonadi to use mysql backend by default. Requires an available instance of mysql server at runtime. Akonadi can spawn a per-user one automatically if the mysql-server package is installed on the machine. See also: %{_sysconfdir}/akonadi/mysql-global.conf %prep %autosetup -n akonadi-%{version} -p1 %build %cmake_kf6 \ %{?database_backend:-DDATABASE_BACKEND=%{database_backend}} \ -DINSTALL_APPARMOR:BOOL=OFF \ -DMYSQLD_EXECUTABLE:FILEPATH=%{_libexecdir}/mysqld \ -DMYSQLD_SCRIPTS_PATH:FILEPATH=%{_bindir}/mysql_install_db \ -DPOSTGRES_PATH:FILEPATH=%{_bindir}/pg_ctl %cmake_build %install %cmake_install %find_lang libakonadi5 %find_lang akonadi_knut_resource cat akonadi_knut_resource.lang >> libakonadi5.lang install -p -m644 -D %{SOURCE10} %{buildroot}%{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql install -p -m644 -D %{SOURCE11} %{buildroot}%{_sysconfdir}/xdg/akonadi/akonadiserverrc.sqlite mkdir -p %{buildroot}%{_datadir}/akonadi/agents touch -d %{mysql_conf_timestamp} \ %{buildroot}%{_sysconfdir}/xdg/akonadi/mysql-global*.conf \ %{buildroot}%{_sysconfdir}/xdg/akonadi/mysql-local.conf # create/own these dirs mkdir -p %{buildroot}%{_kf6_datadir}/akonadi/plugins mkdir -p %{buildroot}%{_kf6_libdir}/akonadi # %%ghost'd global akonadiserverrc touch akonadiserverrc install -p -m644 -D akonadiserverrc %{buildroot}%{_sysconfdir}/xdg/akonadi/akonadiserverrc ## unpackaged files # omit mysql-global-mobile.conf rm -fv %{buildroot}%{_sysconfdir}/xdg/akonadi/mysql-global-mobile.conf %post /usr/sbin/update-alternatives \ --install %{_sysconfdir}/xdg/akonadi/akonadiserverrc \ akonadiserverrc \ %{_sysconfdir}/xdg/akonadi/akonadiserverrc.sqlite \ 8 %postun if [ $1 -eq 0 ] ; then /usr/sbin/update-alternatives \ --remove akonadiserverrc \ %{_sysconfdir}/xdg/akonadi/akonadiserverrc.sqlite fi %files -f libakonadi5.lang %doc AUTHORS %doc README* %license LICENSES/* %dir %{_sysconfdir}/xdg/akonadi/ %ghost %config(missingok,noreplace) %{_sysconfdir}/xdg/akonadi/akonadiserverrc %config(noreplace) %{_sysconfdir}/xdg/akonadi/akonadiserverrc.sqlite %{_kf6_datadir}/qlogging-categories6/akonadi.* %{_kf6_bindir}/akonadi_agent_launcher %{_kf6_bindir}/akonadi_agent_server %{_kf6_bindir}/akonadi_control %{_kf6_bindir}/akonadi_rds %{_kf6_bindir}/akonadictl %{_kf6_bindir}/akonadiserver %{_kf6_bindir}/asapcat %{_kf6_bindir}/akonadi2xml %{_kf6_bindir}/akonadiselftest %{_kf6_bindir}/akonaditest %{_kf6_datadir}/dbus-1/services/org.freedesktop.Akonadi.*.service %{_kf6_datadir}/mime/packages/akonadi-mime.xml %{_kf6_datadir}/akonadi/ %{_kf6_datadir}/config.kcfg/resourcebase.kcfg %{_kf6_datadir}/kf6/akonadi/ %{_kf6_qtplugindir}/designer/akonadi6widgets.so %{_kf6_libdir}/libKPim6Akonadi*.so.* %{_kf6_datadir}/icons/hicolor/*/apps/akonadi.* # akonadi_knut_resource %{_kf6_bindir}/akonadi_knut_resource %{_kf6_datadir}/kf6/akonadi_knut_resource/ %files devel %{_kf6_datadir}/dbus-1/interfaces/org.freedesktop.Akonadi.*.xml %{_includedir}/KPim6/Akonadi/ %{_includedir}/KPim6/AkonadiAgentBase/ %{_includedir}/KPim6/AkonadiCore/ %{_includedir}/KPim6/AkonadiWidgets/ %{_includedir}/KPim6/AkonadiXml/ %{_kf6_libdir}/libKPim6Akonadi*.so %{_kf6_libdir}/cmake/KPim6Akonadi/ %{_kf6_qtplugindir}/pim6/akonadi/akonadi_test_searchplugin.so %{_kf6_datadir}/kdevappwizard/templates/akonadiresource.tar.bz2 %{_kf6_datadir}/kdevappwizard/templates/akonadiserializer.tar.bz2 %post mysql /usr/sbin/update-alternatives \ --install %{_sysconfdir}/xdg/akonadi/akonadiserverrc \ akonadiserverrc \ %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql \ 10 %postun mysql if [ $1 -eq 0 ]; then /usr/sbin/update-alternatives \ --remove akonadiserverrc \ %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql fi %files mysql %config(noreplace) %{_sysconfdir}/xdg/akonadi/akonadiserverrc.mysql %config(noreplace) %{_sysconfdir}/xdg/akonadi/mysql-global.conf %config(noreplace) %{_sysconfdir}/xdg/akonadi/mysql-local.conf %changelog * Wed Dec 6 2023 Steve Cossette - 24.01.80-1 - 24.01.80