kde-frameworks.kdesu: search the daemon first in /run/wrappers/bin
If looking first in libexec, the eventually wrapped one in /run/wrappers/bin can not be found. This allows wrapping the daemon so that it can be run with sgid privileges.
This commit is contained in:
parent
77c720713d
commit
75d34dcbb3
2 changed files with 39 additions and 0 deletions
|
@ -0,0 +1,38 @@
|
||||||
|
From 01af4d2a098e5819c09bca37568941dcd4b89d0b Mon Sep 17 00:00:00 2001
|
||||||
|
From: =?UTF-8?q?Jos=C3=A9=20Romildo=20Malaquias?= <malaquias@gmail.com>
|
||||||
|
Date: Thu, 16 Jul 2020 13:21:42 -0300
|
||||||
|
Subject: [PATCH] Search for the daemon first in /run/wrappers/bin
|
||||||
|
|
||||||
|
If looking first in libexec, the eventually wrapped one in
|
||||||
|
/run/wrappers/bin can not be found.
|
||||||
|
---
|
||||||
|
src/client.cpp | 13 ++++++++-----
|
||||||
|
1 file changed, 8 insertions(+), 5 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/src/client.cpp b/src/client.cpp
|
||||||
|
index 44fbacd..6b5abf5 100644
|
||||||
|
--- a/src/client.cpp
|
||||||
|
+++ b/src/client.cpp
|
||||||
|
@@ -378,11 +378,14 @@ int KDEsuClient::stopServer()
|
||||||
|
|
||||||
|
static QString findDaemon()
|
||||||
|
{
|
||||||
|
- QString daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
|
||||||
|
- if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
|
||||||
|
- daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
|
||||||
|
- if (daemon.isEmpty()) {
|
||||||
|
- qWarning() << "kdesud daemon not found.";
|
||||||
|
+ QString daemon = QFile::decodeName("/run/wrappers/bin/kdesud");
|
||||||
|
+ if (!QFile::exists(daemon)) { // if not in wrappers
|
||||||
|
+ daemon = QFile::decodeName(CMAKE_INSTALL_FULL_LIBEXECDIR_KF5 "/kdesud");
|
||||||
|
+ if (!QFile::exists(daemon)) { // if not in libexec, find it in PATH
|
||||||
|
+ daemon = QStandardPaths::findExecutable(QStringLiteral("kdesud"));
|
||||||
|
+ if (daemon.isEmpty()) {
|
||||||
|
+ qWarning() << "kdesud daemon not found.";
|
||||||
|
+ }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return daemon;
|
||||||
|
--
|
||||||
|
2.27.0
|
||||||
|
|
|
@ -11,4 +11,5 @@ mkDerivation {
|
||||||
buildInputs = [ kcoreaddons ki18n kpty kservice qtbase ];
|
buildInputs = [ kcoreaddons ki18n kpty kservice qtbase ];
|
||||||
propagatedBuildInputs = [ kpty ];
|
propagatedBuildInputs = [ kpty ];
|
||||||
outputs = [ "out" "dev" ];
|
outputs = [ "out" "dev" ];
|
||||||
|
patches = [ ./kdesu-search-for-wrapped-daemon-first.patch ];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue