mirror of
https://gitlab.linphone.org/BC/public/linphone-desktop.git
synced 2026-04-24 06:18:31 +00:00
Fix
This commit is contained in:
parent
8365ae1c10
commit
cf91c6b139
5 changed files with 22 additions and 23 deletions
|
|
@ -224,7 +224,8 @@ endforeach()
|
||||||
# CRASHPAD
|
# CRASHPAD
|
||||||
################################################################
|
################################################################
|
||||||
|
|
||||||
if (ENABLE_CRASH_HANDLER)
|
# In a first time, set-up only crashpad for Windows and Linux
|
||||||
|
if (ENABLE_CRASH_HANDLER AND NOT APPLE) # TODO : peut-être que windows
|
||||||
|
|
||||||
find_package(Python3 REQUIRED)
|
find_package(Python3 REQUIRED)
|
||||||
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
|
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
|
||||||
|
|
@ -264,24 +265,10 @@ if (ENABLE_CRASH_HANDLER)
|
||||||
|
|
||||||
# Sync crashpad repo content with gclient
|
# Sync crashpad repo content with gclient
|
||||||
##########################################
|
##########################################
|
||||||
# set(GCLIENT_SPEC "solutions = [{\\\"name\\\": \\\"crashpad\\\", \\\"url\\\": \\\"https://chromium.googlesource.com/crashpad/crashpad\\\", \\\"managed\\\": False}]")
|
|
||||||
|
|
||||||
# execute_process(
|
|
||||||
# COMMAND "${CMAKE_BINARY_DIR}/depot_tools/gclient" config "--spec=${GCLIENT_SPEC}"
|
|
||||||
# ENVIRONMENT "PATH=${CMAKE_BINARY_DIR}/depot_tools:$ENV{PATH}"
|
|
||||||
# WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
|
|
||||||
# RESULT_VARIABLE gclient_config_result
|
|
||||||
# OUTPUT_VARIABLE gclient_config_output
|
|
||||||
# ERROR_VARIABLE gclient_config_error
|
|
||||||
# )
|
|
||||||
# if(gclient_config_result)
|
|
||||||
# message(FATAL_ERROR "Failed configuring crashpad with gclient: ${gclient_config_result} ${gclient_config_output} ${gclient_config_error}")
|
|
||||||
# endif()
|
|
||||||
# --- Write a .gclient file directly (avoid gclient config quoting issues) ---
|
# --- Write a .gclient file directly (avoid gclient config quoting issues) ---
|
||||||
set(GCLIENT_CONTENT "solutions = [{\"name\": \"crashpad\", \"url\": \"https://chromium.googlesource.com/crashpad/crashpad\", \"managed\": False}]")
|
set(GCLIENT_CONTENT "solutions = [{\"name\": \"crashpad\", \"url\": \"https://chromium.googlesource.com/crashpad/crashpad\", \"managed\": False}]")
|
||||||
|
|
||||||
file(WRITE "${CMAKE_BINARY_DIR}/.gclient" "${GCLIENT_CONTENT}\n")
|
file(WRITE "${CMAKE_BINARY_DIR}/.gclient" "${GCLIENT_CONTENT}\n")
|
||||||
message(STATUS "Wrote ${CMAKE_BINARY_DIR}/.gclient with content:\n${GCLIENT_CONTENT}")
|
message(STATUS "Wrote ${CMAKE_BINARY_DIR}/.gclient file")
|
||||||
|
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND "${DEPOT_TOOLS_DIR}/gclient" sync --nohooks --shallow
|
COMMAND "${DEPOT_TOOLS_DIR}/gclient" sync --nohooks --shallow
|
||||||
|
|
@ -331,7 +318,6 @@ if (ENABLE_CRASH_HANDLER)
|
||||||
execute_process(
|
execute_process(
|
||||||
# COMMAND ${CMAKE_BINARY_DIR}/gn/out/gn gen -C out
|
# COMMAND ${CMAKE_BINARY_DIR}/gn/out/gn gen -C out
|
||||||
COMMAND ${CMAKE_BINARY_DIR}/gn/out/gn gen out
|
COMMAND ${CMAKE_BINARY_DIR}/gn/out/gn gen out
|
||||||
# ENVIRONMENT "PATH=${CMAKE_BINARY_DIR}/depot_tools:$ENV{PATH}"
|
|
||||||
RESULT_VARIABLE crashpad_gen_result
|
RESULT_VARIABLE crashpad_gen_result
|
||||||
OUTPUT_VARIABLE crashpad_gen_output
|
OUTPUT_VARIABLE crashpad_gen_output
|
||||||
ERROR_VARIABLE crashpad_gen_error
|
ERROR_VARIABLE crashpad_gen_error
|
||||||
|
|
@ -345,8 +331,7 @@ if (ENABLE_CRASH_HANDLER)
|
||||||
# Build crashpad client
|
# Build crashpad client
|
||||||
##########################################
|
##########################################
|
||||||
execute_process(
|
execute_process(
|
||||||
COMMAND ninja -C out
|
COMMAND ninja -C out # Target install ?
|
||||||
# ENVIRONMENT "PATH=${CMAKE_BINARY_DIR}/depot_tools:$ENV{PATH}"
|
|
||||||
RESULT_VARIABLE crashpad_build_result
|
RESULT_VARIABLE crashpad_build_result
|
||||||
OUTPUT_VARIABLE crashpad_build_output
|
OUTPUT_VARIABLE crashpad_build_output
|
||||||
ERROR_VARIABLE crashpad_build_error
|
ERROR_VARIABLE crashpad_build_error
|
||||||
|
|
|
||||||
|
|
@ -139,6 +139,10 @@ static inline QString getAppPackagePluginsDirPath() {
|
||||||
return getAppPackageDir().absolutePath() + Constants::PathPlugins;
|
return getAppPackageDir().absolutePath() + Constants::PathPlugins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static inline QString getAppBinDirPath() {
|
||||||
|
return getAppPackageDir().absolutePath() + Constants::PathBin;
|
||||||
|
}
|
||||||
|
|
||||||
static inline QString getAppAssistantConfigDirPath() {
|
static inline QString getAppAssistantConfigDirPath() {
|
||||||
return getAppPackageDataDirPath() + Constants::PathAssistantConfig;
|
return getAppPackageDataDirPath() + Constants::PathAssistantConfig;
|
||||||
}
|
}
|
||||||
|
|
@ -342,6 +346,10 @@ QString Paths::getZrtpSecretsFilePath() {
|
||||||
Constants::PathZrtpSecrets);
|
Constants::PathZrtpSecrets);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QString Paths::getCrashpadHandlerBinFilePath() {
|
||||||
|
return getAppBinDirPath() + Constants::PathCrashpadHandler;
|
||||||
|
}
|
||||||
|
|
||||||
// -----------------------------------------------------------------------------
|
// -----------------------------------------------------------------------------
|
||||||
|
|
||||||
void Paths::migrate() {
|
void Paths::migrate() {
|
||||||
|
|
|
||||||
|
|
@ -57,6 +57,7 @@ QString getToolsDirPath();
|
||||||
QString getUserCertificatesDirPath();
|
QString getUserCertificatesDirPath();
|
||||||
QString getZrtpDataFilePath();
|
QString getZrtpDataFilePath();
|
||||||
QString getZrtpSecretsFilePath();
|
QString getZrtpSecretsFilePath();
|
||||||
|
QString getCrashpadHandlerBinFilePath();
|
||||||
|
|
||||||
void migrate();
|
void migrate();
|
||||||
} // namespace Paths
|
} // namespace Paths
|
||||||
|
|
|
||||||
|
|
@ -69,11 +69,12 @@ int main(int argc, char *argv[]) {
|
||||||
lDebug() << "[Main] Creating application";
|
lDebug() << "[Main] Creating application";
|
||||||
auto app = QSharedPointer<App>::create(argc, argv);
|
auto app = QSharedPointer<App>::create(argc, argv);
|
||||||
|
|
||||||
|
#ifndef APPLE // In a first time, set-up only crashpad for Windows and Linux
|
||||||
// Set up Crashpad
|
// Set up Crashpad
|
||||||
std::vector<std::string> arguments;
|
std::vector<std::string> arguments;
|
||||||
|
|
||||||
base::FilePath handler_path("/home/parallels/Projects/linphone-desktop/build/" // TODO change this
|
base::FilePath handler_path(
|
||||||
"crashpad/out/crashpad_handler");
|
Utils::appStringToCoreString(Paths::getCrashpadHandlerBinFilePath())); // Aller le chercher dans bin
|
||||||
base::FilePath database_path(Utils::appStringToCoreString(Paths::getLogsDirPath()));
|
base::FilePath database_path(Utils::appStringToCoreString(Paths::getLogsDirPath()));
|
||||||
base::FilePath metrics_path(Utils::appStringToCoreString(Paths::getMetricsDirPath()));
|
base::FilePath metrics_path(Utils::appStringToCoreString(Paths::getMetricsDirPath()));
|
||||||
|
|
||||||
|
|
@ -82,14 +83,15 @@ int main(int argc, char *argv[]) {
|
||||||
annotations["version"] = (Utils::appStringToCoreString(app->getShortApplicationVersion()));
|
annotations["version"] = (Utils::appStringToCoreString(app->getShortApplicationVersion()));
|
||||||
|
|
||||||
crashpad::CrashpadClient crashpad_client;
|
crashpad::CrashpadClient crashpad_client;
|
||||||
if (!crashpad_client.StartHandler(handler_path, database_path, metrics_path,
|
if (!crashpad_client.StartHandler(handler_path, database_path, metrics_path, Constants::DefaultUploadLogsServer,
|
||||||
"https://files.linphone.org:443/http-file-transfer-server/hft.php", annotations,
|
annotations, // TODO use core->getLogCollectionUploadServerUrl
|
||||||
arguments, true, true, {})) {
|
arguments, true, true, {})) {
|
||||||
lWarning() << "Failed to start Crashpad handler. Crashes will not be logged.";
|
lWarning() << "Failed to start Crashpad handler. Crashes will not be logged.";
|
||||||
} else {
|
} else {
|
||||||
lDebug() << "Started Crashpad handler";
|
lDebug() << "Started Crashpad handler";
|
||||||
}
|
}
|
||||||
// End set up crashpad
|
// End set up crashpad
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef ACCESSBILITY_WORKAROUND
|
#ifdef ACCESSBILITY_WORKAROUND
|
||||||
QAccessible::installUpdateHandler(DummyUpdateHandler);
|
QAccessible::installUpdateHandler(DummyUpdateHandler);
|
||||||
|
|
|
||||||
|
|
@ -153,9 +153,12 @@ public:
|
||||||
static constexpr char PathPlugins[] = "/plugins/";
|
static constexpr char PathPlugins[] = "/plugins/";
|
||||||
#endif
|
#endif
|
||||||
static constexpr char PathPluginsApp[] = "app/";
|
static constexpr char PathPluginsApp[] = "app/";
|
||||||
|
static constexpr char PathBin[] = "/bin/";
|
||||||
static constexpr char PathSounds[] = "/sounds/linphone";
|
static constexpr char PathSounds[] = "/sounds/linphone";
|
||||||
static constexpr char PathUserCertificates[] = "/usr-crt/";
|
static constexpr char PathUserCertificates[] = "/usr-crt/";
|
||||||
|
|
||||||
|
static constexpr char PathCrashpadHandler[] = "crashpad_handler";
|
||||||
|
|
||||||
static constexpr char PathCallHistoryList[] = "/call-history.db";
|
static constexpr char PathCallHistoryList[] = "/call-history.db";
|
||||||
static constexpr char PathConfig[] = "/linphonerc";
|
static constexpr char PathConfig[] = "/linphonerc";
|
||||||
static constexpr char PathDatabase[] = "/linphone.db";
|
static constexpr char PathDatabase[] = "/linphone.db";
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue