all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#71795: [PATCH 0/2] Find fusermount in Go executables
@ 2024-06-27 12:35 Felix Lechner via Bug reports for GNU Guix
  2024-06-27 13:20 ` bug#71795: [PATCH 1/2] Find fusermount in Gocryptfs Felix Lechner via Bug reports for GNU Guix
  2024-06-27 13:20 ` bug#71795: [PATCH 2/2] Find fusermount in go-fuse Felix Lechner via Bug reports for GNU Guix
  0 siblings, 2 replies; 3+ messages in thread
From: Felix Lechner via Bug reports for GNU Guix @ 2024-06-27 12:35 UTC (permalink / raw)
  To: 71795; +Cc: Felix Lechner

Go-fuse requires the setuid version of Fusermount.  Relying on PATH is not
acceptable in all situations, especially not when mounts are executed
automatically as part of PAM.

This patch is similar to this one for OpenSMTPd. [1]

[1] https://patchwise.org/71613

Felix Lechner (2):
  Find fusermount in Gocryptfs.
  Find fusermount in go-fuse.

 gnu/packages/file-systems.scm |  7 +++++++
 gnu/packages/golang.scm       | 14 +++++++++++++-
 2 files changed, 20 insertions(+), 1 deletion(-)


base-commit: 71c678a16aae416298a0e3fa322b425315bb7b00
-- 
2.41.0





^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#71795: [PATCH 1/2] Find fusermount in Gocryptfs.
  2024-06-27 12:35 bug#71795: [PATCH 0/2] Find fusermount in Go executables Felix Lechner via Bug reports for GNU Guix
@ 2024-06-27 13:20 ` Felix Lechner via Bug reports for GNU Guix
  2024-06-27 13:20 ` bug#71795: [PATCH 2/2] Find fusermount in go-fuse Felix Lechner via Bug reports for GNU Guix
  1 sibling, 0 replies; 3+ messages in thread
From: Felix Lechner via Bug reports for GNU Guix @ 2024-06-27 13:20 UTC (permalink / raw)
  To: 71795; +Cc: Felix Lechner

Change-Id: I43eb135c0b2a89575174a391c047d07907b0b930
---
 gnu/packages/file-systems.scm | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gnu/packages/file-systems.scm b/gnu/packages/file-systems.scm
index fa7da35898..8edfc349c3 100644
--- a/gnu/packages/file-systems.scm
+++ b/gnu/packages/file-systems.scm
@@ -518,6 +518,11 @@ (define-public gocryptfs
       #~(modify-phases %standard-phases
           ;; after 'check phase, should maybe unmount leftover mounts as in
           ;; https://github.com/rfjakob/gocryptfs/blob/a55b3cc15a6d9bce116a90f33df4bc99d9dd6a10/test.bash#L28
+          (add-after 'unpack 'fix-paths
+            (lambda* (#:key inputs #:allow-other-keys)
+              (let* ((fusermount3 "/run/setuid-programs/fusermount3"))
+                (substitute* "src/github.com/rfjakob/gocryptfs/mount.go"
+                  (("/bin/fusermount") fusermount3)))))
           (replace 'build
             (lambda arguments
               (for-each
@@ -547,6 +552,8 @@ (define-public gocryptfs
                     go-golang-org-x-term
                     openssl
                     pkg-config))
+    (inputs (list
+             fuse))
     (home-page "https://github.com/rfjakob/gocryptfs")
     (synopsis "Encrypted overlay filesystem")
     (description
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 3+ messages in thread

* bug#71795: [PATCH 2/2] Find fusermount in go-fuse.
  2024-06-27 12:35 bug#71795: [PATCH 0/2] Find fusermount in Go executables Felix Lechner via Bug reports for GNU Guix
  2024-06-27 13:20 ` bug#71795: [PATCH 1/2] Find fusermount in Gocryptfs Felix Lechner via Bug reports for GNU Guix
@ 2024-06-27 13:20 ` Felix Lechner via Bug reports for GNU Guix
  1 sibling, 0 replies; 3+ messages in thread
From: Felix Lechner via Bug reports for GNU Guix @ 2024-06-27 13:20 UTC (permalink / raw)
  To: 71795; +Cc: Felix Lechner

Change-Id: I8cf7feb8c31f4ea4afec7698ab1b3d5731d7ab8e
---
 gnu/packages/golang.scm | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/golang.scm b/gnu/packages/golang.scm
index e090bc1210..d6acddbcce 100644
--- a/gnu/packages/golang.scm
+++ b/gnu/packages/golang.scm
@@ -88,6 +88,7 @@ (define-module (gnu packages golang)
   #:use-module (gnu packages golang-crypto)
   #:use-module (gnu packages golang-web)
   #:use-module (gnu packages golang-xyz)
+  #:use-module (gnu packages linux)
   #:use-module (gnu packages lua)
   #:use-module (gnu packages mail)
   #:use-module (gnu packages mp3)
@@ -1417,11 +1418,22 @@ (define-public go-github-com-hanwen-go-fuse-v2
                   "1ik0yvs9m40vxccpb0rpxc22fyqmcgyysc7w0yl9kn3jyr6qa1d5"))))
       (build-system go-build-system)
       (arguments
-       '(#:import-path "github.com/hanwen/go-fuse/v2"))
+       (list
+        #:import-path "github.com/hanwen/go-fuse/v2"
+        #:phases
+        #~(modify-phases %standard-phases
+            (add-after 'unpack 'fix-paths
+              (lambda* (#:key inputs #:allow-other-keys)
+                (let* ((fusermount3 "/run/setuid-programs/fusermount3"))
+                  (substitute* "src/github.com/hanwen/go-fuse/v2/fuse/mount_linux.go"
+                    (("bin, err := fusermountBinary[(][)]")
+                     (format #f "bin, err := ~s, nil" fusermount3)))))))))
       (native-inputs (list
                       go-golang-org-x-sys
                       go-golang-org-x-sync
                       go-github-com-kylelemons-godebug))
+      (inputs (list
+               fuse))
       (home-page "https://github.com/hanwen/go-fuse")
       (synopsis "Go bindings for FUSE filesystems")
       (description
-- 
2.41.0





^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-06-27 13:22 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-06-27 12:35 bug#71795: [PATCH 0/2] Find fusermount in Go executables Felix Lechner via Bug reports for GNU Guix
2024-06-27 13:20 ` bug#71795: [PATCH 1/2] Find fusermount in Gocryptfs Felix Lechner via Bug reports for GNU Guix
2024-06-27 13:20 ` bug#71795: [PATCH 2/2] Find fusermount in go-fuse Felix Lechner via Bug reports for GNU Guix

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.