[bug][Windows][Installer][DBus] Install session.conf in the correct location where dbus-daemon will look for it.

Summary:
On Windows, libdbus will spawn dbus-daemon when swift tries to connect to the session bus.

The daemon looks for session.conf in the share directory.
This patch ensures session.conf is installed in that directory.

Fixes T79.

Reviewers: rwinklmeier

Reviewed By: rwinklmeier

Subscribers: jenkins

Tags: #swift_pilot_client

Maniphest Tasks: T79

Differential Revision: https://dev.swift-project.org/D22
This commit is contained in:
Mathew Sutcliffe
2017-05-14 15:01:49 +01:00
parent ff2687fbe9
commit 50b8fbe8fe
3 changed files with 6 additions and 17 deletions

View File

@@ -154,7 +154,7 @@ win32-g++ {
DBUS_CONFIG_SOURCE_DIR = $$SourceRoot
DBUS_CONFIG_FILES *= etc/dbus-1/*
dbus_config_target.path = $${PREFIX}/etc/dbus-1
dbus_config_target.path = $${PREFIX}/share/dbus-1
}
win32-msvc2015 {
@@ -169,7 +169,7 @@ win32-msvc2015 {
DBUS_CONFIG_SOURCE_DIR = $$SourceRoot
DBUS_CONFIG_FILES *= etc/dbus-1/*
dbus_config_target.path = $${PREFIX}/etc/dbus-1
dbus_config_target.path = $${PREFIX}/share/dbus-1
}
macx {
@@ -180,7 +180,7 @@ macx {
DBUS_CONFIG_SOURCE_DIR = /usr/local/share/dbus-1
DBUS_CONFIG_FILES *= session.conf
DBUS_CONFIG_FILES *= system.conf
dbus_config_target.path = $${PREFIX}/etc/dbus-1
dbus_config_target.path = $${PREFIX}/share/dbus-1
}
for (BINARY, DBUS_BINARIES) {

View File

@@ -63,17 +63,6 @@
</distributionFile>
</distributionFileList>
</folder>
<folder>
<description>etc</description>
<destination>${installdir}/</destination>
<name>etc</name>
<platforms>windows</platforms>
<distributionFileList>
<distributionDirectory>
<origin>../../dist/etc</origin>
</distributionDirectory>
</distributionFileList>
</folder>
<folder>
<description>lib</description>
<destination>${installdir}/lib</destination>

View File

@@ -105,9 +105,9 @@ namespace BlackMisc
void CDBusServer::launchDBusDaemon()
{
const QString program = QStringLiteral("dbus-daemon");
const QStringList arguments = { QStringLiteral("--config-file=../etc/dbus-1/session.conf") };
bool success = CProcessCtrl::startDetached(program, arguments, false);
static const QString program = QStringLiteral("dbus-daemon");
static const QStringList arguments = { QStringLiteral("--session") };
const bool success = CProcessCtrl::startDetached(program, arguments, false);
if (!success) { CLogMessage(this).error("Failed to launch dbus-daemon!"); }
}