From 68eb983b5df4ffae704b38a19149478e0f5f0f9e Mon Sep 17 00:00:00 2001 From: Cristian Adam Date: Mon, 19 Dec 2022 16:34:13 +0000 Subject: [PATCH] Revert "Utils: Remove some fallback code that uses a full remote env" This reverts commit 192605f01c307d8882e8f2e387841017da3986cf. Reason for revert: breaks tst_utils_deviceshell Change-Id: Iafae2aa8da09c23746dccd170e10ea07ffb71ed3 Reviewed-by: Reviewed-by: hjk --- src/libs/utils/qtcprocess.cpp | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/libs/utils/qtcprocess.cpp b/src/libs/utils/qtcprocess.cpp index 06b47940722..96785bf2781 100644 --- a/src/libs/utils/qtcprocess.cpp +++ b/src/libs/utils/qtcprocess.cpp @@ -659,6 +659,22 @@ public: return rootCommand; } + Environment fullEnvironment() const + { + Environment env = m_setup.m_environment; + if (!env.isValid()) { +// FIXME: Either switch to using EnvironmentChange instead of full Environments, or +// feed the full environment into the QtcProcess instead of fixing it up here. +// qWarning("QtcProcess::start: Empty environment set when running '%s'.", +// qPrintable(m_setup.m_commandLine.executable().toString())); + env = m_setup.m_commandLine.executable().deviceEnvironment(); + } + // TODO: needs SshSettings + // if (m_runAsRoot) + // RunControl::provideAskPassEntry(env); + return env; + } + QtcProcess *q; std::unique_ptr m_blockingInterface; std::unique_ptr m_process; @@ -1091,7 +1107,7 @@ void QtcProcess::start() d->m_state = QProcess::Starting; d->m_process->m_setup = d->m_setup; d->m_process->m_setup.m_commandLine = d->fullCommandLine(); - d->m_process->m_setup.m_environment = d->m_setup.m_environment; + d->m_process->m_setup.m_environment = d->fullEnvironment(); d->emitGuardedSignal(&QtcProcess::starting); d->m_process->start(); }