From ca8ff6e6d527ee968300cce5e8cd148f6a4d256b Mon Sep 17 00:00:00 2001 From: Thomas Tuegel Date: Sun, 25 Apr 2021 08:00:10 -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 44ceec5..eb5fa50 100644 --- a/src/akonadicontrol/agentmanager.cpp +++ b/src/akonadicontrol/agentmanager.cpp @@ -47,7 +47,7 @@ public: connect(this, &Akonadi::ProcessControl::unableToStart, this, []() { QCoreApplication::instance()->exit(255); }); - start(QStringLiteral("akonadiserver"), args, RestartOnCrash); + start(QStringLiteral(NIX_OUT "/bin/akonadiserver"), args, RestartOnCrash); } ~StorageProcessControl() override @@ -69,7 +69,7 @@ public: connect(this, &Akonadi::ProcessControl::unableToStart, this, []() { qCCritical(AKONADICONTROL_LOG) << "Failed to start AgentServer!"; }); - start(QStringLiteral("akonadi_agent_server"), args, RestartOnCrash); + start(QStringLiteral(NIX_OUT "/bin/akonadi_agent_server"), args, RestartOnCrash); } ~AgentServerProcessControl() override diff --git a/src/akonadicontrol/agentprocessinstance.cpp b/src/akonadicontrol/agentprocessinstance.cpp index 8e92e08..f98dfd8 100644 --- a/src/akonadicontrol/agentprocessinstance.cpp +++ b/src/akonadicontrol/agentprocessinstance.cpp @@ -47,7 +47,7 @@ bool AgentProcessInstance::start(const AgentType &agentInfo) } 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; diff --git a/src/server/storage/dbconfigmysql.cpp b/src/server/storage/dbconfigmysql.cpp index 1a437ac..3550f9d 100644 --- a/src/server/storage/dbconfigmysql.cpp +++ b/src/server/storage/dbconfigmysql.cpp @@ -72,7 +72,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; - QString defaultServerPath; QString defaultCleanShutdownCommand; #ifndef Q_OS_WIN @@ -80,16 +79,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) #endif const bool defaultInternalServer = true; -#ifdef MYSQLD_EXECUTABLE - if (QFile::exists(QStringLiteral(MYSQLD_EXECUTABLE))) { - defaultServerPath = QStringLiteral(MYSQLD_EXECUTABLE); - } -#endif - if (defaultServerPath.isEmpty()) { - defaultServerPath = findExecutable(QStringLiteral("mysqld")); - } - - const QString mysqladminPath = findExecutable(QStringLiteral("mysqladmin")); + const QString mysqladminPath = QLatin1String(NIXPKGS_MYSQL_MYSQLADMIN); if (!mysqladminPath.isEmpty()) { #ifndef Q_OS_WIN defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/%4 shutdown") @@ -99,10 +89,10 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) #endif } - mMysqlInstallDbPath = findExecutable(QStringLiteral("mysql_install_db")); + mMysqlInstallDbPath = QLatin1String(NIXPKGS_MYSQL_MYSQL_INSTALL_DB); qCDebug(AKONADISERVER_LOG) << "Found mysql_install_db: " << mMysqlInstallDbPath; - mMysqlCheckPath = findExecutable(QStringLiteral("mysqlcheck")); + mMysqlCheckPath = QLatin1String(NIXPKGS_MYSQL_MYSQLCHECK); qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath; mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool(); @@ -119,7 +109,7 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) 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(); + mMysqldPath = QLatin1String(NIXPKGS_MYSQL_MYSQLD); mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString(); settings.endGroup(); @@ -129,9 +119,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) // 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; @@ -141,9 +128,6 @@ bool DbConfigMysql::init(QSettings &settings, bool storeSettings) 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(); @@ -215,7 +199,7 @@ bool DbConfigMysql::startInternalServer() #endif // generate config file - const QString globalConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-global.conf")); + const QString globalConfig = QLatin1String(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf"); const QString localConfig = StandardDirs::locateResourceFile("config", QStringLiteral("mysql-local.conf")); const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf"); if (globalConfig.isEmpty()) { diff --git a/src/server/storage/dbconfigpostgresql.cpp b/src/server/storage/dbconfigpostgresql.cpp index 4df61da..e3469c4 100644 --- a/src/server/storage/dbconfigpostgresql.cpp +++ b/src/server/storage/dbconfigpostgresql.cpp @@ -125,9 +125,7 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) // determine default settings depending on the driver QString defaultHostName; QString defaultOptions; - QString defaultServerPath; QString defaultInitDbPath; - QString defaultPgUpgradePath; QString defaultPgData; #ifndef Q_WS_WIN // We assume that PostgreSQL is running as service on Windows @@ -138,12 +136,8 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) mInternalServer = settings.value(QStringLiteral("QPSQL/StartServer"), defaultInternalServer).toBool(); if (mInternalServer) { - const auto paths = postgresSearchPaths(QStringLiteral("/usr/lib/postgresql")); - - defaultServerPath = QStandardPaths::findExecutable(QStringLiteral("pg_ctl"), paths); - defaultInitDbPath = QStandardPaths::findExecutable(QStringLiteral("initdb"), paths); + defaultInitDbPath = QLatin1String(NIXPKGS_POSTGRES_INITDB); defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc"))); - defaultPgUpgradePath = QStandardPaths::findExecutable(QStringLiteral("pg_upgrade"), paths); defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data")); } @@ -162,20 +156,14 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) 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; - } + mServerPath = QLatin1String(NIXPKGS_POSTGRES_PG_CTL); qCDebug(AKONADISERVER_LOG) << "Found pg_ctl:" << mServerPath; mInitDbPath = settings.value(QStringLiteral("InitDbPath"), defaultInitDbPath).toString(); if (mInternalServer && mInitDbPath.isEmpty()) { 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()) { @@ -192,7 +180,6 @@ bool DbConfigPostgresql::init(QSettings &settings, bool storeSettings) 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(); -- 2.31.1