GNU bug report logs - #71795
[PATCH 0/2] Find fusermount in Go executables

Previous Next

Package: guix;

Reported by: Felix Lechner <felix.lechner <at> lease-up.com>

Date: Thu, 27 Jun 2024 12:37:02 UTC

Severity: normal

Tags: patch

To reply to this bug, email your comments to 71795 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guix <at> gnu.org:
bug#71795; Package guix. (Thu, 27 Jun 2024 12:37:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Felix Lechner <felix.lechner <at> lease-up.com>:
New bug report received and forwarded. Copy sent to bug-guix <at> gnu.org. (Thu, 27 Jun 2024 12:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Felix Lechner <felix.lechner <at> lease-up.com>
To: bug-guix <at> gnu.org
Cc: Felix Lechner <felix.lechner <at> lease-up.com>
Subject: [PATCH 0/2] Find fusermount in Go executables
Date: Thu, 27 Jun 2024 05:35:56 -0700
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





Information forwarded to bug-guix <at> gnu.org:
bug#71795; Package guix. (Thu, 27 Jun 2024 13:22:01 GMT) Full text and rfc822 format available.

Message #8 received at 71795 <at> debbugs.gnu.org (full text, mbox):

From: Felix Lechner <felix.lechner <at> lease-up.com>
To: 71795 <at> patchwise.org
Cc: Felix Lechner <felix.lechner <at> lease-up.com>
Subject: [PATCH 1/2] Find fusermount in Gocryptfs.
Date: Thu, 27 Jun 2024 06:20:39 -0700
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





Information forwarded to bug-guix <at> gnu.org:
bug#71795; Package guix. (Thu, 27 Jun 2024 13:22:02 GMT) Full text and rfc822 format available.

Message #11 received at 71795 <at> debbugs.gnu.org (full text, mbox):

From: Felix Lechner <felix.lechner <at> lease-up.com>
To: 71795 <at> patchwise.org
Cc: Felix Lechner <felix.lechner <at> lease-up.com>
Subject: [PATCH 2/2] Find fusermount in go-fuse.
Date: Thu, 27 Jun 2024 06:20:40 -0700
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





This bug report was last modified 112 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.