guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: gnu: udevil: Fix loading of setuid-programs.


From: guix-commits
Subject: branch master updated: gnu: udevil: Fix loading of setuid-programs.
Date: Fri, 01 May 2020 10:38:33 -0400

This is an automated email from the git hooks/post-receive script.

dannym pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 8546f4d  gnu: udevil: Fix loading of setuid-programs.
8546f4d is described below

commit 8546f4da5b3677001dbda6b3a116f5bdc44ea5c0
Author: Raghav Gururajan <address@hidden>
AuthorDate: Tue Apr 28 02:29:36 2020 -0400

    gnu: udevil: Fix loading of setuid-programs.
    
    * gnu/packages/disk.scm (udevil)[arguments]<#:configure-flags>: Add
    "--with-mount-prog", "--with-umount-prog", "--with-losetup-prog",
    "--with-setfacl-prog".
    [arguments]<#:phases>[patch-udevil-reference]: New phase.
    
    Signed-off-by: Danny Milosavljevic <address@hidden>
---
 gnu/packages/disk.scm | 26 ++++++++++++++++++++++----
 1 file changed, 22 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index b7d3b9d..2b9ba8e 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -103,16 +103,34 @@
     (build-system gnu-build-system)
     (arguments
      `(#:configure-flags
-       (list "--disable-systemd"
-             (string-append "--sysconfdir="
-                            (assoc-ref %outputs "out")
-                            "/etc"))
+       (list
+        "--disable-systemd"
+        (string-append "--sysconfdir="
+                       (assoc-ref %outputs "out")
+                       "/etc")
+        ;; udevil expects these programs to be run with uid set as root.
+        ;; user has to manually add these programs to setuid-programs.
+        ;; mount and umount are default setuid-programs in guix system.
+        "--with-mount-prog=/run/setuid-programs/mount"
+        "--with-umount-prog=/run/setuid-programs/umount"
+        "--with-losetup-prog=/run/setuid-programs/losetup"
+        "--with-setfacl-prog=/run/setuid-programs/setfacl")
        #:phases
        (modify-phases %standard-phases
          (add-after 'unpack 'remove-root-reference
            (lambda _
              (substitute* "src/Makefile.in"
                (("-o root -g root") ""))
+             #t))
+         (add-after 'unpack 'patch-udevil-reference
+           ;; udevil expects itself to be run with uid set as root.
+           ;; devmon also expects udevil to be run with uid set as root.
+           ;; user has to manually add udevil to setuid-programs.
+           (lambda _
+             (substitute* "src/udevil.c"
+               (("/usr/bin/udevil") "/run/setuid-programs/udevil"))
+             (substitute* "src/devmon"
+               (("`which udevil 2>/dev/null`") "/run/setuid-programs/udevil"))
              #t)))))
     (native-inputs
      `(("intltool" ,intltool)



reply via email to

[Prev in Thread] Current Thread [Next in Thread]