Subject: bug#40982: closed (Re: [bug#40982] gnu: spacefm: Fix privilege and disk management.)

From: [email-masked] (GNU bug Tracking System)
Date: Fri, 01 May 2020 12:16:02 +0000

Your bug report

#40982: gnu: spacefm: Fix privilege and disk management.

which was filed against the guix-patches package, has been closed.

The explanation is attached below, along with your original report.
If you require more details, please reply to [email-masked].

-- 
40982: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=40982
GNU Bug Tracking System
Contact [email-masked] with problems

Subject: Re: [bug#40982] gnu: spacefm: Fix privilege and disk management.
From: Danny Milosavljevic <[email-masked]>
To: Raghav Gururajan <[email-masked]>
Cc: [email-masked]
Date: Fri, 1 May 2020 14:15:42 +0200
List-Id: <debbugs-submit.debbugs.gnu.org>

Pushed to guix master as commit 53e8b852e90ec91e66172ad49f019955d7137eb1
with changes to commit message (to use our convention of change metdata logging).

Ignored src/vfs/vfs-file-task.c /usr/bin/sudo since it is not used.

Subject: gnu: spacefm: Fix privilege and disk management.
From: Raghav Gururajan <[email-masked]>
To: [email-masked]
Date: Thu, 30 Apr 2020 09:46:39 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

>From 3bad3e31dd0076e6ad87ee4e2045acd744768601 Mon Sep 17 00:00:00 2001
From: Raghav Gururajan <[email-masked]>
Date: Thu, 30 Apr 2020 09:44:32 -0400
Subject: [PATCH] gnu: spacefm: Fix privilege and disk management.

Patched references to sudo, ktsuss and udevil; to load them correctly.

* gnu/packages/lxde.scm (spacefm): Fix privilege and disk management.
---
 gnu/packages/lxde.scm | 34 +++++++++++++++++++++++++++-------
 1 file changed, 27 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/lxde.scm b/gnu/packages/lxde.scm
index 9de96a21cb..a52e403106 100644
--- a/gnu/packages/lxde.scm
+++ b/gnu/packages/lxde.scm
@@ -27,6 +27,7 @@
 
 (define-module (gnu packages lxde)
   #:use-module (gnu packages)
+  #:use-module (gnu packages admin)
   #:use-module (gnu packages autotools)
   #:use-module (gnu packages bash)
   #:use-module (gnu packages disk)
@@ -279,7 +280,6 @@ with freedesktop.org standard.")
      `(("bash" ,bash)
        ("cairo" ,cairo)
        ("curlftpfs" ,curlftpfs)
-       ("dbus" ,dbus)
        ("eudev" ,eudev)
        ("fakeroot" ,fakeroot)
        ("ffmpegthumbnailer" ,ffmpegthumbnailer)
@@ -288,6 +288,7 @@ with freedesktop.org standard.")
        ("gtk+" ,gtk+)
        ("ifuse" ,ifuse)
        ("jmtpfs" ,jmtpfs)
+       ("ktsuss" ,ktsuss)
        ("libx11" ,libx11)
        ("lsof" ,lsof)
        ("pango" ,pango)
@@ -297,12 +298,31 @@ with freedesktop.org standard.")
        ("util-linux" ,util-linux)
        ("wget" ,wget)))
     (arguments
-     `(#:configure-flags (list (string-append "--with-bash-path="
-                                              (assoc-ref %build-inputs "bash")
-                                              "/bin/bash")
-                               (string-append "--sysconfdir="
-                                              (assoc-ref %outputs "out")
-                                              "/etc"))))
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'patch-source-files
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; Patch config file to load programs correctly.
+             (substitute* "etc/spacefm.conf"
+               (("#terminal_su=/bin/su")
+                "terminal_su=/run/setuid-programs/sudo")
+               (("#graphical_su=/usr/bin/gksu")
+                (string-append "graphical_su="
+                               (string-append (assoc-ref inputs "ktsuss")
+                                              "/bin/ktsuss"))))
+             ;; SpaceFM expects udevil to have uid set to root.
+             ;; User has to manually add udevil to setuid-programs.
+             (substitute* "src/settings.c"
+               (("/usr/bin/udevil")
+                "/run/setuid-programs/udevil"))
+             #t)))
+       #:configure-flags (list
+                          (string-append "--with-bash-path="
+                                         (assoc-ref %build-inputs "bash")
+                                         "/bin/bash")
+                          (string-append "--sysconfdir="
+                                         (assoc-ref %outputs "out")
+                                         "/etc"))))
     (home-page "https://ignorantguru.github.io/spacefm/")
     (synopsis "Multi-panel tabbed file manager")
     (description "SpaceFM is a graphical, multi-panel, tabbed file manager
-- 
2.26.2