summary refs log tree commit diff
path: root/gnu/packages/patches/kio-search-smbd-on-PATH.patch
blob: 47e20cfc0bfc051608e0fe6983874e3f35e53d43 (plain) (blame)
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
Adopted from NixOS
pkgs/development/libraries/kde-frameworks/kio/samba-search-path.patch

===================================================================
--- kio-5.17.0.orig/src/core/ksambashare.cpp
+++ kio-5.17.0/src/core/ksambashare.cpp
@@ -67,13 +67,18 @@ KSambaSharePrivate::~KSambaSharePrivate(
 
 bool KSambaSharePrivate::isSambaInstalled()
 {
-    if (QFile::exists(QStringLiteral("/usr/sbin/smbd"))
-            || QFile::exists(QStringLiteral("/usr/local/sbin/smbd"))) {
-        return true;
+    const QByteArray pathEnv = qgetenv("PATH");
+    if (!pathEnv.isEmpty()) {
+        QLatin1Char pathSep(':');
+        QStringList paths = QFile::decodeName(pathEnv).split(pathSep, QString::SkipEmptyParts);
+        for (QStringList::iterator it = paths.begin(); it != paths.end(); ++it) {
+            it->append("/smbd");
+            if (QFile::exists(*it)) {
+                return true;
+            }
+        }
     }
 
-    //qDebug() << "Samba is not installed!";
-
     return false;
 }