unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: maxim.cournoyer@gmail.com
To: Maxim Cournoyer <maxim.cournoyer@gmail.com>
Cc: Nathan Dehnel <ncdehnel@gmail.com>, 39670@debbugs.gnu.org
Subject: bug#39670: Cannot mount NFS share as user or root
Date: Thu, 20 Feb 2020 11:25:37 -0500	[thread overview]
Message-ID: <87v9o18bum.fsf@raisin.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <87o8tvwpfk.fsf@gmail.com> (Maxim Cournoyer's message of "Tue, 18 Feb 2020 16:33:51 -0500")

Hello,

Maxim Cournoyer <maxim.cournoyer@gmail.com> writes:
>
> I encountered this too.  Perhaps we should patch some references to
> mount.nfs (from nfs-utils) in the util-linux package which provides
> 'mount'.
>
> In the meantime, you should use "mount.nfs" directly.

I've looked into patching util-linux to reference explicitly the
mount.nfs helper, and I think this should do it:

--8<---------------cut here---------------start------------->8---
modified   libmount/src/context.c
@@ -1939,8 +1939,13 @@ int mnt_context_prepare_helper(struct libmnt_context *cxt, const char *name,
 		struct stat st;
 		int rc;
 
-		rc = snprintf(helper, sizeof(helper), "%s/%s.%s",
-						path, name, type);
+		if (startswith(type, "nfs")) {
+		  rc = snprintf(helper, sizeof(helper), "/gnu/store/c7kpr1jh5z3mrkz0yw9am86851y57cq7-nfs-utils-2.4.2/sbin/mount.nfs");
+		} else {
+		  rc = snprintf(helper, sizeof(helper), "%s/%s.%s",
+				path, name, type);
+		}
+
 		path = strtok_r(NULL, ":", &p);
 
 		if (rc < 0 || (size_t) rc >= sizeof(helper))

--8<---------------cut here---------------end--------------->8---

But, adding nfs-utils to util-linux creates a dependency cycle which is
bothersome to resolve (nfs-utils requires eudev through lvm2, as well as
util-linux itself).

I've also realised that when I was using 'sudo mount.nfs ...' it
wouldn't work because it'd look up the root user's PATH for the helper.
'sudo -E mount.nfs ...' should work.

We should document that the 'nfs-utils' package needs to be added to the
operating system declaration packages field when NFS file systems are
used.

Maxim

  parent reply	other threads:[~2020-02-20 16:26 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAEEhgEsz+aka+h8P8RN56ochGf_fBeSegj6LOPVkxdwoSHB6oQ@mail.gmail.com>
2020-02-18 21:33 ` bug#39670: Cannot mount NFS share as user or root Maxim Cournoyer
2020-02-18 21:43   ` Nathan Dehnel
2020-02-18 22:43     ` Maxim Cournoyer
2020-02-20 16:25   ` maxim.cournoyer [this message]
2020-05-28  3:11     ` Maxim Cournoyer
     [not found]       ` <CAEEhgEt109hcO1STeYv8rWT1hcn+K+JK-AO_1jvP6hJv8etf5w@mail.gmail.com>
     [not found]         ` <87y2kzvmc2.fsf@gmail.com>
     [not found]           ` <CAEEhgEtAeoxDcNQdR4BHx+9BCZq=9w5-A+Y0-J1L6Jf8rfFKkA@mail.gmail.com>
2020-09-25  1:53             ` Maxim Cournoyer
2020-10-01 19:49               ` Maxim Cournoyer
2020-10-02 23:08                 ` Nathan Dehnel
2020-10-13  3:22                   ` Maxim Cournoyer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87v9o18bum.fsf@raisin.i-did-not-set--mail-host-address--so-tickle-me \
    --to=maxim.cournoyer@gmail.com \
    --cc=39670@debbugs.gnu.org \
    --cc=ncdehnel@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).