commit:     ad6164c4231be0ed8fc999429a0d3482a6ec124b
Author:     Michael Mair-Keimberger <mm1ke <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:50:44 2026 +0000
Commit:     Michael Mair-Keimberger <mm1ke <AT> gentoo <DOT> org>
CommitDate: Tue Feb 17 15:50:44 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ad6164c4

kde-apps/akonadi: remove unused patch(es)

Signed-off-by: Michael Mair-Keimberger <mm1ke <AT> gentoo.org>

 .../files/akonadi-25.08.3-fix-db-migration.patch   | 210 ---------------------
 1 file changed, 210 deletions(-)

diff --git a/kde-apps/akonadi/files/akonadi-25.08.3-fix-db-migration.patch 
b/kde-apps/akonadi/files/akonadi-25.08.3-fix-db-migration.patch
deleted file mode 100644
index f79f53ab6f42..000000000000
--- a/kde-apps/akonadi/files/akonadi-25.08.3-fix-db-migration.patch
+++ /dev/null
@@ -1,210 +0,0 @@
-From 2e90160b6c68abe19351691a06e201c66101dcb3 Mon Sep 17 00:00:00 2001
-From: Christoph Erhardt <[email protected]>
-Date: Thu, 16 Oct 2025 18:44:07 +0200
-Subject: [PATCH 1/4] fix(storage): segfault during database migration
-
-The `akonadi-db-migrator` tool reproducibly crashes with a segmentation
-fault (or a failed assertion if built in debug mode) while executing
-`prepareDatabase()` on the destination configuration.
-
-The root cause is that both `DbInitializer` and `DbUpdater` expect
-`SchemaVersionTable` to be populated. This assumption is not met by a
-freshly created destination database: the table itself exists, but it is
-empty at this point. Consequently, `SchemaVersion::retrieveAll()`
-returns an empty list and the subsequent attempt to obtain its first
-element triggers an out-of-bounds read.
-
-Fix the issue by checking for an empty result list in both places.
-
-Refs: https://bugs.kde.org/show_bug.cgi?id=493393
----
- src/server/storage/dbinitializer.cpp | 17 +++++++++++------
- src/server/storage/dbupdater.cpp     |  8 ++++++--
- 2 files changed, 17 insertions(+), 8 deletions(-)
-
-diff --git a/src/server/storage/dbinitializer.cpp 
b/src/server/storage/dbinitializer.cpp
-index 01b3359b7..3f430ae4d 100644
---- a/src/server/storage/dbinitializer.cpp
-+++ b/src/server/storage/dbinitializer.cpp
-@@ -79,12 +79,17 @@ bool DbInitializer::run()
- #ifndef DBINITIALIZER_UNITTEST
-         // Now finally check and set the generation identifier if necessary
-         auto store = DataStore::dataStoreForDatabase(mDatabase);
--        SchemaVersion version = SchemaVersion::retrieveAll(store).at(0);
--        if (version.generation() == 0) {
--            
version.setGeneration(QDateTime::currentDateTimeUtc().toSecsSinceEpoch());
--            version.update(store);
--
--            qCDebug(AKONADISERVER_LOG) << "Generation:" << 
version.generation();
-+        const auto schemaVersions = SchemaVersion::retrieveAll(store);
-+        if (schemaVersions.empty()) {
-+            qCDebug(AKONADISERVER_LOG) << "DbInitializer: SchemaVersion not 
found; skipping generation update";
-+        } else {
-+            auto version = schemaVersions.at(0);
-+            if (version.generation() == 0) {
-+                
version.setGeneration(QDateTime::currentDateTimeUtc().toSecsSinceEpoch());
-+                version.update(store);
-+
-+                qCDebug(AKONADISERVER_LOG) << "Generation:" << 
version.generation();
-+            }
-         }
- #endif
- 
-diff --git a/src/server/storage/dbupdater.cpp 
b/src/server/storage/dbupdater.cpp
-index 527cb4f65..38976e0ea 100644
---- a/src/server/storage/dbupdater.cpp
-+++ b/src/server/storage/dbupdater.cpp
-@@ -42,9 +42,13 @@ DbUpdater::DbUpdater(const QSqlDatabase &database, const 
QString &filename)
- 
- bool DbUpdater::run()
- {
--    // TODO error handling
-     auto store = DataStore::dataStoreForDatabase(m_database);
--    auto currentVersion = SchemaVersion::retrieveAll(store).at(0);
-+    const auto schemaVersions = SchemaVersion::retrieveAll(store);
-+    if (schemaVersions.empty()) {
-+        qCDebug(AKONADISERVER_LOG) << "DbUpdater: SchemaVersion not found; 
skipping schema update";
-+        return true;
-+    }
-+    auto currentVersion = schemaVersions.at(0);
- 
-     UpdateSet::Map updates;
- 
--- 
-GitLab
-
-
-From 63eb46ac4c77ed57a7b9afee2ecddfba9a3aa3a4 Mon Sep 17 00:00:00 2001
-From: Christoph Erhardt <[email protected]>
-Date: Fri, 17 Oct 2025 23:46:59 +0200
-Subject: [PATCH 2/4] fix(dbmigrator): remove leftover entries in
- `db_migration` directory
-
-This avoids potential issues when `db_migration` already contains a
-stale database created with an old schema version.
----
- src/server/dbmigrator/dbmigrator.cpp | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/src/server/dbmigrator/dbmigrator.cpp 
b/src/server/dbmigrator/dbmigrator.cpp
-index 575a9da16..402e55452 100644
---- a/src/server/dbmigrator/dbmigrator.cpp
-+++ b/src/server/dbmigrator/dbmigrator.cpp
-@@ -326,6 +326,19 @@ std::unique_ptr<DbConfig> dbConfigFromServerRc(const 
QString &configFile, bool o
-     }
- 
-     const auto dbPath = overrideDbPath ? StandardDirs::saveDir("data", 
QStringLiteral("db_migration%1").arg(dbPathSuffix)) : QString{};
-+
-+    if (overrideDbPath) {
-+        // Remove any directory entries left over from a previous run
-+        try {
-+            for (const auto &dirEntry : 
std::filesystem::directory_iterator(dbPath.toStdString())) {
-+                std::filesystem::remove_all(dirEntry.path());
-+            }
-+        } catch (const std::filesystem::filesystem_error &e) {
-+            qCCritical(AKONADIDBMIGRATOR_LOG) << "Error: failed to clear 
migration directory " << dbPath << ": " << e.what();
-+            return {};
-+        }
-+    }
-+
-     config->init(settings, true, dbPath);
- 
-     return config;
--- 
-GitLab
-
-
-From 9a730ddf1938666d98552d592de1c9867ce6dc84 Mon Sep 17 00:00:00 2001
-From: Christoph Erhardt <[email protected]>
-Date: Thu, 16 Oct 2025 18:45:14 +0200
-Subject: [PATCH 3/4] chore: remove unused `#include`s
-
-Reported by clang-tidy.
----
- src/server/collectionscheduler.cpp       | 1 -
- src/server/storage/collectiontreecache.h | 2 --
- src/server/storage/dbinitializer.cpp     | 2 --
- 3 files changed, 5 deletions(-)
-
-diff --git a/src/server/collectionscheduler.cpp 
b/src/server/collectionscheduler.cpp
-index 41ca84ece..82098600d 100644
---- a/src/server/collectionscheduler.cpp
-+++ b/src/server/collectionscheduler.cpp
-@@ -9,7 +9,6 @@
- #include "storage/datastore.h"
- #include "storage/selectquerybuilder.h"
- 
--#include "private/tristate_p.h"
- #include <chrono>
- 
- #include <QDateTime>
-diff --git a/src/server/storage/collectiontreecache.h 
b/src/server/storage/collectiontreecache.h
-index d64e73cdb..cd741e749 100644
---- a/src/server/storage/collectiontreecache.h
-+++ b/src/server/storage/collectiontreecache.h
-@@ -9,8 +9,6 @@
- #include "akthread.h"
- #include "entities.h"
- 
--#include "private/tristate_p.h"
--
- #include <QHash>
- #include <QList>
- #include <QReadWriteLock>
-diff --git a/src/server/storage/dbinitializer.cpp 
b/src/server/storage/dbinitializer.cpp
-index 3f430ae4d..3a58acf89 100644
---- a/src/server/storage/dbinitializer.cpp
-+++ b/src/server/storage/dbinitializer.cpp
-@@ -20,8 +20,6 @@
- 
- #include <algorithm>
- 
--#include "private/tristate_p.h"
--
- using namespace Akonadi::Server;
- 
- DbInitializer::Ptr DbInitializer::createInstance(const QSqlDatabase 
&database, Schema *schema)
--- 
-GitLab
-
-
-From 19740df0fd4eaf2c5bb6e3d53a1daa32496ee01d Mon Sep 17 00:00:00 2001
-From: Christoph Erhardt <[email protected]>
-Date: Thu, 16 Oct 2025 18:46:15 +0200
-Subject: [PATCH 4/4] chore: use `QDateTime::currentSecsSinceEpoch()`
-
-Recommended by clazy.
----
- src/server/search/searchmanager.cpp  | 2 +-
- src/server/storage/dbinitializer.cpp | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/server/search/searchmanager.cpp 
b/src/server/search/searchmanager.cpp
-index 7f7d7d05d..17072f28d 100644
---- a/src/server/search/searchmanager.cpp
-+++ b/src/server/search/searchmanager.cpp
-@@ -294,7 +294,7 @@ void SearchManager::updateSearchImpl(const Collection 
&collection)
-     }
- 
-     // Query all plugins for search results
--    const QByteArray id = "searchUpdate-" + 
QByteArray::number(QDateTime::currentDateTimeUtc().toSecsSinceEpoch());
-+    const QByteArray id = "searchUpdate-" + 
QByteArray::number(QDateTime::currentSecsSinceEpoch());
-     SearchRequest request(id, *this, mAgentSearchManager);
-     request.setCollections(queryCollections);
-     request.setMimeTypes(queryMimeTypes);
-diff --git a/src/server/storage/dbinitializer.cpp 
b/src/server/storage/dbinitializer.cpp
-index 3a58acf89..4e8d18a07 100644
---- a/src/server/storage/dbinitializer.cpp
-+++ b/src/server/storage/dbinitializer.cpp
-@@ -83,7 +83,7 @@ bool DbInitializer::run()
-         } else {
-             auto version = schemaVersions.at(0);
-             if (version.generation() == 0) {
--                
version.setGeneration(QDateTime::currentDateTimeUtc().toSecsSinceEpoch());
-+                version.setGeneration(QDateTime::currentSecsSinceEpoch());
-                 version.update(store);
- 
-                 qCDebug(AKONADISERVER_LOG) << "Generation:" << 
version.generation();
--- 
-GitLab
-

Reply via email to