2020-07-13 16:48:47 +00:00
|
|
|
From 90969b9b36400d47b1afe761fb8468c1acb8a04a Mon Sep 17 00:00:00 2001
|
|
|
|
From: Thomas Tuegel <ttuegel@mailbox.org>
|
|
|
|
Date: Mon, 13 Jul 2020 11:41:19 -0500
|
|
|
|
Subject: [PATCH 1/3] akonadi paths
|
|
|
|
|
|
|
|
---
|
|
|
|
src/akonadicontrol/agentmanager.cpp | 4 ++--
|
|
|
|
src/akonadicontrol/agentprocessinstance.cpp | 2 +-
|
|
|
|
src/server/storage/dbconfigmysql.cpp | 26 ++++-----------------
|
|
|
|
src/server/storage/dbconfigpostgresql.cpp | 19 +++------------
|
|
|
|
4 files changed, 11 insertions(+), 40 deletions(-)
|
|
|
|
|
|
|
|
diff --git a/src/akonadicontrol/agentmanager.cpp b/src/akonadicontrol/agentmanager.cpp
|
|
|
|
index 23b4a1f..c13b658 100644
|
|
|
|
--- a/src/akonadicontrol/agentmanager.cpp
|
|
|
|
+++ b/src/akonadicontrol/agentmanager.cpp
|
|
|
|
@@ -61,7 +61,7 @@ public:
|
|
|
|
[]() {
|
|
|
|
QCoreApplication::instance()->exit(255);
|
|
|
|
});
|
|
|
|
- start(QStringLiteral("akonadiserver"), args, RestartOnCrash);
|
|
|
|
+ start(QLatin1String(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash);
|
|
|
|
}
|
2018-04-20 14:24:00 +00:00
|
|
|
|
2020-07-13 16:48:47 +00:00
|
|
|
~StorageProcessControl() override
|
|
|
|
@@ -84,7 +84,7 @@ public:
|
|
|
|
[]() {
|
|
|
|
qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!";
|
|
|
|
});
|
|
|
|
- start(QStringLiteral("akonadi_agent_server"), args, RestartOnCrash);
|
|
|
|
+ start(QLatin1String(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash);
|
2018-04-20 14:24:00 +00:00
|
|
|
}
|
|
|
|
|
2020-07-13 16:48:47 +00:00
|
|
|
~AgentServerProcessControl() override
|
|
|
|
diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp
|
|
|
|
index 4e58f7e..e8bb532 100644
|
|
|
|
--- a/src/akonadicontrol/agentprocessinstance.cpp
|
|
|
|
+++ b/src/akonadicontrol/agentprocessinstance.cpp
|
|
|
|
@@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo)
|
2018-04-20 14:24:00 +00:00
|
|
|
} else {
|
|
|
|
Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher);
|
|
|
|
const QStringList arguments = QStringList() << executable << identifier();
|
|
|
|
- const QString agentLauncherExec = Akonadi::StandardDirs::findExecutable(QStringLiteral("akonadi_agent_launcher"));
|
|
|
|
+ const QString agentLauncherExec = QLatin1String(NIX_OUT "/bin/akonadi_agent_launcher");
|
|
|
|
mController->start(agentLauncherExec, arguments);
|
|
|
|
}
|
|
|
|
return true;
|
2020-07-13 16:48:47 +00:00
|
|
|
diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp
|
|
|
|
index cac40f5..527649b 100644
|
|
|
|
--- a/src/server/storage/dbconfigmysql.cpp
|
|
|
|
+++ b/src/server/storage/dbconfigmysql.cpp
|
|
|
|
@@ -83,7 +83,6 @@ bool DbConfigMysql::init(QSettings &settings)
|
2017-05-18 23:28:17 +00:00
|
|
|
// determine default settings depending on the driver
|
|
|
|
QString defaultHostName;
|
|
|
|
QString defaultOptions;
|
|
|
|
- QString defaultServerPath;
|
|
|
|
QString defaultCleanShutdownCommand;
|
|
|
|
|
|
|
|
#ifndef Q_OS_WIN
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -92,16 +91,7 @@ bool DbConfigMysql::init(QSettings &settings)
|
2017-05-09 23:24:46 +00:00
|
|
|
#endif
|
2017-05-18 23:28:17 +00:00
|
|
|
|
|
|
|
const bool defaultInternalServer = true;
|
|
|
|
-#ifdef MYSQLD_EXECUTABLE
|
|
|
|
- if (QFile::exists(QStringLiteral(MYSQLD_EXECUTABLE))) {
|
|
|
|
- defaultServerPath = QStringLiteral(MYSQLD_EXECUTABLE);
|
|
|
|
- }
|
|
|
|
-#endif
|
|
|
|
- if (defaultServerPath.isEmpty()) {
|
2019-02-21 15:29:04 +00:00
|
|
|
- defaultServerPath = findExecutable(QStringLiteral("mysqld"));
|
2017-05-18 23:28:17 +00:00
|
|
|
- }
|
2018-04-20 14:24:00 +00:00
|
|
|
-
|
2019-02-21 15:29:04 +00:00
|
|
|
- const QString mysqladminPath = findExecutable(QStringLiteral("mysqladmin"));
|
2017-05-23 11:55:36 +00:00
|
|
|
+ const QString mysqladminPath = QLatin1String(NIXPKGS_MYSQL_MYSQLADMIN);
|
2017-05-09 23:24:46 +00:00
|
|
|
if (!mysqladminPath.isEmpty()) {
|
|
|
|
#ifndef Q_OS_WIN
|
2019-08-16 11:52:03 +00:00
|
|
|
defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/%4 shutdown")
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -111,10 +101,10 @@ bool DbConfigMysql::init(QSettings &settings)
|
2017-05-09 23:24:46 +00:00
|
|
|
#endif
|
|
|
|
}
|
|
|
|
|
2019-02-21 15:29:04 +00:00
|
|
|
- mMysqlInstallDbPath = findExecutable(QStringLiteral("mysql_install_db"));
|
2017-05-23 11:55:36 +00:00
|
|
|
+ mMysqlInstallDbPath = QLatin1String(NIXPKGS_MYSQL_MYSQL_INSTALL_DB);
|
2017-05-09 23:24:46 +00:00
|
|
|
qCDebug(AKONADISERVER_LOG) << "Found mysql_install_db: " << mMysqlInstallDbPath;
|
|
|
|
|
2019-02-21 15:29:04 +00:00
|
|
|
- mMysqlCheckPath = findExecutable(QStringLiteral("mysqlcheck"));
|
2017-05-23 11:55:36 +00:00
|
|
|
+ mMysqlCheckPath = QLatin1String(NIXPKGS_MYSQL_MYSQLCHECK);
|
2017-05-09 23:24:46 +00:00
|
|
|
qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath;
|
|
|
|
|
|
|
|
mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool();
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -131,7 +121,7 @@ bool DbConfigMysql::init(QSettings &settings)
|
2017-05-09 23:24:46 +00:00
|
|
|
mUserName = settings.value(QStringLiteral("User")).toString();
|
|
|
|
mPassword = settings.value(QStringLiteral("Password")).toString();
|
|
|
|
mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
|
|
|
|
- mMysqldPath = settings.value(QStringLiteral("ServerPath"), defaultServerPath).toString();
|
2017-05-23 11:55:36 +00:00
|
|
|
+ mMysqldPath = QLatin1String(NIXPKGS_MYSQL_MYSQLD);
|
2017-05-09 23:24:46 +00:00
|
|
|
mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString();
|
|
|
|
settings.endGroup();
|
|
|
|
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -141,9 +131,6 @@ bool DbConfigMysql::init(QSettings &settings)
|
2017-05-18 23:28:17 +00:00
|
|
|
// intentionally not namespaced as we are the only one in this db instance when using internal mode
|
|
|
|
mDatabaseName = QStringLiteral("akonadi");
|
|
|
|
}
|
|
|
|
- if (mInternalServer && (mMysqldPath.isEmpty() || !QFile::exists(mMysqldPath))) {
|
|
|
|
- mMysqldPath = defaultServerPath;
|
|
|
|
- }
|
|
|
|
|
|
|
|
qCDebug(AKONADISERVER_LOG) << "Using mysqld:" << mMysqldPath;
|
|
|
|
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -152,9 +139,6 @@ bool DbConfigMysql::init(QSettings &settings)
|
2017-05-18 23:28:17 +00:00
|
|
|
settings.setValue(QStringLiteral("Name"), mDatabaseName);
|
|
|
|
settings.setValue(QStringLiteral("Host"), mHostName);
|
|
|
|
settings.setValue(QStringLiteral("Options"), mConnectionOptions);
|
|
|
|
- if (!mMysqldPath.isEmpty()) {
|
|
|
|
- settings.setValue(QStringLiteral("ServerPath"), mMysqldPath);
|
|
|
|
- }
|
|
|
|
settings.setValue(QStringLiteral("StartServer"), mInternalServer);
|
|
|
|
settings.endGroup();
|
|
|
|
settings.sync();
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -209,7 +193,7 @@ bool DbConfigMysql::startInternalServer()
|
2017-05-09 23:24:46 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
// generate config file
|
2018-04-20 14:24:00 +00:00
|
|
|
- const QString globalConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-global.conf"));
|
2017-05-23 11:55:36 +00:00
|
|
|
+ const QString globalConfig = QLatin1String(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf");
|
2018-04-20 14:24:00 +00:00
|
|
|
const QString localConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf"));
|
2017-05-09 23:24:46 +00:00
|
|
|
const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf");
|
|
|
|
if (globalConfig.isEmpty()) {
|
2020-07-13 16:48:47 +00:00
|
|
|
diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp
|
|
|
|
index 09cdbd5..1c8996b 100644
|
|
|
|
--- a/src/server/storage/dbconfigpostgresql.cpp
|
|
|
|
+++ b/src/server/storage/dbconfigpostgresql.cpp
|
|
|
|
@@ -141,9 +141,7 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
2017-05-18 23:30:35 +00:00
|
|
|
// determine default settings depending on the driver
|
|
|
|
QString defaultHostName;
|
|
|
|
QString defaultOptions;
|
|
|
|
- QString defaultServerPath;
|
|
|
|
QString defaultInitDbPath;
|
2019-08-16 11:52:03 +00:00
|
|
|
- QString defaultPgUpgradePath;
|
2017-05-18 23:30:35 +00:00
|
|
|
QString defaultPgData;
|
2017-05-09 23:24:46 +00:00
|
|
|
|
2019-08-16 11:52:03 +00:00
|
|
|
#ifndef Q_WS_WIN // We assume that PostgreSQL is running as service on Windows
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -154,12 +152,8 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
2017-05-18 23:30:35 +00:00
|
|
|
|
|
|
|
mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool();
|
|
|
|
if (mInternalServer) {
|
2019-08-16 11:52:03 +00:00
|
|
|
- const auto paths = postgresSearchPaths(QStringLiteral("/usr/lib/postgresql"));
|
2017-05-18 23:30:35 +00:00
|
|
|
-
|
2019-08-16 11:52:03 +00:00
|
|
|
- defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("pg_ctl"), paths);
|
|
|
|
- defaultInitDbPath = QStandardPaths::findExecutable(QStringLiteral("initdb"), paths);
|
2017-05-23 11:55:36 +00:00
|
|
|
+ defaultInitDbPath = QLatin1String(NIXPKGS_POSTGRES_INITDB);
|
2017-05-09 23:24:46 +00:00
|
|
|
defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc")));
|
2019-08-16 11:52:03 +00:00
|
|
|
- defaultPgUpgradePath = QStandardPaths::findExecutable(QStringLiteral("pg_upgrade"), paths);
|
2017-05-09 23:24:46 +00:00
|
|
|
defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data"));
|
|
|
|
}
|
2019-08-16 11:52:03 +00:00
|
|
|
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -178,20 +172,14 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
2017-05-18 23:30:35 +00:00
|
|
|
mUserName = settings.value(QStringLiteral("User")).toString();
|
|
|
|
mPassword = settings.value(QStringLiteral("Password")).toString();
|
|
|
|
mConnectionOptions = settings.value(QStringLiteral("Options"), defaultOptions).toString();
|
|
|
|
- mServerPath = settings.value(QStringLiteral("ServerPath"), defaultServerPath).toString();
|
|
|
|
- if (mInternalServer && mServerPath.isEmpty()) {
|
|
|
|
- mServerPath = defaultServerPath;
|
|
|
|
- }
|
2017-05-23 11:55:36 +00:00
|
|
|
+ mServerPath = QLatin1String(NIXPKGS_POSTGRES_PG_CTL);
|
2017-05-18 23:30:35 +00:00
|
|
|
qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath;
|
|
|
|
mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString();
|
|
|
|
if (mInternalServer && mInitDbPath.isEmpty()) {
|
2019-08-16 11:52:03 +00:00
|
|
|
mInitDbPath = defaultInitDbPath;
|
|
|
|
}
|
|
|
|
qCDebug(AKONADISERVER_LOG) << "Found initdb:" << mServerPath;
|
|
|
|
- mPgUpgradePath = settings.value(QStringLiteral("UpgradePath"), defaultPgUpgradePath).toString();
|
|
|
|
- if (mInternalServer && mPgUpgradePath.isEmpty()) {
|
|
|
|
- mPgUpgradePath = defaultPgUpgradePath;
|
|
|
|
- }
|
|
|
|
+ mPgUpgradePath = QLatin1String(NIXPKGS_POSTGRES_PG_UPGRADE);
|
|
|
|
qCDebug(AKONADISERVER_LOG) << "Found pg_upgrade:" << mPgUpgradePath;
|
|
|
|
mPgData = settings.value(QStringLiteral("PgData"), defaultPgData).toString();
|
|
|
|
if (mPgData.isEmpty()) {
|
2020-07-13 16:48:47 +00:00
|
|
|
@@ -207,7 +195,6 @@ bool DbConfigPostgresql::init(QSettings &settings)
|
2017-05-18 23:30:35 +00:00
|
|
|
settings.setValue(QStringLiteral("Port"), mHostPort);
|
|
|
|
}
|
|
|
|
settings.setValue(QStringLiteral("Options"), mConnectionOptions);
|
|
|
|
- settings.setValue(QStringLiteral("ServerPath"), mServerPath);
|
|
|
|
settings.setValue(QStringLiteral("InitDbPath"), mInitDbPath);
|
|
|
|
settings.setValue(QStringLiteral("StartServer"), mInternalServer);
|
|
|
|
settings.endGroup();
|
2020-07-13 16:48:47 +00:00
|
|
|
--
|
|
|
|
2.25.4
|
|
|
|
|