aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/development/libraries/kde-frameworks/kdesu/kdesu-search-for-wrapped-daemon-first.patch
blob: f82bf828e8e9ee6194c8ae4062780a813787c81c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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()) {
-            qCWarning(KSU_LOG) << "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()) {
+                qCWarning(KSU_LOG) << "kdesud daemon not found.";
+            }
         }
     }
     return daemon;
-- 
2.27.0