kdePackages.kio: resolve full paths to executables from the caller

We can't rely on systemd here because it doesn't have PATH.
This commit is contained in:
K900 2024-06-12 14:03:11 +03:00
parent 2279c02ec5
commit 0ff2232bdb
2 changed files with 16 additions and 1 deletions

View File

@ -10,8 +10,10 @@ mkKdeDerivation {
patches = [
# Remove hardcoded smbd search path
# FIXME(later): discuss with upstream?
./0001-Remove-impure-smbd-search-path.patch
# When running a process through systemd, resolve the full path ourselves
./early-resolve-executables.diff
# FIXME(later): discuss with upstream?
];
extraBuildInputs = [qt5compat qttools acl attr];

View File

@ -0,0 +1,13 @@
diff --git a/src/gui/systemd/systemdprocessrunner.cpp b/src/gui/systemd/systemdprocessrunner.cpp
index afe3e2c69..5e5ee012d 100644
--- a/src/gui/systemd/systemdprocessrunner.cpp
+++ b/src/gui/systemd/systemdprocessrunner.cpp
@@ -128,7 +128,7 @@ void SystemdProcessRunner::startProcess()
// so we can be notified (see https://github.com/systemd/systemd/pull/3984)
{QStringLiteral("Environment"), m_process->environment()},
{QStringLiteral("WorkingDirectory"), m_process->workingDirectory()},
- {QStringLiteral("ExecStart"), QVariant::fromValue(ExecCommandList{{m_process->program().first(), m_process->program(), false}})},
+ {QStringLiteral("ExecStart"), QVariant::fromValue(ExecCommandList{{QStandardPaths::findExecutable(m_process->program().first()), m_process->program(), false}})},
},
{} // aux is currently unused and should be passed as empty array.
);