Index: akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp =================================================================== --- akonadi-17.04.0.orig/src/server/storage/dbconfigmysql.cpp +++ akonadi-17.04.0/src/server/storage/dbconfigmysql.cpp @@ -76,20 +76,11 @@ bool DbConfigMysql::init(QSettings &sett defaultServerPath = QStringLiteral(MYSQLD_EXECUTABLE); } #endif - const QStringList mysqldSearchPath = QStringList() - << QStringLiteral("/usr/bin") - << QStringLiteral("/usr/sbin") - << QStringLiteral("/usr/local/sbin") - << QStringLiteral("/usr/local/libexec") - << QStringLiteral("/usr/libexec") - << QStringLiteral("/opt/mysql/libexec") - << QStringLiteral("/opt/local/lib/mysql5/bin") - << QStringLiteral("/opt/mysql/sbin"); if (defaultServerPath.isEmpty()) { - defaultServerPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqld"), mysqldSearchPath); + defaultServerPath = QStringLiteral(NIXPKGS_MYSQL_MYSQLD); } - const QString mysqladminPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqladmin"), mysqldSearchPath); + const QString mysqladminPath = QStringLiteral(NIXPKGS_MYSQL_MYSQLADMIN); if (!mysqladminPath.isEmpty()) { #ifndef Q_OS_WIN defaultCleanShutdownCommand = QStringLiteral("%1 --defaults-file=%2/mysql.conf --socket=%3/mysql.socket shutdown") @@ -99,10 +90,10 @@ bool DbConfigMysql::init(QSettings &sett #endif } - mMysqlInstallDbPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysql_install_db"), mysqldSearchPath); + mMysqlInstallDbPath = QStringLiteral(NIXPKGS_MYSQL_MYSQL_INSTALL_DB); qCDebug(AKONADISERVER_LOG) << "Found mysql_install_db: " << mMysqlInstallDbPath; - mMysqlCheckPath = XdgBaseDirs::findExecutableFile(QStringLiteral("mysqlcheck"), mysqldSearchPath); + mMysqlCheckPath = QStringLiteral(NIXPKGS_MYSQL_MYSQLCHECK); qCDebug(AKONADISERVER_LOG) << "Found mysqlcheck: " << mMysqlCheckPath; mInternalServer = settings.value(QStringLiteral("QMYSQL/StartServer"), defaultInternalServer).toBool(); @@ -119,7 +110,7 @@ bool DbConfigMysql::init(QSettings &sett 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 = QStringLiteral(NIXPKGS_MYSQL_MYSQLD); mCleanServerShutdownCommand = settings.value(QStringLiteral("CleanServerShutdownCommand"), defaultCleanShutdownCommand).toString(); settings.endGroup(); @@ -196,7 +187,7 @@ bool DbConfigMysql::startInternalServer( #endif // generate config file - const QString globalConfig = XdgBaseDirs::findResourceFile("config", QStringLiteral("akonadi/mysql-global.conf")); + const QString globalConfig = QStringLiteral(NIX_OUT "/etc/xdg/akonadi/mysql-global.conf"); const QString localConfig = XdgBaseDirs::findResourceFile("config", QStringLiteral("akonadi/mysql-local.conf")); const QString actualConfig = StandardDirs::saveDir("data") + QLatin1String("/mysql.conf"); if (globalConfig.isEmpty()) { Index: akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp =================================================================== --- akonadi-17.04.0.orig/src/server/storage/dbconfigpostgresql.cpp +++ akonadi-17.04.0/src/server/storage/dbconfigpostgresql.cpp @@ -97,8 +97,8 @@ bool DbConfigPostgresql::init(QSettings } postgresSearchPath.append(postgresVersionedSearchPaths); - defaultServerPath = XdgBaseDirs::findExecutableFile(QStringLiteral("pg_ctl"), postgresSearchPath); - defaultInitDbPath = XdgBaseDirs::findExecutableFile(QStringLiteral("initdb"), postgresSearchPath); + defaultServerPath = QStringLiteral(NIXPKGS_POSTGRES_PG_CTL); + defaultInitDbPath = QStringLiteral(NIXPKGS_POSTGRES_INITDB); defaultHostName = Utils::preferredSocketDirectory(StandardDirs::saveDir("data", QStringLiteral("db_misc"))); defaultPgData = StandardDirs::saveDir("data", QStringLiteral("db_data")); } Index: akonadi-17.04.0/src/akonadicontrol/agentprocessinstance.cpp =================================================================== --- akonadi-17.04.0.orig/src/akonadicontrol/agentprocessinstance.cpp +++ akonadi-17.04.0/src/akonadicontrol/agentprocessinstance.cpp @@ -62,7 +62,7 @@ bool AgentProcessInstance::start(const A } else { Q_ASSERT(agentInfo.launchMethod == AgentType::Launcher); const QStringList arguments = QStringList() << executable << identifier(); - const QString agentLauncherExec = XdgBaseDirs::findExecutableFile(QStringLiteral("akonadi_agent_launcher")); + const QString agentLauncherExec = QStringLiteral(NIX_OUT "/bin/akonadi_agent_launcher"); mController->start(agentLauncherExec, arguments); } return true; Index: akonadi-17.04.0/src/akonadicontrol/agentmanager.cpp =================================================================== --- akonadi-17.04.0.orig/src/akonadicontrol/agentmanager.cpp +++ akonadi-17.04.0/src/akonadicontrol/agentmanager.cpp @@ -102,12 +102,12 @@ AgentManager::AgentManager(bool verbose, mStorageController = new Akonadi::ProcessControl; mStorageController->setShutdownTimeout(15 * 1000); // the server needs more time for shutdown if we are using an internal mysqld connect(mStorageController, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::serverFailure); - mStorageController->start(QStringLiteral("akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); + mStorageController->start(QStringLiteral(NIX_OUT "/bin/akonadiserver"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); if (mAgentServerEnabled) { mAgentServer = new Akonadi::ProcessControl; connect(mAgentServer, &Akonadi::ProcessControl::unableToStart, this, &AgentManager::agentServerFailure); - mAgentServer->start(QStringLiteral("akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); + mAgentServer->start(QStringLiteral(NIX_OUT "/bin/akonadi_agent_server"), serviceArgs, Akonadi::ProcessControl::RestartOnCrash); } #ifndef QT_NO_DEBUG