Initial Import (fedora#2253490).

This commit is contained in:
Steve Cossette 2023-12-07 16:43:46 -05:00
commit 986e1b15c1
6 changed files with 310 additions and 0 deletions

1
.gitignore vendored Normal file
View file

@ -0,0 +1 @@
/akonadi-24.01.80.tar.xz

View file

@ -0,0 +1,63 @@
From 857e22ecef960652f26e2793f57fc4fdb44dea20 Mon Sep 17 00:00:00 2001
From: Nicolas Fella <nicolas.fella@gmx.de>
Date: Mon, 4 Dec 2023 15:00:38 +0100
Subject: [PATCH] Reenable and fix KAccounts integration
---
CMakeLists.txt | 6 +++---
src/agentbase/CMakeLists.txt | 2 +-
src/agentbase/accountsintegration.cpp | 4 ++--
3 files changed, 6 insertions(+), 6 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 73cd9dd16..421c175ab 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -91,13 +91,13 @@ set_package_properties(AccountsQt6 PROPERTIES
TYPE OPTIONAL
)
set(KAccounts_MINIMUM_VERSION "19.08.0")
-find_package(KAccounts ${KAccounts_MINIMUM_VERSION})
-set_package_properties(KAccounts PROPERTIES
+find_package(KAccounts6 ${KAccounts_MINIMUM_VERSION})
+set_package_properties(KAccounts6 PROPERTIES
DESCRIPTION "KDE library for Accounts framework integration"
URL "https://cgit.kde.org/kaccounts-integration.git"
TYPE OPTIONAL
)
-if (${AccountsQt6_FOUND} AND ${KAccounts_FOUND})
+if (${AccountsQt6_FOUND} AND ${KAccounts6_FOUND})
set(WITH_ACCOUNTS TRUE)
endif()
diff --git a/src/agentbase/CMakeLists.txt b/src/agentbase/CMakeLists.txt
index 4391db014..3f5467ea4 100644
--- a/src/agentbase/CMakeLists.txt
+++ b/src/agentbase/CMakeLists.txt
@@ -94,7 +94,7 @@ PRIVATE
)
if (WITH_ACCOUNTS)
- target_link_libraries(KPim6AkonadiAgentBase PRIVATE KAccounts Qt::Xml)
+ target_link_libraries(KPim6AkonadiAgentBase PRIVATE KAccounts6 Qt::Xml)
target_include_directories(KPim6AkonadiAgentBase PRIVATE ${ACCOUNTSQT_INCLUDE_DIRS})
endif()
diff --git a/src/agentbase/accountsintegration.cpp b/src/agentbase/accountsintegration.cpp
index 40b43317a..ec2eedacf 100644
--- a/src/agentbase/accountsintegration.cpp
+++ b/src/agentbase/accountsintegration.cpp
@@ -16,8 +16,8 @@
#if WITH_ACCOUNTS
#include <Accounts/Account>
#include <Accounts/Manager>
-#include <Core>
-#include <GetCredentialsJob>
+#include <KAccounts/Core>
+#include <KAccounts/GetCredentialsJob>
#endif
using namespace Akonadi;
--
GitLab

241
akonadi-server.spec Normal file
View file

@ -0,0 +1,241 @@
%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 <farchord@gmail.com> - 24.01.80-1
- 24.01.80

2
akonadiserverrc.mysql Normal file
View file

@ -0,0 +1,2 @@
[%General]
Driver=QMYSQL

2
akonadiserverrc.sqlite Normal file
View file

@ -0,0 +1,2 @@
[%General]
Driver=QSQLITE3

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (akonadi-24.01.80.tar.xz) = 663dfb5ed7133991d086bbdc1a27b06d520d7f0e5e49adbd0e079f55a60d6b3281a81ec9b7eac5f4a7af76926cd1a10cb7b11a14a061f52c8c7c7346a46b3d88